1

现象:
图片描述

代码:

<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        div.root {
            height: 100px;
            width: 50%;
            border: 1px solid;
            margin: auto;

            display: flex;
            flex-direction: row;
            justify-content: flex-start;
        }

        div.root > div {
            height: 40px;
            width: 80px;
            background: orange;
            cursor: pointer;
            text-align: center;
        }

        div.root > div:nth-child(1) {
            align-self: flex-start;
        }

        div.root > div:nth-child(2) {
            align-self: flex-end;
        }

        div.root > div:nth-child(3) {
            align-self: center;
        }

        div.root > div:nth-child(4) {
            align-self: stretch;
        }
    </style>
</head>
<body>
<div class="root">
    <div>flex-start</div>
    <div>flex-end</div>
    <div>center</div>
    <div>stretch</div>
</div>
</body>
</html>

align-self: stretch 失效,元素没有预想中的拉伸。预期的现象应该是这样的。
图片描述

为什么这样?
拉伸的前提是元素可以拉伸。容器的高度是100px。所有的子元素的高度是40px。
这个高度是固定的,不可改变的。

只需要将需要拉伸的元素的高度设置成min-height: 40px;而不是height: 40px;就可以了。


洛神赋
54 声望8 粉丝

为往圣继绝学,为万世开太平。