Flex布局

父元素

flex-direction: 主轴方方向

  • row
  • row-reverse
  • column
  • column-reverse

justify-content: 主轴方向上子元素排列顺序

  • flex-start
  • center
  • flex-end
  • space-around
  • space-between

align-items: 副轴上元素的定位

  • flex-start
  • center
  • flex-end
  • stretch
  • baseline

不常用
flex-wrap:
类似于flex-wrap类似于white-space

  • nowrap: 所有的元素都在一行。
  • wrap: 元素自动换成多行。
  • wrap-reverse: 元素自动换成逆序的多行。

align-content

  • flex-start: 多行都集中在顶部。
  • flex-end: 多行都集中在底部。
  • center: 多行居中。
  • space-between: 行与行之间保持相等距离。
  • space-around: 每行的周围保持相等距离。
  • stretch: 每一行都被拉伸以填满容器。

这可能有些容易混淆,但align-content决定行之间的间隔,而align-items决定元素整体在容器的什么位置。只有一行的时候align-content没有任何效果。

子元素

order: 排序 从0开始 小的排在前面

align-self : 定义元素自己的 纵轴排列方式,可以覆盖 父元素的align-items

flex-basis: flex-basis属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。

flex-grow: flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

flex-shrink: flex-shrink属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。

flex:flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。

flex-directionflex-wrap两个属性经常会一起使用。所以有缩写属性flex-flow。这个缩写属性接受两个属性的值,两个值中间以空格隔开。

display:flex与display:inline-flex的区别

  • flex: 将对象作为弹性伸缩盒显示
  • inline flex: 将对象作为内联块级弹性伸缩盒显示
<style>
        .main{
            width: 200px;
            background: greenyellow;
            display: flex;
        }
        .main>div{
            width: 50px;
            height: 50px;
            border: 1px solid red;
            box-sizing: border-box;
        }
 </style>
 <div class="main">
        <div>1</div>
        <div>2</div>
        <div>3</div>
        <div>4</div>
 </div>


display:flex情况下添加一个<div>5</div>效果如下,容器的宽度依然是200px

display:inline-flex情况下添加一个<div>5</div>效果如下,容器的宽度变为250px

display:inline-flex后容器会根据子元素所有的div大小自适应宽度和高度

两个flex小游戏练手不错

塔防
小青蛙

几个简单flex布局的小例子

PC双飞翼
商品列表
手机布局

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

推荐阅读更多精彩内容

  • flex 布局是 css3 中使用最频繁也是最出色的功能,有点复杂,分为应用在容器上的属性和项目上的属性,即父元素...
    rayman_v阅读 4,351评论 1 4
  • flex 布局是 css3 中使用最频繁也是最出色的功能,有点复杂,分为应用在容器上的属性和项目上的属性,即父元素...
    LaBaby_阅读 2,915评论 0 0
  • 网页布局(layout)是CSS的一个重点应用。 一、Flex布局是什么? Flex是Flexible Box的缩...
    抱着熊喵啃什么阅读 3,793评论 0 4
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,123评论 0 26
  • 全职在家与世隔绝近三年,幸好有大V,能与各地的同频妈妈交流,才不至于脱节。 初遇大V 起初朋友圈有妈妈发大V的...
    不忆过去_不畏将来阅读 4,610评论 0 4