Css3的Flex布局

                         Css3的Flex布局
开发工具与关键技术:DW
作者:汪秋霞
撰写时间:2019/1/18

我们在布置页面布局时,使用flex布局可以达到很好的页面效果。
Flex是flexible box的缩写,flex布局又称为弹性布局,可以为盒模型提供最大的灵活性,任何一个容器都可以通过display属性设置flex布局。而display属性又有flex和inline-flex两种办法设置弹性布局。设置了flex布局的元素可称为容器,其直接承接的子元素则称为项目。
通过display:flex设置弹性布局,其项目的宽度会随着页面可显示区域的宽度而进行压缩调整。而通过display:inline-flex设置弹性布局,其项目的宽度则不会随着页面可显示区域的宽度而进行压缩调整,而是适应设置好的宽度,行内元素以此设置弹性布局。(注:设置flex布局后,其项目的就会失去float属性的效果。)
例:
代码
Html代码:

 			<body>
				<p>flex:</p>
				<div class="flex">
					<div>1</div>
					<div>2</div>
					<div>3</div>
				</div>
				<div class="inline-flex">
					<div>1</div>
					<div>2</div>
					<div>3</div>
				</div>
			</body>

Css代码:

   			<style type="text/css">
   				*{
   					margin: 0;
   				}
   				.flex{
   					display: flex;
   					background: #eaeaea;
   					height: 100px;
   				}
   				.flex div,.inline-flex div{
   					width: 100px;
   					height: 100px;
   					background: #F4CA85;
   					text-align: center;
   					line-height: 100px;
   					font-size: 50px;
   					color: #fff;
   				}
   				.inline-flex div{
   					background: pink;
   				}
   			</style>

页面显示:
压缩前:
在这里插入图片描述
压缩时:
在这里插入图片描述
Flex布局可以对容器同时设置多个弹性布局的属性,常见的几个属性如下:
(1) flex-direction
(2) flex-wrap
(3) flex-flow(它是flex-direction和flex-wrap的简写)
(4) justify-content
(5) align-content
(6) align-items
下面我选择其中几个进行介绍。
(下图每一页面显示截图只调用代码中被注释代码中相对应的一条,其他代码基本如上,只根据需要改变部分宽高值。主轴方向均为从左往右)

				.flex{
   					display: flex;
   					background: #eaeaea;
   					height: 100px;
   					/*flex-direction: row;*/
   					/*flex-direction: row-reverse;*/
   					/*flex-direction: column;*/
   					/*flex-direction: column-reverse;*/
   					/*flex-wrap: nowrap;*/
   					/*flex-wrap: wrap;*/
   					/*flex-wrap: wrap-reverse;*/
   					/*justify-content: flex-start;*/
   					/*justify-content: flex-end;*/
   					/*justify-content: center;*/
   					/*justify-content: space-around;*/
   					/*justify-content: space-between;*/
   				}
  1. flex-direction属性决定主轴的方向,它有4个值:

(1)row:水平方向从左往右排列,同时row也是默认值。
在这里插入图片描述
(2)row-reverse:水平方向从右往左排列。
在这里插入图片描述
(3)column:垂直方向从上往下排列。
在这里插入图片描述
(4)column-reverse:垂直方向从下往上排列。
在这里插入图片描述
2. flex-wrap属性表示换行,当页面显示的区域宽度不够时,多余的部分转换到下一行。它有三个值。(换行方向会随着主轴方向转变)

(1) nowrap:不换行,项目会挤压在一行内,同时nowrap也是默认值。
在这里插入图片描述
(2) wrap:从上往下换行。
在这里插入图片描述
(3) wrap-reverse:从下往上换行。
在这里插入图片描述
3. justify-content属性决定水平方向的对齐方式,当页面宽度有较多部分的留白时,justify-content属性可以很好的处理这些留白。它有5个值。
(1) flex-start:紧挨左边对齐,flex-start是默认值。
在这里插入图片描述
(2) flex-end:紧挨右边对齐。
在这里插入图片描述
(3) center:从中心对齐。
在这里插入图片描述
(4) space-around:平均分布留白作为项目两侧的间隔。
在这里插入图片描述
(5) space-between:平均分布留白作为项目之间的间隔。
在这里插入图片描述
这里就为大家介绍这几个属性,如果有兴趣可以自己敲来试一下,如果把这些属性合起来用可以得到更棒的效果。

猜你喜欢

转载自blog.csdn.net/weixin_44573938/article/details/86549545