IE6/IE7和Firefox对Div处理的差异

豆豆网   技术应用频道   2007年08月08日  【字号: 收藏本文

内容摘要:IE6/IE7和Firefox对Div处理的差异

  内部一个Div修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }
.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }
.d3 { width:100px; min-height:40px; border:1px solid #cc0000; }

  显示结果如下。

  显示结果如下,显示结果如下!

  IE6/IE7和Firefox对Div处理的差异

  显示结果如下。:left的情况相同?

  这个结果中,Firefox有点离谱了,两个框叠在一起也就罢了,为什么那个红框会变大捏?而且变的大小也很诡异,不知道是按照什么公式计算出来的。IE在这里的显示应当是附和标准的。

  内部两个Div都修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }
.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }
.d3 { width:100px; min-height:40px; border:1px solid #cc0000; float: left; }

  这和前面第一种加float:left的情况相同。

  显示结果如下。

  IE6/IE7和Firefox对Div处理的差异

  在这种情况下,Firefox的结果尚能解释,可能是float把外层的Div也作为内层float影响的范围,这样内层的就不会将外层的Div撑大了。IE在这里出现了Margin失效的情况,可以解释为内层第二个float造成了影响。

  干脆把外层的Div也修改成为float:left

.d1 { width:250px; min-height:20px; border:1px solid #00cc00; float: left; }
.d2 { width:130px; min-height:40px; border:1px solid #0000cc; float: left; }
.d3 { width:100px; min-height:40px; border:1px solid #cc0000; float: left; }

  以上代码在下面这些Doctype下试验过,结果相同。

责编:豆豆技术应用

正在加载评论...