不能消除包含div的2个水平div之间的空间

wan*_*est 8 html css

应该很容易吧?只需将包含div的外部填充设置为零,并将外部div内的两个并排div设置为余量:0但这对2个水平div之间的空间没有影响.我需要的是红色轮廓的左侧div来触摸绿色轮廓的右侧div.

尽管我努力使用填充和边距,但两个div之间的空间不会消失.

我已经看了很多关于SO的答案,但到目前为止还没有人把它分解为这个简单的例子 - 我的小提琴显示了这个问题,

http://jsfiddle.net/Shomer/tLZrm/7/

这是非常简单的代码:

<div style="border: 4px solid blue; white-space:nowrap; margin:0; padding:0; width:80%">

   <div style="display:inline-block; width:45%; overflow:hidden; margin:0; border: 1px solid red"> Flimmy-flammy
    </div>

    <div style="display:inline-block; width:50%; overflow:hidden; margin:0px; border: 1px solid green"> Hambone-Sammy
    </div>

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

Jua*_*nus 17

你的div之间渲染的空间是空白(表示为点),折叠,在:

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

相反,尝试编码如下:

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

差距将消失.

  • 这是对这个问题的真正解释.谢谢. (4认同)

GG.*_*GG. 11

使用该float属性.

示例div { float: left; }:http://jsfiddle.net/tLZrm/10/.


Hul*_*orn 5

内联块之间的源代码中的空白会导致布局中出现间隙。通过删除空格(无论是单个空格还是某些换行符都无关紧要),元素将按预期接触。

可以通过注释掉空白或使空白出现在标签中来保留代码的格式,但代价很小。

使用评论:

<div>
   <div>Content</div><!--
   --><div>Content</div>
</div>
Run Code Online (Sandbox Code Playgroud)

在标签内放置换行符:

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


Nic*_*man 3

尝试这个:

<div style="border: 4px solid blue; margin:0; padding:0; width:80%; height: 50px;">

   <div style="float:left; display:inline-block; width:45%; overflow:hidden; border: 1px solid red;"> Flimmy-flammy
    </div>

    <div style="float: left; display:inline-block; width:50%; overflow:hidden; border: 1px solid green;"> Hambone-Sammy
    </div>

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