float布局
步骤
- 在子元素上加float:left和width
-
经验
留一个空间或最后一个不设置width
- 这个布局专门为ie准备,所以不需要做响应式
- ie6/7存在双倍margin bug解决办法有两个:①针对ie6/7margin减半②加一个display:inline-block
float定位必要的css代码
.clearfix:after {content: '';display: block;clear: both;}
flex布局
让一个元素变成flex容器
.container {display: flex | inline-flex;}
改变items的流动方向
.container {flex-direction: row | row-reverse | column | column-reverse;}
改变折行
.container {flex-wrap: wrap | nowrap | wrap-reverse;}
主轴对齐方向
.container {justify-content: flex-start | flex-end | center | space-between | space-around;}
次轴对齐
.container {align-items: flex-start | flex-end | stretch | center | baseline;}
多行内容
.container {align-content: flex-start | flex-end | stretch | center | space-between | space-around;}
flexitem的属性
- order
- flex-grow
- flex-shrink
- flex-basis
- align-self
grid布局
成为container
.container {display: grid | inline-grid;}
行和列
.container {grid-template-columns: 40px 50px auto 50px 40px;grid-template-rows: 25% 150px auto;}
item可以设置范围
.item-a {grid-column-start: 2;grid-column-end: five;grid-row-start: row1-start;grid-row-end: 3;}
fr - free space
.container {grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 1fr 50px 1fr 1fr;}
