100%的子div在不同的行上

时间:2012-03-22 10:37:13

标签: css

我不确定为什么div不在同一条线上:

http://jsfiddle.net/LXHfy/

我怎样才能做到这一点?如果我使用40%的2个孩子div正确对齐。

我不是要求浮动解决方案。我只是想知道为什么这不起作用。

3 个答案:

答案 0 :(得分:2)

简单:

  • 您的父div为100px
  • 儿童是内联(并排)
  • 儿童为50%(50px)

然而,当使用内联块时,换行符/空格会在元素之间引入“间隙”,因此50px + 50px +“gap”=大于父级的宽度,迫使孩子在另一个下面包裹而不是坐在旁边

为避免这种差距,请不要放空格:

<parent>
    <child>foo</child><child>bar</child>
                     ^^^--no gap, whitespace or newline between

通常,我在列表项上这样做,以便结束和打开没有空格:

<ul>
   <li>
       item
   </li><li> //close and open immediately, no gaps
       item
   </li><li>
       item
   </li>
</ul>

答案 1 :(得分:0)

你必须使用浮动div。添加:

float: left;

并使用property:

停止浮动添加到行空div的末尾
clear:both;

答案 2 :(得分:0)

显示:内联块始终从右侧开始一些间距。因此,我们可以将font-size:0word-spacing:1emletter-spacing:1em移除到那里的parent.Write,如下所示:

.parent {font-size:0;}
.child {font-size:15px}

选中此http://jsfiddle.net/LXHfy/6/