display flex设置宽度无效

display flex设置宽度无效

我们在做flex布局的时候会经常用到这种

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .flex-box{
            display: flex;
            align-items: center;
            width: 300px;
            height: 50px;
            border: 1px solid black;
        }
        .flex-item{
            width: 100px;
            background-color: gray;
            color:hotpink;
            line-height: 50px;
        }
        p{
            color: red;
            line-height: 50px;
            background-color: gainsboro;
        }
    </style>
</head>
<body>
    <div class="flex-box">
        <div class="flex-item">flex-item</div>
        <p>这里是一段文本。</p>
    </div>
</body>
</html>

效果如下:
在这里插入图片描述
这是一个很正常的flex布局,就是左边定宽,右边自动伸缩
但是如果右边的文字过多,会出现什么情况呢,如下,我们在浏览器直接添加多一点的文本。
在这里插入图片描述
现在是自动伸缩了,但是根本不是我们想要的,因为左边已经被挤没了。这个时候我们就需要一个属性
flex-shrink
这个属性默认为1 ,即空间不足会自动缩小,我们只要设置0就可以了。
在这里插入图片描述
如此就可以定宽了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章