flex弹性盒模型学习总结

738 阅读1分钟

1、display: flex; display: inline-flex; 的区别是将flex-container整体作为块级元素还是行内级元素。如果是inline-flex则可以和其它行内级元素在同一行显示;

2、设置了flex布局之后,flex container内部的各item元素无论自身是块级元素还是行内元素,都会自动按照从main-start到main-end方向进行排列,即使各item都是块级元素也不会自动换行了;所以flex容器的设置能够使得items摆脱块级元素对排布的限制,使之失效;

3、容器属性: justify-content,默认flex-start对齐,还有:

flex-end(仅靠end侧)

center (居中)

space-between (两边都紧靠边,中间间距都相等)

space-evenly (两边和中间的所有间距都相等)

space-around (两边距离是中部间距的一半)

4、容器属性align-items决定了flex items在交叉轴上的对齐方式,默认值为normal(在flex items元素没有指定高度的时候,和stretch属性的效果一样,就是把各item沿着交叉轴拉伸至填充container的高度)

  • 当只有一行元素时:

如果设置为flex-start时,或者有各自高度而不设置align-item时:

当设置为flex-end时:

设置为基线对齐:baseline (多行文字则以第一行文字的基线对齐):