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就可以了。
如此就可以定寬了。