巧用掩藏和负边距完成适配全部访问器的ul和li并

2021-03-11 22:58 jianzhan

最后实际效果图以下:

(我写两个ul的缘故是li仅有1排和多排实际效果会不1样)

最先看我的写法,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实际效果以下:

这里便可以看出来,1排li和多排li实际效果不1样的,1个有底部1个没底部。

IE7实际效果以下:

IE7立即都没底部了。

在CSS群里探讨了一大半天的時间,网友提出各种各样各种各样的方式,最终1位叫朵斯提的盆友,他的方式能够说是完善处理吧。DEMO

他的处理方式是在ul外面加div,随后把1直习惯性li上下下边距改成上上下边距。上面多出来的边距用div掩藏,随后ul向上负边距,把上面过剩的完全盖住。基础思路便是这样,听不懂我说的能够看看关键CSS编码:

拷贝编码
编码以下:

div{overflow:hidden;zoom:1;}ul{overflow:hidden;zoom:1;margin-top:⑴0px;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;}

掩藏和负边距也1直在用,但融合起来用還是第1次,只能说自身用得还不足娴熟啊!