flex布局

1. flex布局原理

为父盒子设置flex布局后,来控制子盒子的位置和排列方式,且子元素的float(浮动)、clear(清除浮动) 和 vertical-align(元素对齐方式) 属性都将失效。此时容器中的直系子元素就会变为flex 元素。所有CSS属性都会有一个初始值,所以 flex 容器中的所有 flex 元素都会有下列行为:

元素排列为一行(flex-direction属性的初始值是row)。

元素从主轴的起始线开始。

元素不会在主维度方向拉伸,但是可以缩小。

元素被拉伸来填充交叉轴大小。

flex-basis属性为auto。

flex-wrap属性为nowrap。

vertical-align属性运用(只对行内和行内块元素有效):

baseline:基线对齐

top:顶端对齐

middle:中部对齐

bottom:底线对齐

2.父项常见属性(display:flex)

主轴:

主轴方向:flex-direction

row(默认)从左到右

row-reverse 从右到左

column 从上到下

column-reverse 从下到上

主轴上子元素排列方式:justify-content

flex-start 从头开始排列

flex-end 从尾开始排列

center 居中对齐

space-around 平分剩余空间

space-between 先两边贴边,再平分剩余空间

子元素是否换行:flex-wrap

nowrap (默认)不换行

wrap 换行

wrap-reverse:换行,第一行在下方。

侧轴:

设置侧轴上的排列方式(多行):align-content

flex-start 从头开始排列

flex-end 从尾开始排列

center 居中对齐

stretch 平分父元素高度

space-around 平分剩余空间

space-between 先两边贴边,再平分剩余空间

侧轴单行排列:align-items

flex-start 从上到下

flex-end 从下到上

center 垂直居中

stretch 拉伸(默认)

复合属性主轴方向+换行:flex-flow

eg:flex-flow:row wrap;

3.flex布局子项常见属性

平分份数:flex:1;

控制子项自己在侧轴上的排列方式:align-self

align-self 属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。(单独设置)

定义项目的排列顺序 :order

数值越小,排列越靠前,默认为0。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、flex布局与传统布局的区别 传统布局: 兼容性好但是布局繁琐 局限性,不能再移动端很好的布局 flex布局:...
    听书先生阅读 10,383评论 0 42
  • flex布局体验 操作方便,布局非常简单,移动端应用非常广泛 PC端浏览器支持情况比较差 IE11或者更低的版本,...
    amanohina阅读 3,499评论 0 0
  • 学习目标: 能够说出flex盒子的布局原理 能够使用flex布局的常用属性 能够独立完成携程移动端首页案例知识点:...
    皮皮章阅读 3,008评论 0 0
  • 转自:https://zhuanlan.zhihu.com/p/25303493[https://zhuanlan...
    北雁南飞_8854阅读 1,774评论 0 0
  • 学会 Flex 布局 因为它十分简单灵活,区区简单几行代码就可以实现各种页面的的布局,以前我在学习页面布局的时候我...
    V_cc857233阅读 1,664评论 0 0