IE6边框底部:0&;填充CSS问题

IE6边框底部:0&;填充CSS问题,css,internet-explorer-6,border,padding,Css,Internet Explorer 6,Border,Padding,我刚刚遇到了一个IE6错误,我似乎无法通过网络识别它 基本上,这是触发行为时的情况:块元素在除底部之外的所有边上都有边框,并且有顶部/底部填充。在它里面还有另一个块元素 我的整个代码都太大了,不适合放在这里,但我把它缩小到了这个简单的例子: <div style="border: 5px solid red; border-bottom: 0; padding: 5px;"> <p>adasasasdas</p> </div> Follow

我刚刚遇到了一个IE6错误,我似乎无法通过网络识别它

基本上,这是触发行为时的情况:块元素在除底部之外的所有边上都有边框,并且有顶部/底部填充。在它里面还有另一个块元素

我的整个代码都太大了,不适合放在这里,但我把它缩小到了这个简单的例子:

<div style="border: 5px solid red; border-bottom: 0; padding: 5px;">
    <p>adasasasdas</p>
</div>
Following stuff

阿达萨达斯

下面的东西
现在出现的问题是,“下面的东西”的位置(不管是什么)会被奇怪地改变。在这种情况下,向左移动几个像素

要禁用这种奇怪的行为,我可以保留底部边框,去掉填充,或者将包含的元素内联。但我有点想要两者。在我不得不放弃之前,我想看看是否有关于这个bug的知识,以及是否有其他的修复方法

谢谢

我的解决办法是

<div style="border: 5px solid red; padding: 5px; padding-bottom:4px; border-bottom: 1px solid white;">
    <p>adasasasdas</p>
</div>
Following stuff

阿达萨达斯

下面的东西
但这可能不适用于您,具体取决于上下文。这可能会对您有所帮助


adasasasdas

以下内容


如果需要填充,请在
标记中调整填充,这是一个很好的bug修复程序:

<div style="border: 5px solid red; border-bottom: 0; padding: 5px; font-size:0">
    <p style="font-size:16">adasasasdas</p>&nbsp
</div>
Following stuff

adasasasdas

下面的东西


基本上,在div的末尾必须有一些内联文本,IE6才能正确地呈现它。由于在底部增加了一行,我将
div中的字体大小更改为0,然后在
中返回到16(或您通常使用的任何字体)。这对div的高度影响很小(在所有主流浏览器中大约为2像素),但用户不应该注意到它。或者,您可以尝试在
div
中将
行高变量更改为0%,然后在
p
中将行高变量更改为100%,但这似乎比我尝试时使用的
font size
方法将
div
的高度更改了多几个像素。

嘿,我知道这很旧,但我也花了几个小时来对付这个bug(事实上,我花了这么长时间才发现这是因为border bottom+padding bottom…这是一个遗憾,因为如果我知道搜索什么,我会更快地找到它)

无论如何,我突然想到,这是ie6中hasLayout问题的又一个表现。出于我的目的,突然将“zoom:1”添加到有问题的div中,并神奇地修复了它,这样做的好处是不必担心字体大小和线条高度等