假设我有一个没有特定宽度的父元素,它有四个子元素:
<div>
<a href>A</a>
<a href>B</a>
<a href>C</a>
<a href>D</a>
</div>
每个孩子的宽度设置为width:25%;
div {
margin:0 auto;
max-width: 880px;
}
a {
display:inline-block;
width: 25%;
}
但是,最后一个元素D
总是有自动换行,http://jsfiddle.net/5d884606/
但我认为他们应该保持同一条线并具有相同的宽度。为什么会这样?
答案 0 :(得分:0)
这是因为inline-block
添加了4px margin
,
因此,如果您将宽度更改为25%
而不是24%
,则它们将全部位于同一行。
请参阅更新的小提琴:http://jsfiddle.net/5d884606/1/
答案 1 :(得分:0)
这是因为display: inline-block;
元素会获得额外的&#39;当父元素上的font-size
设置高于0时设置边距。将父项的font-size
设置为0
,然后按照您希望的方式将其设置回子项元素
div {
margin:0 auto;
max-width: 880px;
font-size: 0;
}
a {
display:inline-block;
width: 25%;
font-size: 16px;
}
答案 2 :(得分:0)
请尝试以下操作: Demo
CSS:
div {
margin:0 auto;
max-width: 880px;
background-color:#ccc;
}
a {
display:block;
float:left;
width: 25%;
background-color:#f00;
}