CSS3 flex布局总结

2020-07-10 14:23:07易采站长站整理

CSS3 flex布局总结

2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持。

Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。

( 推荐学习:CSS教程 )

行内元素也可以使用 Flex 布局。

.box{  display: flex;}.box{  display: inline-flex;}

需要注意的是Webkit 内核的浏览器,必须加上-webkit前缀。

.box{  display: -webkit-flex; /* Safari */  display: flex;}

此外,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。

flex布局经常用到的的6个属性

flex-directionflex-wrapflex-flowjustify-contentalign-itemsalign-content

1、flex-direction属性决定主轴的方向(即项目的排列方向)。

.box {  flex-direction: row | row-reverse | column | column-reverse;}
row(默认值):主轴为水平方向,起点在左端。row-reverse:主轴为水平方向,起点在右端。column:主轴为垂直方向,起点在上沿。column-reverse:主轴为垂直方向,起点在下沿。

2、flex-wrap属性定义,如果一条轴线排不下,如何换行。

.box{  flex-wrap: nowrap | wrap | wrap-reverse;}
nowrap(默认):不换行。wrap:换行,第一行在上方。wrap-reverse:换行,第一行在下方。

3、flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

.box {  flex-flow: <flex-direction> || <flex-wrap>;}

4、justify-content属性定义了项目在主轴上的对齐方式。

-content: flex-start | flex-end | center | space-between | space-
flex-start(默认值):左对齐flex-end:右对齐center: 居中space-between:两端对齐,项目之间的间隔都相等。space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。

5、align-items属性定义项目在交叉轴上如何对齐。

.box {  align-items: flex-start | flex-end | center | baseline | stretch;}
flex-start:交叉轴的起点对齐。flex-end:交叉轴的终点对齐。