【发布时间】:2019-05-01 08:29:24
【问题描述】:
我有 <ul> 元素,它是一个弹性项目。这个<ul> 元素包含几个不是弹性项目的<li> 元素。
当我将百分比填充添加到 <li> 元素时,<ul> 元素会像照片中那样分成几行:
当我设置固定填充(如 30px)时,<ul> 元素显示在一行中:
所以,我的问题是:为什么百分比填充会让<ul> 表现得这样?
P.S:我不需要解决方案来解决它,我只需要对行为的解释
li {
display: inline-block;
padding: 0 5%;
/* padding: 0 30px; */
border: 1px solid black;
}
header {
display: flex;
}
ul {
border:1px solid red;
}
<header>
<ul>
<li>Library</li>
<li>Telegram channel</li>
<li>Contacts</li>
<li>Donate</li>
</ul>
</header>
【问题讨论】:
-
CSS 网格发生的类似情况:stackoverflow.com/questions/53355708/… .. 基本上(根据我的分析)百分比填充稍后会考虑,因此它们会减少最初计算的宽度
-
@Jeremy flexbox 查看填充,尝试使用 px 而不是 % 并且行为会有所不同。该问题仅出现在 %
-
@TemaniAfif 哦,我没有意识到,只是盲目地关注了那个帖子。