我在下面列出了HTML和CSS代码。
.a{
border-bottom: 1px solid #000;
}
.b {
border-bottom: 1px solid #000;
}
.c li{
display: inline;
padding-top: 50px;
}
<div class="a">
<br>
<br>
<br>
</div>
<div class="b">
<br>
<br>
<br>
</div>
<div class="c">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
但是我无法控制填充/边距<div class="c">
。为什么以及如何解决此问题?
答案 0 :(得分:1)
填充在内联元素上的行为与预期不符。
正如Alohci在下面的评论中指出的那样,填充不会影响non-replaced内联元素的行高,因此不会影响父元素的高度。
您可以改用display: inline-block
(见下文)。
请注意, inline-block
为not supported in IE <= 7 。
如果您关心过时的浏览器,可以使用float
代替。
.a{
border-bottom: 1px solid #000;
}
.b {
border-bottom: 1px solid #000;
}
.c li{
display: inline-block;
padding-top: 50px;
}
<div class="a">
<br>
<br>
<br>
</div>
<div class="b">
<br>
<br>
<br>
</div>
<div class="c">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
答案 1 :(得分:1)
您的li
元素为inline
,更改为inline-block
将解决此问题。请参阅此SO问题/答案,以了解内联和内联块之间的区别:What is the difference between display: inline and display: inline-block?
.a{
border-bottom: 1px solid #000;
}
.b {
border-bottom: 1px solid #000;
}
.c li{
display: inline-block;
padding-top: 50px;
}
&#13;
<div class="a">
<br>
<br>
<br>
</div>
<div class="b">
<br>
<br>
<br>
</div>
<div class="c">
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
</div>
&#13;