欢迎光临
我们一直在努力

移动web入门 | 弹性盒子2(Flex布局)

接上一篇文章继续讲解flex布局:

justify-content 属性

最简单的示例:

在弹性盒对象的 <div> 元素中的各项周围留有空白:

.father{
{
    display: flex;
    width: 500px;
    border: 1px solid black;
    justify-content: space-around;
}

CSS 语法

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

属性值

描述
flex-start默认值。项目位于容器的开头。
flex-end项目位于容器的结尾。
center项目位于容器的中心。
space-between项目位于各行之间留有空白的容器内。
space-around项目位于各行之前、之间、之后都留有空白的容器内。
initial设置该属性为它的默认值。
inherit从父元素继承该属性。

再以space-between为例,设置后仅在元素中间空有空白:

.father{
    display: flex;
    width: 500px;
    border: 1px solid black;
    justify-content: space-between;
}

align-items 属性

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

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

最简单的示例

居中对齐弹性盒的各项 <div> 元素:

.father{
    display: flex;
    width: 500px;
    border: 1px solid black;
    justify-content: space-between;
    align-items: center;
}

其中子元素 2 的高度为200px,效果如下:

CSS 语法

align-items: stretch|center|flex-start|flex-end|baseline|initial|inherit;

属性值

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

在以align-items :flex-end为例介绍元素位于底部对齐:

.father{
    display: flex;
    width: 500px;
    border: 1px solid black;
    justify-content: space-between;
    align-items: flex-end;
}

显示效果:

align-content 属性

定义和用法

align-content 属性在弹性容器内的各项没有占用交叉轴上所有可用的空间时对齐容器内的各项(垂直)。

提示:使用 justify-content 属性对齐主轴上的各项(水平)。

注意:容器内必须有多行的项目,该属性才能渲染出效果。

CSS 语法

align-content: stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit; 

默认值

描述
stretch默认值。元素被拉伸以适应容器。各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于'flex-start'。在其它情况下,剩余空间被所有行平分,以扩大它们的侧轴尺寸。
center元素位于容器的中心。各行向弹性盒容器的中间位置堆叠。各行两两紧靠住同时在弹性盒容器中居中对齐,保持弹性盒容器的侧轴起始内容边界和第一行之间的距离与该容器的侧轴结束内容边界与第最后一行之间的距离相等。(如果剩下的空间是负数,则各行会向两个方向溢出的相等距离。)
flex-start元素位于容器的开头。各行向弹性盒容器的起始位置堆叠。弹性盒容器中第一行的侧轴起始边界紧靠住该弹性盒容器的侧轴起始边界,之后的每一行都紧靠住前面一行。
flex-end元素位于容器的结尾。各行向弹性盒容器的结束位置堆叠。弹性盒容器中最后一行的侧轴起结束界紧靠住该弹性盒容器的侧轴结束边界,之后的每一行都紧靠住前面一行。
space-between元素位于各行之间留有空白的容器内。各行在弹性盒容器中平均分布。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'flex-start'。在其它情况下,第一行的侧轴起始边界紧靠住弹性盒容器的侧轴起始内容边界,最后一行的侧轴结束边界紧靠住弹性盒容器的侧轴结束内容边界,剩余的行则按一定方式在弹性盒窗口中排列,以保持两两之间的空间相等。
space-around元素位于各行之前、之间、之后都留有空白的容器内。各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。如果剩余的空间是负数或弹性盒容器中只有一行,该值等效于'center'。在其它情况下,各行会按一定方式在弹性盒容器中排列,以保持两两之间的空间相等,同时第一行前面及最后一行后面的空间是其他空间的一半。
initial设置该属性为它的默认值。
inherit从父元素继承该属性。

以align-content:space-around展示效果,最后一个案例,附上完整代码:

.father{
    display: flex;
    width: 500px;
    height: 400px;
    border: 1px solid black;
    flex-wrap: wrap;
    align-content: space-around;
}
.son{
    width: 100px;
    height: 100px;
    background-color: cornflowerblue;
    color: white;
    font-size: 48px;
    text-align: center;
    line-height: 100px;
}
</style>
</head>
<body>
    <div class="father">
        <div class="son">1</div>
        <div class="son">2</div>
        <div class="son">3</div>
        <div class="son">4</div>
        <div class="son">5</div>
        <div class="son">6</div>
        <div class="son">7</div>
        <div class="son">8</div>
    </div>
</body>

展示效果:

赞(0) 打赏
未经允许不得转载:散人研 » 移动web入门 | 弹性盒子2(Flex布局)
分享到: 更多 (0)

评论 抢沙发

6 + 5 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏