我已将span
与div
对齐,如下所示,但元素之间有间距。有人能告诉我是什么导致它出现以及如何删除它?
<table>
<tr>
<td>
<div id="headerDiv" style="">DIV</div>
<span id="labelSpan">test</span>
</td>
</tr>
答案 0 :(得分:4)
当元素在新行上时,使用inline-block
将创建一个空格。 (最令人沮丧的例子是当你希望li
并排时。
要么这样做:
<div id="headerDiv" style="">DIV</div><span id="labelSpan">test</span>
或者这个:
<div id="headerDiv" style="">DIV</div><!--
--><span id="labelSpan">test</span>
或者,您可以改为float:left;
。
答案 1 :(得分:3)
inline-block
总是给出差距。如果你不想要,你可以这样做:
删除空格
<table>
<tr>
<td>
<div id="headerDiv" style="">DIV</div><!--
--><span id="labelSpan">test</span>
</td>
</tr>
</table>
或使用float
:
<table>
<tr>
<td>
<div id="headerDiv" style="">DIV</div>
<span id="labelSpan">test</span>
</td>
</tr>
</table>
td {
overflow: hidden;
}
td > span {
float: left;
border:2px solid;
}
td > div {
float: left;
border:2px solid;
}
答案 2 :(得分:2)
此间距是由空格(两个元素都有内联布局)引起的,您可以通过以下方式读取它们:
示例:
<td>
<div id="headerDiv">DIV</div><span id="labelSpan">test</span>
</td>
示例:
<td>
<div id="headerDiv">DIV</div><!--
--><span id="labelSpan">test</span>
</td>
word-spacing
CSS属性。CSS:
td {word-spacing: -100%;}
答案 3 :(得分:1)
它被称为white space
,当标记中有空格(在同一行或新行上)时,它出现在内联(或内联块)元素之间。
以下是一些解决方案:
解决方案1 - 删除标记中的空格:
<div id="headerDiv" style="">DIV</div><span id="labelSpan">test</span>
演示 :http://jsfiddle.net/w3sjrgc4/7/
解决方案2 - 在容器上将font-size
设置为0,然后在子容器上检索它。
演示 :http://jsfiddle.net/w3sjrgc4/9/
解决方案3 - 注释掉标记中的空格:
<div id="headerDiv" style="">DIV</div><!--
--><span id="labelSpan">test</span>
演示 :http://jsfiddle.net/w3sjrgc4/10/
解决方案4 - 左浮动孩子并清除容器以保持高度正常的文件流。