Css 如何删除内联块生成的额外边距空间?

Css 如何删除内联块生成的额外边距空间?,css,Css,我使用这个css来格式化两列,但我仍然得到两列之间的空白空间。我可以使用左边距:-4px消除它或类似的。有没有更优雅的方法来实现这一点,或者CSS代码有什么问题 div.col1{ display: inline-block; min-height: 900px; height: 100%; width 300px; margin: 0px; background-color: #272727; overflow: hidden; border: 1px dott

我使用这个css来格式化两列,但我仍然得到两列之间的空白空间。我可以使用
左边距:-4px消除它或类似的。有没有更优雅的方法来实现这一点,或者CSS代码有什么问题

div.col1{
  display: inline-block;
  min-height: 900px;
  height: 100%;
  width 300px;
  margin: 0px;
  background-color: #272727;
  overflow: hidden;
  border: 1px dotted red;
}

div.col2{
  display: inline-block;
  min-height: 900px;
  height: 100%;

  width: 620px;
  margin: 0px;

  vertical-align: top;
  border: 1px dotted red;
  overflow: hidden;
}

您还应指定:

padding: 0;
也许你有:

<div class="col1">
    Stuff 1
</div>
<div class="col2">
    Stuff 2
</div>

材料1
材料2
??如果是这样的话,那么这可能是一个空白问题(事实证明,空白在html中确实很重要)。这应该可以解决这个问题:

<div class="col1">
    Stuff 1
</div><div class="col2">
    Stuff 2
</div>

材料1
材料2

应用float:left,这将删除空格,因此文本不必在一行上。

或者,要在不更改源代码格式的情况下修复此问题,您可以创建一个附加元素

如果您在列表中执行此操作,它将如下所示:

ul{字间距:-1em;} ul li a{字间距:0;}
此外,这里还列出了一些有用的技术:


具有属性
inline block
的元素的行为将如同它们是内联的(因此命名),因此遇到的任何空白都将被视为空格。例如:

<div></div><div></div>
或者在父对象上设置属性
zoom:1
,即

parent {
    display: inline-block;
    font-size: 0
}
parent * {
    font-size: 12px
}
parent {
    display: inline-block;
    zoom: 1
}

对父元素执行简单的
font-size:0

使父元素
font-size:0
也可以解决问题


材料1
材料2
.col set{font size:0;}
.col set>div{font size:12px;}

是的,我有点红色边框显示元素的位置。我试过firebug,但它并没有将间距归因于任何元素样式。这太傻了,谢谢它奏效了!更准确地说,这在这里很重要,因为块被视为内联(由于内联块)很好的捕获!我不容易找到它。不幸的是,这个答案需要修改标记(这不是CSS应该修复的吗?:-/),并且不会分叉用于后处理/整理标记(如ASP.NET WebForms中生成的标记)。@user166390 OP专门将div设置为内联元素,因此,它们的行为将类似于内联元素,修改后的标记是必要的,以使它们在没有空间的情况下相互对接(除非在第二列DIV上设置负边距)。CSS不会改变W3C规范处理内联元素的方式。如果要在不改变标记的情况下完成此操作,则需要将元素向左浮动。@Pavel:此网站的工作方式与其他论坛略有不同。当你找到一个有用的答案时,你应该通过点击旁边的向上箭头向上投票。如果该问题解决了您的问题,您应该单击它旁边的bog复选标记,该问题将被标记为已解决。无需在问题标题中添加[已解决]。欢迎来到heh谢谢,我还没有足够的勇气去投票:)@Pavel:但是你可以通过点击绿色的复选标记来选择一个被接受的答案。如果只
float:left
没有完全不同的语义……这在androidit上有一个错误,例如,在父元素上字体大小为0,然后在子元素上设置为1.5rem
<div>
    //CONTENT
</div><!--
--><div>
    //CONTENT
</div>
parent {
    display: inline-block;
    font-size: 0
}
parent * {
    font-size: 12px
}
parent {
    display: inline-block;
    zoom: 1
}