弹性盒子进阶2-对齐方式

弹性盒子进阶2-对齐方式

书接上回,本次说的是弹性盒子的对齐方式

子项在主轴上的对齐方式

<div class="dad">
        <div class="son1">崽1</div>
        <div class="son2">崽2</div>
        <div class="son3">崽3</div>
    </div>
.dad {
            width: 400px;
            height: 400px;
            border: 1px solid black;
            display: flex;
            justify-content: start;
            /* justify-content: end; */
            /* justify-content: center; */
            /* justify-content: space-between; */
            /* justify-content: space-around; */
        }
        
        .dad>div {
            width: 100px;
            height: 100px;
            border: 1px solid red;
        }

在这里插入图片描述
justify-content: start; 左对齐,右边空着。
在这里插入图片描述
justify-content: end; 右对齐,左边空着。
在这里插入图片描述
justify-content: center; 居中对齐,两端空着
在这里插入图片描述
justify-content: space-between; 剩余空间平分到子项中间。
在这里插入图片描述
justify-content: space-around; 剩余空间平分到子项两侧。

小结

1.主轴方向:横向(默认)。
2.子项弹性:不启动。
3.剩余宽度:根据样式分配。

子项在交叉轴上的对齐方式

先说下什么叫交叉轴:简单来说,就是和主轴垂直的那条轴,恩,很简单。

<div class="dad">
        <div class="son1">崽1</div>
        <div class="son2">崽2</div>
        <div class="son3">崽3</div>
    </div>
.dad {
            width: 400px;
            height: 400px;
            border: 1px solid black;
            display: flex;
            /* justify-content: start; */
            /* justify-content: end; */
            /* justify-content: center; */
            /* justify-content: space-between; */
            /* justify-content: space-around; */
            align-items: flex-start;
            align-items: flex-end;
            align-items: center;
            align-items: baseline;
            align-items: stretch;
        }
        
        .dad>div {
            width: 100px;
            /* height: 100px; */
            border: 1px solid red;
        }
        
        .son2 {
            line-height: 100px;
        }

在这里插入图片描述
align-items: flex-start;顶部对齐
在这里插入图片描述
align-items: flex-end; 底部对齐
在这里插入图片描述
align-items: center; 垂直居中
在这里插入图片描述
align-items: baseline;基线对齐(基线就是文字四线三格的那个基线)
ps:我将子项注释掉的那个高度又加上了 ,这样看的清楚一点。
在这里插入图片描述
align-items: stretch; 高度填满。
ps:这里将子项的高度注释掉,然后会发现子项的高度会充满父框,而不注释高度时,将按找height的属性定高。

小结

1.主轴方向:横向
交叉轴:纵向
2.各个子项有自己的高度(不设置的话会由内容决定,ps:在不启动弹性项的情况下)
3.不启动弹性项。
4.根据样式决定垂直方向的对齐方式。
ps:在主轴和交叉轴方向上的对齐方式可以一起用,自由组合(大概吧,要试的哦)。

多行(或多列)时,行交叉轴上的对齐方式。

<div class="dad">
        <div class="son1">崽1</div>
        <div class="son2">崽2</div>
        <div class="son3">崽3</div>
        <div class="son4">崽4</div>
        <div class="son5">崽5</div>
        <div class="son6">崽6</div>
        <div class="son7">崽7</div>
    </div>
.dad {
            width: 400px;
            height: 400px;
            border: 1px solid black;
            display: flex;
            flex-wrap: wrap;
            align-content: flex-start;
            align-content: flex-end;
            align-content: center;
            align-content: space-between;
            align-content: space-around;
            align-content: stretch;
        }
        
        .dad>div {
            width: 100px;
            height: 100px;
            border: 1px solid red;
        }
        
        .son2 {
            line-height: 100px;
        }

在这里插入图片描述
align-content: flex-start; 与交叉轴起点对齐
在这里插入图片描述
align-content: flex-start; 与交叉轴终点对齐
在这里插入图片描述
align-content: center; 与交叉轴中点对齐
在这里插入图片描述
align-content: space-between; 与交叉轴两端对齐,轴线之间的间隔平均分布。
在这里插入图片描述
align-content: space-around; 每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
在这里插入图片描述
align-content: stretch; 轴线占满整个交叉轴。(设置宽度时的表现形式)
在这里插入图片描述
align-content: stretch;轴线占满整个交叉轴。(不设置宽度时的表现形式)

还有一件事

弹性项在不启动时,是可以设置上下左右auto的,就是说,可以实现上下左右剧中的效果

<div class="dad">
        <div class="son1">崽1</div>
    </div>
 .dad {
            width: 400px;
            height: 400px;
            border: 1px solid black;
            display: flex;
            flex-wrap: wrap;
        }
        
        .dad>div {
            width: 100px;
            height: 100px;
            border: 1px solid red;
            margin: auto;
        }
        
        .son2 {
            line-height: 100px;
        }

在这里插入图片描述

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
算符号的 first 集合 private void computeFirstSets() { for (String production : productions) { String[] parts设置主轴方向的弹性盒子元素的对齐方式可以使用 `justify-content` 属性来实现。该属性 = production.split("->"); String left = parts[0].trim(); String[] right = parts[1].split("\\s用于控制弹性盒子元素在主轴方向上的对齐方式,包括以下值: 1. `flex-start`:将弹性盒子元素沿主轴的起始位置对齐。 2. `flex-end`:将弹性盒子元素沿主轴的结束位置对齐。 3. `center`:将弹性盒子元素沿+"); for (String symbol : right) { if (!firstSets.containsKey(symbol)) { firstSets.put(symbol, new HashSet<>主轴的中心位置对齐。 4. `space-between`:将弹性盒子元素沿主轴平均分配,两端不留空白。 5. `space-around`:将弹性盒子元素沿主轴平均分()); } if (!isNonTerminal(symbol)) { firstSets.get(symbol).add(symbol); break; } } 配,两端留有相等的空白。 6. `space-evenly`:将弹性盒子元素沿主轴平均分配,包括两端和元素之间的空白。 例如,如果您想将弹性盒子 for (int i = 0; i < right.length - 1; i++) { String symbol = right[i]; if元素沿主轴居中对齐,可以这样设置: ```css .container { display: flex; justify-content: (isNonTerminal(symbol)) { Set<String> first = firstSets.get(right[i + 1]); if (first != null center; } ``` 在这个例子中,`.container` 为包含弹性盒子元素的容器,) { firstSets.get(symbol).addAll(first); } } } } } // 计算非终结设置了 `justify-content: center` 属性,使得弹性盒子元素在主轴方向上居中对齐
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值