网页制作 
首页 > 网页制作 > 浏览文章

巧用隐藏和负边距实现兼容所有浏览器的ul和li并列效果

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

最终效果图如下:

巧用隐藏和负边距实现兼容所有浏览器的ul和li并列效果

(我写两个ul的原因是li只有一排和多排效果会不一样)

首先看我的写法,HTML很简单,就不贴了,只贴CSS代码,DEMO:

ul{overflow:hidden;zoom:1;background:#ddd;width:440px;margin-bottom:50px;margin-left:auto;margin-right:auto}li{float:left;display:inline;width:100px;height:100px;line-height:100px;text-align:center;margin:0 5px 10px;background:#aaa;}

大家可以打开上面的DEMO看效果,IE8、Chrome、FF都没问题,IE6效果如下:

巧用隐藏和负边距实现兼容所有浏览器的ul和li并列效果

这里就可以看出来,一排li和多排li效果不一样的,一个有底部一个没底部。

IE7效果如下:

巧用隐藏和负边距实现兼容所有浏览器的ul和li并列效果

IE7直接都没底部了。

在CSS群里讨论了大半天的时间,网友提出各种各样的方法,最后一位叫朵斯提的朋友,他的方法可以说是完美解决吧。DEMO

他的解决方法是在ul外面加div,然后把一直习惯li左右下边距改为上左右边距。上面多出来的边距用div隐藏,然后ul向上负边距,把上面多余的彻底盖住。基本思路就是这样,听不懂我说的可以看看核心CSS代码:

复制代码代码如下:
div{overflow:hidden;zoom:1;}ul{overflow:hidden;zoom:1;margin-top:-10px;padding-bottom:10px;background:#ddd;width:440px;margin-bottom:50px;margin-left:auto;margin-right:auto;}li{float:left;display:inline;width:100px;height:100px;line-height:100px;text-align:center;margin:10px 5px 0;background:#aaa;}

隐藏和负边距也一直在用,但结合起来用还是第一次,只能说自己用得还不够熟练啊!

上一篇:同一html页面中不同链接的不同样式的css代码
下一篇:CSS的z-index实例代码
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。