flex布局常用属性 flex弹性布局样式字体如何实现
- 数据库
- 2023-08-13
- 94
这篇文章给大家聊聊关于flex布局常用属性,以及flex弹性布局样式字体如何实现对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。css中基本布局css中基本的布局...
这篇文章给大家聊聊关于flex布局常用属性,以及flex弹性布局样式字体如何实现对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
css中基本布局
css中基本的布局方式有以下几种:
1、静态布局
最传统的布局方式,网页中所有尺寸都是由px作为单位,设置了min-width,如果宽度小于就会出现滚动条,如果大于这个宽度则内容居中外加背景
2、自适应布局
可以看成是不同屏幕下由多个静态布局组成的。自适应布局是为不同的屏幕分辨率分别定义不同的布局。改变屏幕分辨率可以切换不同的静态布局(页面元素位置可能发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。
自适应布局页面里面元素的位置会变化,很好的解决了流式布局中的大屏空间利用率不高弊端。屏幕分辨率变化时,页面里面元素的位置会变化而大小不会变化。
3、流式布局(又别名百分比布局%)
网页中主要的划分区域的尺寸使用百分数(搭配min-*、max-*属性使用),分别为不同的屏幕设置布局格式,当屏幕大小改变时,会出现不同的布局。
意思就是在这个屏幕下这个元素块在这个地方,但是在那个屏幕下,这个元素块又会出现在那个地方。只是布局改变,元素不变。可以看成是不同屏幕下由多个静态布局组成的。
4、响应式布局:媒体查询
通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。屏幕尺寸不一样展示给用户的网页内容也不一样.利用媒体查询可以检测到屏幕的尺寸(主要检测宽度),并设置不同的CSS样式,就可以实现响应式的布局。主要依靠是css的媒体查询。
每个屏幕分辨率下面会有一个布局样式,即元素位置和大小都会变。
5、弹性布局(rem/emflex布局)
html中flex布局在什么时候用
flex布局在使用弹性布局的时候可以使用。
flex布局怎么让盒子垂直水平居中
我们这里分为两种形式,一种是定元素宽高的情况下,另一种是不定元素宽高的情况下。
定元素宽高的情况下
a.绝对定位+负margin
利用绝对定位absolute和margin完成元素居中,具体例子如下:
给父元素添加相对定位,子元素添加绝对定位,利用margin负子元素宽高的一半,实现元素的居中,这种方法不常用,
优点:好理解,兼容性好
缺点:必需给定子元素的宽高
b.绝对定位+margin:auto
利用absolute绝对定位和margin:auto自动居中方法完成元素的居中,例子如下:
与上例子一样给父元素加相对定位,子元素添加绝对定位,在设置元素的左、右、上、下位置为零,再利用自动居中对齐的方法margin:auto,完成元素的垂直水平居中,这种方法常用
优点:简单易懂,兼容性好
缺点:代码量大,占内存
c.table-cell
利用css的table属性,完成元素的垂直居中,margin完成元素的水平居中,例子如下
设置父元素的元素类型为table-cell类型,设置表格的垂直对齐方式为居中,再给子元素添加margin:0auto完成元素的垂直水平居中,这种方法不常用,
优点:兼容性好
缺点:出来的太早,现在都不流行用了
d.translate
利用2d位移来完成元素的居中,例子如下:
只需操作子元素,给子元素添加transform属性,利用2d位移translate,分别向左向右移动父元素宽高度减自身宽高度的一半,完成元素的垂直水平对齐,这种方法不常用,
优点:代码简单
缺点:我们必须给定子元素的宽和高,否则无法完成元素居中
不定元素宽高的情况下
line-heght
给元素设置line-heght,也就是行高,完成元素的居中,具体例子如下:
我们给子元素设置行高,完成元素的垂直居中,再然后利用文本水平对齐方式text-align方法,完成水平居中,这中方法是最简单的,也是我们经常用的
优点:写起来简单,兼容性好
缺点:只适合单行文本的居中,多行文本不支持
b.绝对定位加translate
之前我们说过一个利用translate完成元素垂直水平的,这里就是在那种方法上的进一步改进,也就是可以,不用设置宽高,也能实现元素的垂直水平居中,用translate加绝对定位完成元素的居中,例子如下:
在这里,还有不同就是,我们translate里面可以直接用百分比完成位移,从而实现元素的垂直水平居中,这种方法常用(但是我不常用)
优点:代码简单,兼容性好
缺点:无
c.flex
flex形成弹性盒,我们利用弹性盒可以做很多事情,其中最主要的还是布局,当然这里我们就不详细说了,我们来谈谈如何使一个元素垂直水平居中,例子如下:
我们让父元素形成弹性盒子,再然后设置主轴对齐方式为居中对齐,侧轴对齐方式为居中对齐从而完成元素的垂直水平居中,这种方法经常用,
优点:代码简单易懂
缺点:PC端兼容性不好
d.flex+margin:auto
这种方法与上面那种不同的是,这里没用到弹性盒子里面的属性,而是用margin直接完成元素的居中对齐,例子如下:
让父元素形成弹性盒子,再然后给子元素添加margin:auto,完成元素的垂直水平居中,这种方法也常用,
CSS3中Flex弹性布局该如何灵活运用
前端爱好者,学习者可关注我,带你一起学习前端。
其实如何灵活应用Flex布局,那就要先知道它如何布局以及有哪些属性,说白了就是在一个容器呢把它的子项目均匀的排列在一起,然后再用属性指定容器内子项目的详细排列方式。
网页布局(layout)是CSS的一个重点应用。Flex布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。
基本概念Flex是FlexibleBox的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。
任何一个容器都可以指定为Flex布局。
采用Flex布局的元素,称为Flex容器(flexcontainer),简称”容器”。它的所有子元素自动成为容器成员,称为Flex项目(flexitem),简称”项目”。
容器属性1、flex-direction属性
flex-direction:row|row-reverse|column|column-reverse;
row(默认值):主轴为水平方向,起点在左端。row-reverse:主轴为水平方向,起点在右端。column:主轴为垂直方向,起点在上沿。column-reverse:主轴为垂直方向,起点在下沿。2、flex-wrap属性
flex-wrap:nowrap|wrap|wrap-reverse;
nowrap(默认):不换行。
wrap:换行,第一行在上方。
wrap-reverse:换行,第一行在下方。
3、flex-flow属性
flex-flow:<flex-direction><flex-wrap>;
flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为rownowrap。
4、justify-content属性
justify-content属性定义了项目在主轴上的对齐方式。
justify-content:flex-start|flex-end|center|space-between|space-around;
flex-start(默认值):左对齐flex-end:右对齐center:居中space-between:两端对齐,项目之间的间隔都相等。space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。5、align-items属性
align-items属性定义项目在交叉轴上如何对齐。
align-items:flex-start|flex-end|center|baseline|stretch;
flex-start:交叉轴的起点对齐。flex-end:交叉轴的终点对齐。center:交叉轴的中点对齐。baseline:项目的第一行文字的基线对齐。stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。6、align-content属性
align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
align-content:flex-start|flex-end|center|space-between|space-around|stretch;
flex-start:与交叉轴的起点对齐。flex-end:与交叉轴的终点对齐。center:与交叉轴的中点对齐。space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。stretch(默认值):轴线占满整个交叉轴。项目的属性1、order属性
order属性定义项目的排列顺序。数值越小,排列越靠前,默认为0。
order:<integer>;
2、flex-grow属性
flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
flex-grow:<number>;/*default0*
3、flex-shrink属性
flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
flex-shrink:<number>;/*default1*/
4、flex-basis属性
flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(mainsize)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
flex-basis:<length>|auto;/*defaultauto*/
5、flex属性
flex属性是flex-grow,flex-shrink和flex-basis的简写,默认值为01auto。后两个属性可选。
flex:none|[<'flex-grow'><'flex-shrink'>?||<'flex-basis'>]
6、align-self属性
align-self属性允许单个项目有与其他项目不一样的对齐方式,可覆盖align-items属性。默认值为auto,表示继承父元素的align-items属性,如果没有父元素,则等同于stretch。
align-self:auto|flex-start|flex-end|center|baseline|stretch;
更多的Flex布局应用可到W3C菜鸟教程查看,或者去张大神、阮一峰的博客查看,详细的很。
更多前端知识关注我,了解更多简述五种布局的特点和运用场合
框架布局:所有控件排列在左上角,用于制作特别的控件,初学者使用较少;
线性布局:控件可以按照水平或者垂直方向进行排列,控件排列方式简单;
绝对布局:可以指定控件摆放的位置,虽然摆放控件很容易,但是不适合多种分辨率和尺寸的屏幕,需要慎用;
相对布局:能够设定控件之间的相对关系、控件与父容器的相对关系,控件排列方式比较灵活,是常用的布局之一;
表格布局:通过配合使用TableRow可以将控件以表格形式排列。
不能作为flex子元素的属性有哪些
有float、clear和vertical-align属性,因为父元素flex布局,子元素的这些属性不生效。
flex布局常用属性的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于flex弹性布局样式字体如何实现、flex布局常用属性的信息别忘了在本站进行查找哦。
本文链接:http://xinin56.com/su/2439.html