LI浮动后在各浏览器之间的差异

初次发帖,如有不对的地方请指正,谢谢...

昨晚看了无懈可击的WEB设计,上面就有提到[详见该书第30页],书上说的大概意思就是:浮动的<li>可以把原来文档的自然顺序打乱,从而导致外面定义了背景色的<ul>无法被撑开,换句话说,因为内部对象被浮动了,所以使得外围的<ul>无法确定自身的高度。

看完后试着自己弄,在IE6,7以及opera下却不会如此,纳闷的时候Firefox终于打开了…装了很多插件…终于发现了书中出现的问题。


 提示:您可以先修改部分代码再运行

下面是在IE6,IE7,Opera以及Firefox下的效果截图:

在IE6的显示如下:



在IE7的显示如下:【和IE6的显示基本一样,这个IE7是好久以前找到的专门测试页面用的,也不知道和IE7的效果是否完全一样,有IE7的朋友帮忙测试一下,谢谢】



在Opera的显示如下:注意三张图,都有细微的差别,这就是用DIV+CSS的烦人之处了



在Firefox的显示如下:这里是关键



确实让人讨厌,4个浏览器都有不一样的效果,或许IE6/7会比较好的,都是自家兄弟…呵呵

书本中给出的解决办法就是浮动UL,给UL也加上【float:left】;

给UL加了float:left后在Firefox的显示如下:



问题是解决了,却觉得郁闷,浏览器的标准何时才会统一呢?

给出代码页,有这4种浏览器的朋友可以试试,有不对的地方请指出,谢谢。

清除浮动的方法:.nav{ width:400px; background-color:#990; list-style:none; overflow:hidden; }

有话要说