提问人:Jeff 提问时间:10/20/2009 更新时间:10/20/2009 访问量:5269
这是哪个CSS错误?(margin-bottom,IE6 + IE7)
Which CSS bug is this? (margin-bottom, ie6 + ie7)
问:
在 ie6 和 ie7 中,from the 被应用于它下面的 AND。margin-bottom
p
p
div
换句话说,此代码将 20px 的 a 应用于 ie6 和 ie7 中的 和 。在任何版本的 FF、Opera、Chrome/Safari 或 ie8 中都没有问题。margin-bottom
p
div
<p style="margin-bottom: 20px;">Hello world!</p>
<div style="float: left; display: inline">
Hello world, part deux.
</div>
当然,从 div 中删除浮点数可以解决这个问题。这是哪个 ie/CSS 错误,如果有的话,我应该搜索什么来弄清楚如何修复它?
p.s. 不幸的是,我无法为 ,分配宽度。div
答:
0赞
Cᴏʀʏ
10/20/2009
#1
我想您可能会遇到此处解释的问题。不幸的是,修复的一部分是给宽度并使其 ,您不能做或已经做过的事情。也许它会帮助你理解为什么会发生这种情况......<div>
display: inline
评论
0赞
Jeff
10/20/2009
我很欣赏输入,但我的情况不是双边距错误。
3赞
Corey Ballou
10/20/2009
#2
float: left 实质上会导致 DIV 容器被推送到文档流中最左上角的位置。在这种情况下,由于前一个 P 标签未浮动,因此忽略边距底部。这将产生预期的效果,尽管不是很干净的代码:
<p style="float: left; display: inline; margin-bottom: 20px;">Hello world!</p>
<div style="clear: left; float: left; display: inline">
Hello world, part deux.
</div>
但是,理想的做法是简单地从元素中删除浮点数,并保留它们的预期状态(块级元素):
<p style="margin-bottom: 20px;">Hello world!</p>
<div>Hello world, part deux.</div>
也许我错过了这两个容器在你的情况下的预期效果。
评论
0赞
Jeff
10/20/2009
我想你已经开始了......我希望在父 div 上一直延伸(带有 bg 颜色等)并具有 20px。它下面的 div 应该向左浮动。p
margin-bottom
0赞
Corey Ballou
10/20/2009
出于任何给定的原因,您真的需要浮动 div 吗?它不应该跨越整个宽度吗?
0赞
Jeff
10/20/2009
是的,它应该向左浮动,因为它旁边会有几个 div(在它的右侧)......包含表单控件。为了简单起见,我将它们从上面的代码中省略了。
0赞
Jeff
10/20/2009
我真的很感谢你的投入。我发现实现我需要发生的事情的唯一方法是将 a 应用于与容器相同的 bg 颜色。不喜欢它,但这就是我所做的。border-bottom
p
0赞
Corey Ballou
10/21/2009
您应该尝试将所有浮动的 DIV 包装在父 DIV <div style=“overflow:hidden”></div 中>这将遵循 P 的边距底部,并且还会清除浮点数中包含的子项。
评论
border-bottom
p