为什么这两个div之间存在差距

时间:2013-06-17 10:50:53

标签: html css

http://jsfiddle.net/D9gnP/110/

在两个栏目之间有一点差距。从哪里出现差距我什么都没设置?

这有什么东西与显示:这些元素的内联块?他们有内部保证金吗?

  <div id="wrapper" style="margin:auto;background-color:yellow;height:100%;">
      <div style="width:50px;height:100%;">
        <div class="fluid-column" style="height:80%; background-color:green;">
          <div style="background-color:#ff99cc; height:25%;">1</div>
          <div style="background-color:#ff33cc; height:50%;">2</div>
          <div style="background-color:#ff66cc; height:25%;">3</div>
        </div>
        <div class="fix-column" style="height:20%; background-color:violet">
          <div style="background-color: orange;height:50%;">Total</div>
          <div style="background-color: blue;height:50%;">Test</div>
        </div>
      </div>
    </div>

body, html {
    width:100%;
    height:100%;
    margin:0;
    padding:0;
}
div {
    text-align:center;
    text-indent:-0.5em;;
}
div span {
    display:inline-block;
    height:100%;
    vertical-align:middle;
    width:0;
}

4 个答案:

答案 0 :(得分:1)

由于元素是内联的,因此它们被视为这样,包括由于空白而产生的空格。

尝试删除元素之间的空白区域(包括新行)。

<div>Content</div><!-- this white space/new line causes the gap -->
<div>Content</div>

<div>Content</div><div>Content</div><!-- no new line/white space, no gap-->

您也可以将其添加到容器元素中进行调整:

word-spacing: 0;

或者你可以使用浮动元素:)

请参阅此处,如果只删除空格,则按预期工作:http://jsfiddle.net/D9gnP/121/

答案 1 :(得分:0)

我认为HTML标记中的空格 - 标记之间的缩进 - 会被浏览器解释。在设计水平导航频段时,我遇到过类似的问题。

不幸的是,除了完全不同的布局之外,我发现的唯一解决方案是编写没有任何空格的HTML标记,这可能会非常难看。

答案 2 :(得分:0)

这是因为HTML中有空白区域。 尝试删除两个列div之间的中断并且它已经消失,或尝试此解决方案:

How to remove the space between inline-block elements?

答案 3 :(得分:0)

为您的html粘贴此代码:

<div id="wrapper" style="background-color:yellow;height:100%;">
    <div style="width:50px;height:100%;display:inline-block;">
        <div class="fluid-column" style="height:80%;background-color:green;">
            <div style="background-color:#ff99cc;height:25%;"> <span></span>1</div>
            <div style="background-color:#ff33cc;height:50%;"><span></span>2</div>
            <div style="background-color:#ff66cc;height:25%;"><span></span>3</div></div>      
        <div class="fix-column" style="height:20%;background-color:violet">
            <div style="background-color:orange;height:50%;"> <span></span>Total</div>
            <div style="background-color:white;height:50%;"><span></span>Test</div>
        </div>
    </div><div style="width:50px;height:100%;display:inline-block;">
        <div class="fluid-column" style="height:80%;background-color:green;">
            <div style="background-color:#ff99cc;height:25%;"> <span></span>1</div>
            <div style="background-color:#ff33cc;height:50%;"><span></span>2</div>
            <div style="background-color:#ff66cc;height:25%;"><span></span>3</div></div>      
        <div class="fix-column" style="height:20%;background-color:violet">
            <div style="background-color:orange;height:50%;"> <span></span>Total</div>
            <div style="background-color:white;height:50%;"><span></span>Test</div>
        </div>
    </div>
</div>

注意源代码中的2个div之间没有任何内容.ex:

<div>data</div><div>data</div>