我正试图深入研究flexbox,并且正在研究flex-basis。到目前为止,我知道它用于指定flex项的宽度或高度,这取决于flex方向是行还是列。但是我不能得到flex-basis的auto (默认值)值做什么?
flex-basis还有另一个值content。关于这个值,MDN says让我很困惑。
我能清楚地解释这两个值(auto和content)到底是做什么的吗?
发布于 2021-06-24 22:43:04
这两个值的行为的唯一区别是它们在为元素定义width属性时所做的事情。
flex-basis: content
" content“值将根据元素的内容设置宽度。如果您已经通过width属性定义了元素的宽度,这并不重要,它将被忽略。
ul {
display: flex;
list-style-type: none;
}
ul li {
background-color: green;
margin: 5px;
width: 100px;
flex-basis: content;
}<html>
<body>
<ul>
<li>Element</li>
<li>Element</li>
<li>Element</li>
</ul>
</body>
</html>
flex-basis: auto
"auto“值验证是否定义了width属性。如果是,这将是元素的宽度。如果不是,它将回退到flex-basis: content。
ul {
display: flex;
list-style-type: none;
}
ul li {
background-color: green;
margin: 5px;
width: 100px;
flex-basis: auto;
}<html>
<body>
<ul>
<li>Element</li>
<li>Element</li>
<li>Element</li>
</ul>
</body>
</html>
https://stackoverflow.com/questions/68117375
复制相似问题