最明显的区别是align-content 适用于多行,align-item 则是适用于单行。

align-content(单行无效)可以设置上对齐、下对齐、居中、拉伸、平分剩余空间;align-item上对齐、下对齐、居中、拉伸。

1. align-items

定义和属性:

align-items 属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式


提示:使用每个弹性对象元素的 align-self 属性可重写 align-items 属性。

属性值:

stretch :
默认值。如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。
center:
位于容器的中心。弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
flex-start :
位于容器的开头。弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
flex-end:
位于容器的结尾。弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
baseline:
位于容器的基线上。如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
initial:
该属性为它的默认值。
inherit:
从父元素继承该属性。

2. align-content 属性

定义和用法

align-content 属性修改 flex-wrap 属性的行为。它与 align-items
相似,但是它不对齐弹性项目,而是对齐弹性线。


*注意:必须有多行项目,此属性才能生效!
*提示:使用 justify-content 属性可将主轴上的项目(main-axis)水平对齐。

属性值:

stretch
默认值。行拉伸以占据剩余空间。
center
朝着弹性容器的中央对行打包。
flex-start
朝着弹性容器的开头对行打包。
flex-end
朝着弹性容器的结尾对行打包。
space-between
行均匀分布在弹性容器中。
space-around
行均匀分布在弹性容器中,两端各占一半。
initial
将此属性设置为其默认值。
inherit
从其父元素继承此属性。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐