我有一个div标签,里面有一些其他元素,如下所示:
<div>
<h3>Text</h3>
<hr/>
<ul>
<li>Text</li>
</ul>
<hr/>
<span>Text</span>
</div>
在div中的每个不同元素之间,我为所有元素设置了0填充和边距(并且它反映在开发人员工具中),但是在所有Internet Explorer浏览器中都有很大的空间(大约4-6)每个元素之间的像素)。我已经尝试将html,body padding / margin设置为0,以及DOM层次结构中几乎所有其他元素,但是间距仍然存在。我也尝试过最小化HTML,因此没有新的行或空格,但它不能解决问题。
有什么建议可能是什么问题?
答案 0 :(得分:1)
我想问题是IE中的hr
元素...它不像其他HTML元素那样对待。有很多解决方案......但是当你想减少利润时,我无法让它们工作。
据说......通过反复试验,我设法获得IE的负边距,只能渲染才能工作。无法确定它是否适用于IE&lt; 6,IE7,IE&gt; 8(无法测试)。
最小的CSS代码片段:
<style>
hr {padding:0;margin:0;height:1px;border:none;color:#000;background-color:#000;}
</style>
<!--[if lte IE 8]>
<style>hr {display:block;margin:-7px 0;}</style>
<![endif]-->
...我把它限制在IE8以及更少,因为网络上的文字在IE9中会发生变化......我们会看到一旦它可以被测试:)。请注意,如果您想更改该行的颜色,则需要更改color
和background-color
的值(取决于使用的浏览器中的一个或另一个:ref)< / p>
经过测试和工作:
(在WinXP上)
答案 1 :(得分:0)
您看到的空间不是填充,边距或边框。您正在看到每个标记之间存在的“”字符。
选项:
1)设置要显示的所有元素:块或显示:内联块。 2)一个接一个地写入所有标签,解除所有SPACE或ENTER字符