【发布时间】:2015-10-24 12:07:48
【问题描述】:
演示:http://jsfiddle.net/L5jchnpm/
我遇到了问题,我的印象是display: inline-block 使元素表现为内联元素和块元素。
而box-sizing: border-box 使块元素宽度以补偿边框的宽度,但inline-block 似乎并非如此。
不包括边框宽度。
有什么解决方法,以及为什么会这样。
代码
<ul>
<li>home</li>
<li>about</li>
<li>work</li>
<li>portfolio</li>
<li>contact</li>
</ul>
css
ul {
overflow: auto;
}
li {
display: inline-block;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
border: 1px solid;
}
li:hover {
border: 5px solid;
}
【问题讨论】:
-
既然您在谈论内联块,最可能的原因是内联块实际上没有设定宽度 - 它只是缩小以适应其内容。盒子大小不会影响它计算其内容盒子的方式——它仍然需要至少适应它的内容——所以在这种特殊情况下有一个解决方法是没有意义的。
-
显示代码和/或截图?
-
请添加你的代码?
-
box-sizing确定如何处理显式height或width。你没有height也没有width,所以box-sizing没有区别。