css弹性布局和相关属性

弹性布局

弹性布局主要是解决移动端的问题,但是并不代表它不能适用于PC端,它最重要的技术就是一个叫弹性盒子(flexbox)的东西

弹性盒子最主要的几个属性如下

display:flex

这个属性将当前这个元素变成弹性盒子,一旦这个元素变成了弹性盒子以后,它就会多出一个row与column的两个轴

flex 属性用于指定弹性子元素如何分配空间。

语法

flex: auto | initial | none | inherit |  [ flex-grow ] || [ flex-shrink ] || [ flex-basis ]

各个值解析:

  • auto: 计算值为 1 1 auto

  • initial: 计算值为 0 1 auto

  • none:计算值为 0 0 auto

  • inherit:从父元素继承

  • [ flex-grow ]:定义弹性盒子元素的扩展比率。

    扫描二维码关注公众号,回复: 8894553 查看本文章
  • [ flex-shrink ]:定义弹性盒子元素的收缩比率。

  • [ flex-basis ]:定义弹性盒子元素的默认基准值。当弹性盒子设置了flex-basis,盒子宽度不由

flex-direction

flex-direction 属性指定了弹性子元素在父容器中的位置。这个属性是设置盒子的主轴,里面的元素会按照你设置的主轴进行排列,默认为ROW

语法

flex-direction: row | row-reverse | column | column-reverse

flex-direction的值有:

  • row:横向从左到右排列(左对齐),默认的排列方式。

  • row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。

  • column:纵向排列。

  • column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。

justify-content 属性( 这个属性是设置盒子的主轴排列)

内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。

justify-content 语法如下:

justify-content: flex-start | flex-end | center | space-between | space-around

各个值解析:

  • flex-start:

    弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。

  • flex-end:

    弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。

  • center:

    弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。

  • space-between:

    弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。

  • space-around:

    弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。

align-items 属性

align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。

语法

align-items: flex-start | flex-end | center | baseline | stretch

各个值解析:

  • flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。

  • flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。

  • center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。

  • baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。

  • stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。

发布了65 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sereasuesue/article/details/100158726