没有边距的内联块?

Sam*_*Sam 7 css css3

我有几个DIV显示为内联块; 它们似乎从浏览器中自动应用它们之间的间距.它们的边距/填充设置为0.有没有办法在不使用负边距的情况下纠正此问题?

ban*_*aka 10

山姆,你看到的那个空间实际上是空白.这就是为什么删除填充和边距什么都不做.让我解释.当你有这个:

HTML

<div>
    a
    a
    a
    a
</div>
Run Code Online (Sandbox Code Playgroud)

这是它呈现的方式:

a a a a
Run Code Online (Sandbox Code Playgroud)

...对?

所以,如果你有这个:

<div>
    <div style="display:inline-block"></div>
    <div style="display:inline-block"></div>
    <div style="display:inline-block"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

......你会得到同样的东西:

block [space] block [space] block
Run Code Online (Sandbox Code Playgroud)

现在......这个问题有很多不同的解决方案.我相信最常见的是评论html中的空格:

   <div>
        <div style="display:inline-block"></div><!--
        --><div style="display:inline-block"></div><!--
        --><div style="display:inline-block"></div>
   </div>
Run Code Online (Sandbox Code Playgroud)

我不喜欢它 - 我更喜欢保持html尽可能干净.我首选的方法是将父级的font-size设置为0,然后在内联块本身上设置所需的字体大小.像这样:

div {
    font-size: 0; /* removes the whitespace */
}

div div {
    display: inline-block;
    font-size: 14px;
}
Run Code Online (Sandbox Code Playgroud)