您的位置:首页 > 其它

ul/li的使用及浏览器兼容问题

2009-11-29 12:41 309 查看
大家都知道 ul 默认值中,IE 给了 ul 一个 margin 值,而 FF 给了一个 padding 值。如果我们给 ul 加上一个背景或者框架,它就会露出原形,也就是在 IE 中项目符号是在 ul 外面,所以 ul 的宽度是不把项目符号算在里面的(如下图1);而 FF 是把项目符号算在 ul 里面的(下图2)。这样对 CSS 解释的差异就导致了在不同浏览器中会产生不同的效果。

在实际应用中,我们会先把样式重置-css reset(如上图3)。把 margin:0;padding:0; 后会发现项目符号不见了。添加 list-style-position:inside; 后项目符号又回来了(如上图4)。
list-style-position:outside: 列表项目标记放置在文本以外,且环绕文本不根据标记对齐。
inside: 列表项目标记放置在文本以内,且环绕文本根据标记对齐。
li 浮动后,项目符号在 IE 下不会显示,但在 FF 下显示正常。不过我们经常需要的效果是不让显示项目符号,所以这个 IE BUG 可以基本不管啦。但是一定要设置 list-style-type:none; 要不然你会发现在 FF 中依然会出现项目符号的。
这里介绍一个属性 display:list-item; 将块对象指定为列表项目,并可以添加可选项目标志,也就是 ul/li 的简化版,在 div 和 P 中可以设置为列表显示,并且可以为列表项目添加符号。
通常我们不会用默认的项目符号,因为浏览器的不同,它的位置和大小在各个浏览器中的渲染也是有差异的,而且它不能精确定位,所以一般我们都是通过对 li 设置图片背景 backgroud-image: url() no repeat; 来模拟项目符号的。
下面是项目符号的系统样式:list-style-type:

这是原文网址:
http://www.abaonet.com/makeWeb/xhtml/xhtmlList/200911/2255.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: