设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 网页制作 >> CSS >> IE6/IE7和Firefox对Div处理的差异
精品推荐
CSS点击TOP10
·常用CSS大全
·CSS中文教程
·网页排版CSS教学
·DIV CSS网页布局实例解析:实现表格形式
·改变IE的字体大小设置时,页面字体不发生改变,怎样实现?
·网页制作小工具大全(下)
·css 所有属性如何快速记忆
·CSS+JS打造类似QQ的网站导航菜单特效
·用CSS制作的超漂亮实用的网页按钮
·HTML样式表CSS属性汇总
网页制作点击TOP10
·菜鸟架设动网论坛全教程
·网页模板的使用方法 (教程)
·网页对联广告代码效果大全
·常用CSS大全
·用JavaScript实现文件图片滚动效果
·初学者入门:如何学习网页制作?
·用Dreamweaver简单描述制作网页的基本步骤
·用HTML页面中的javascript函数控制Flash动画播放
·天极网软件频道的用JS实现的图片切换特效
·如何做才能成为一名优秀的网页设计师
精选专题

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

作者: 来源:http://www.xgdown.com/ 时间:2007-8-8 10:07:58

IE6/IE7和Firefox对Div处理的差异(2) .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的情况相同。

显示结果如下。

在这种情况下,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下试验过,结果相同。

显示结果如下,

这种情况下,Firefox正常了,而IE延续了前面的不正常情况。

外层是float:left,内层最后一个不再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; }

left的情况相同。所以最好是padding和margin都不用?

显示结果如下,

IE在这里的显示应当是附和标准的。

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

结论

再重申一次,本文讨论的是一个比较高级的话题。如果在style中用height而不是min-height来设定高度,是不会出现以上这些问题的。不过,不用min-height就失去了div自动撑大这一个很有必要的特性。

在min-height和float:left的情况下,没有一种完美的写法让Firefox和IE结果相同。不过仍然可以发现绕开的方法。

进一步试验可以发现,margin遭到的影响在padding上比较好,所以最好是padding和margin都不用,或者只用padding。

两者相同的代码如下,

div { padding:3px; }
.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; }

left的情况相同。当对象的子内容高度超过这个最小高度是。

显示结果如下,

呵呵,总算是一样了,虽然是凑合着一样了。幸好一样了,否则只好用table了。

当然所有这些情况也许是有合理解释的,说不定增加某一个style的设置,这些问题都迎刃而解了,不过目前我还没有找到这个设置。

关于Doctype

可惜的是,在这个style和float这个同样牛的style一起使用的时候。

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

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

共3页 9 7 [1] [2] [38 :>

IE6/IE7和Firefox对Div处理的差异 相关文章:
IE6/IE7和Firefox对Div处理的差异 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com