平顶山网站建设公司,369互联,值得您信赖的伙伴!
在线咨询 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
您的位置:首页 > 网站建设

对Div处理 IE6/IE7和Firefox不同之处

发布时间:2010-05-29
  

  基本HTML代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"">
<html xmlns="" >
<head>
<title>Div Float Sample</title>
<style type="text/css">
div { margin:3px; }
.d1 { width:250px; min-height:20px; border:1px solid #00cc00; }
.d2 { width:130px; min-height:40px; border:1px solid #0000cc; }
.d3 { width:100px; min-height:40px; border:1px solid #cc0000; }
</style>
</head>
<body>
<div class="d1">
<div class="d2">&nbsp;</div>
<div class="d3">&nbsp;</div>
</div>
</body>
</html>

  以上代码显示的结果如下,很正常,结果相同。

  当然所有这些情况也许是有合理解释的,说不定增加某一个style的设置。

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

  下面会在这个基础上进行修改,修改的内容都在style中,其他代码就不再重复写了。

  请注意,这里的Style中用到了min-height,这个和height是不同的,min-height指定了对象的一个最小高度,当对象的子内容高度超过这个最小高度是,这个对象会自动撑大。这是一个非常牛的style,可惜的是,在这个style和float这个同样牛的style一起使用的时候,就会出现各种问题。

  内部一个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造成了影响。

(责任编辑:admin)本文仅代表作者观点,与个人站长网立场无关.

CONTACT
服务热线:400-999-1875
技术支持:0375-8888873 / 4913858
服务QQ:100929369 / 88254369
E-mail:100929369@qq.com
公司地址:河南省平顶山市建设路西段
中央花园13号楼6楼
平顶山网站建设,平顶山网站制作,369互联 联系方式。
专业为企事业单位提供网站建设、网站制作、网页设计、域名注册、虚拟空间租用等服务。copyright © 2009-2014 369互联 豫ICP备11002579号-1 直销大师