Html 分区';s在IE中的位置是错误的
我知道有时是不可能的。我有6个div向右对齐,使用float。以下是代码:。问题是,在IE中,它位于杆的下方,应该定位在杆的下方 有什么解决办法吗?我听到很多开发人员谈论特别是IE的评论。他们会解决这个问题吗?我在兼容模式(IE9)下尝试过。如果在IE6中正确呈现,而在IE7中错误呈现,该怎么办?我应该只为IE 7添加特殊代码吗?或者没有这样的风险Html 分区';s在IE中的位置是错误的,html,css,Html,Css,我知道有时是不可能的。我有6个div向右对齐,使用float。以下是代码:。问题是,在IE中,它位于杆的下方,应该定位在杆的下方 有什么解决办法吗?我听到很多开发人员谈论特别是IE的评论。他们会解决这个问题吗?我在兼容模式(IE9)下尝试过。如果在IE6中正确呈现,而在IE7中错误呈现,该怎么办?我应该只为IE 7添加特殊代码吗?或者没有这样的风险 还有其他解决办法吗?简单一点的?谢谢IE条件标签可以帮上忙,但我不认为您的问题是由IE bug引起的 尝试以下变体: 区别在于容器.menuBar上
还有其他解决办法吗?简单一点的?谢谢IE条件标签可以帮上忙,但我不认为您的问题是由IE bug引起的 尝试以下变体: 区别在于容器
.menuBar
上的溢出:隐藏,这会导致元素自清除浮动元素
我还固定了高度以适应边框,并将.menuBarContainer
元素设置为100%宽度,以防止其溢出JSFIDLE
我没有在这台机器上运行IE,但我很确定它至少可以运行到IE7。如果我错了,请告诉我,我会再看一遍。您的问题是img标签。
如果你摆脱它,div将是它们的归属。
如果可以,将img放入div中。您不应该信任兼容模式IMHO。只有当您的操作系统具有IE9时才可以使用。
我在IE8-as-IE7、IE Tester等方面看到了(我的同事也看到了)不存在的bug
是的,它们是巨大的,但它可以让你免于数小时调试不存在的bug。(旧的)IE中已经有足够多的真正的bug了
至于你的问题,它存在于IE6和IE7中,我可以用img{float:left;}
解决它,但我还不能确定它是否是最好的解决方案。为了在旧的Internet Explorer版本上正确显示以及更好的跨浏览器支持,你需要浮动相反的元素:
看看这个例子
添加此CSS
.menuBar .menuBarContainer img {
float: left;
}
.clear {
clear:both;
}
此外,您还需要考虑一个包含浮动元素的元素将在<代码>高度> /代码>中崩溃,因为子浮动元素不再在正常文档流中。
这意味着您的.menuBarContainer
将没有高度
,因此可能会导致后面的元素出现视觉问题。解决此问题的最佳方法是在关闭此元素之前使用CSSclear
:
CSS
.menuBar .menuBarContainer img {
float: left;
}
.clear {
clear:both;
}
这意味着.menuBarContainer
的下边框将位于浮动元素占用的空间之后,从而允许.menuBarContainer
保持其高度,确保正常的文档流
作为旁注,您的小提琴示例上有一个额外的结束语。我将它放在一个div中,将float设置为left,现在就可以了:)谢谢