"flex"是CSS的一种布局方式,可以用于在容器内部对其子元素进行灵活的布局。要在flex容器中设置子元素在竖直方向上的布局,可以使用"align-items"或"align-content"属性。
align-items:该属性用于设置flex容器内子元素在竖直方向上的对齐方式。可以设置的值包括:
stretch(默认值):如果子元素没有指定高度或者设为"auto",则会拉伸其高度以填满整个容器的高度;
flex-start:将子元素对齐到容器的顶部;
flex-end:将子元素对齐到容器的底部;
center:将子元素在容器内居中对齐;
baseline:将子元素在容器内按照其基线对齐。
例如,设置子元素在容器内居中对齐的CSS代码为:
.container{
display:flex;
align-items:center;
}
align-content:该属性用于在多行的flex容器中设置子元素在竖直方向上的对齐方式。可以设置的值包括与align-items相同的值。不过,align-content只在多行的flex容器中起作用。
例如,设置子元素在容器内按照容器的底部对齐的CSS代码为:
.container{
display:flex;
flex-wrap:wrap;/*开启多行模式*/
align-content:flex-end;
}
除了"align-items"和"align-content"属性之外,还有一些其他的与flex容器和子元素在竖直方向上布局相关的属性。
justify-content:该属性用于设置子元素在主轴上的对齐方式,也会影响到在竖直方向上的对齐方式。可以设置的值包括:
flex-start:将子元素对齐到容器的起始边缘;
flex-end:将子元素对齐到容器的结束边缘;
center:将子元素在容器内居中对齐;
space-between:将子元素平均分布在容器内,但第一个子元素在容器的起始边缘,最后一个子元素在容器的结束边缘;
space-around:将子元素平均分布在容器内,并在子元素之间留有空白间隔。
flex-direction:该属性用于设置主轴的方向,从而影响到子元素在竖直方向上的布局。可以设置的值包括:
row(默认值):主轴方向为水平方向,子元素从左到右排列;
row-reverse:主轴方向为水平方向,子元素从右到左排列;
column:主轴方向为竖直方向,子元素从上到下排列;
column-reverse:主轴方向为竖直方向,子元素从下到上排列。
flex-wrap:该属性用于设置flex容器的子元素是否换行。可以设置的值包括:
nowrap(默认值):子元素不换行,尽量排在同一行或同一列;
wrap:子元素可以换行,如果需要的话;
wrap-reverse:子元素可以换行,但是倒序排列。
以上这些属性都可以用于在flex容器内部控制子元素的布局,从而实现不同的效果。需要注意的是,这些属性的具体作用会受到其他CSS属性的影响,比如子元素的高度和宽度等。