flexbox布局异常处理

chorme浏览器 73.0.3683以后,更新浏览器引起的异常

问题

flexbox 布局异常,内部盒子没有预想中的布局,例如:内容溢出

解决

为内部盒子添加min-height: 0;

过程

例一

外部盒子

display: flex;
flex-direction: column;

内部盒子

flex: auto;

在之前的版本中内部盒子高度,会缩小;

但是现在会溢出

要解决这个问题可以给一个overflow: auto;或者min-height: 0;

例二

 

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>

        section {
            margin: 100px auto;
            height: 200px;
            width: 200px;
            display: flex;
            flex-direction: column;
            align-items: stretch;
            border: 2px solid #000;
        }

        header, footer {
            flex: none;
            background-color: rgba(0, 255, 0, .5);
        }


        article {
            flex: auto;
            background-color: rgba(0, 0, 0, .5);
            overflow: auto;
        }

        p {
            height: 200px;
            background-color: rgba(0, 0, 0, .5);
        }

        footer {
            flex: none;
            background-color: rgba(0, 0, 255, .5);
        }

        .qing1 {
            flex: auto;
            /*overflow: auto;*/
            /*min-height: 0;*/
            background-color: rgba(255, 0, 0, .5);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: stretch;
        }

        .qing2, .qing3 {
            display: flex;
            flex-direction: column;
            height: 100%;
            background-color: rgba(0, 0, 0, .5);
        }

        .qing3 {
            justify-content: flex-end;
        }
    </style>
</head>
<body>
<section>
    <header>header</header>
    <div class="qing1">
        <article>
            <p>lorem</p>
        </article>
    </div>
    <footer>footer</footer>
</section>
<section>
    <header>title</header>
    <div class="qing2">
        <div>111111</div>
        <div>111111</div>
        <div>111111</div>
    </div>
    <footer>footer</footer>
</section>
<section>
    <header>title</header>
    <div class="qing3">
        <div>111111</div>
        <div>111111</div>
        <div>111111</div>
    </div>
    <footer>footer</footer>
</section>
</body>
</html>

 

posted @ 2019-04-01 18:09  ♥卿  阅读(122)  评论(0编辑  收藏  举报