flex:弹性盒子

使用display: flex定义弹性盒子。
justify-content属性可以水平对齐元素,并且接受以下几个参数:
flex-start: 元素和容器的左端对齐。
flex-end: 元素和容器的右端对齐。
center: 元素在容器里居中。
space-between:元素之间保持相等的距离。
space-around:元素周围保持相等的距离。

align-items属性可以纵向对齐元素并且可选以下几个值:
flex-start: 元素与容器的顶部对齐。
flex-end: 元素与容器的底部对齐。
center: 元素纵向居中。
baseline: 元素在容器的基线位置显示。
stretch: 元素被拉伸以填满整个容器。

flex-direction属性定义了元素在容器里摆放的方向,并且接受这些值:
row: 元素摆放的方向和文字方向一致。
row-reverse: 元素摆放的方向和文字方向相反。
column: 元素从上放到下。
column-reverse: 元素从下放到上。

!!!注意当你调转行或列的方向后,flex-start和flex-end对应的方向也被调转了。
!!!注意当flex以列为方向时,justify-content控制纵向对齐,align-items控制横向对齐。

有时候仅仅调转行或列的方向是不够的。在这些情况,我们可以设置单个元素的order属性。元素的属性默认值为0,但是我们设置这个属性为正数或负数。

你可以使用的控制单个元素的属性是align-self。这个属性接受和align-items一样的那些值。

用flex-wrap属性可以对元素进行换行。这个属性接受这些值:

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

flex-direction和flex-wrap两个属性经常会一起使用。所以有缩写属性flex-flow。这个缩写属性接受两个属性的值,两个值中间以空格隔开。
举个例子,你可以用flex-flow: row wrap。

你可以使用align-content来决定行与行之间隔多远。这个属性接受这些值:
flex-start: 多行都集中在顶部。
flex-end: 多行都集中在底部。
center: 多行居中。
space-between: 行与行之间保持相等距离。
space-around: 每行的周围保持相等距离。
stretch: 每一行都被拉伸以填满容器。
这可能有些容易混淆,但align-content决定行之间的间隔,而align-items决定元素整体在容器的什么围着。只有一行的时候align-content没有任何效果。

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

推荐阅读更多精彩内容

  • 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已...
    丫3阅读 570评论 0 0
  • 布局的传统解决方案,基于盒装模型,依赖display属性 +position属性+float属性。 一、flex ...
    xf0128阅读 257评论 0 0
  • 一、什么叫做flex Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型设置更为灵活的变化...
    没_有_人阅读 402评论 0 3
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,512评论 0 6
  • 弹性容器属性#### flex-directionflex-wrapflex-flowjustify-conten...
    JellyL阅读 381评论 0 1