当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > css ul li 的使用及浏览器兼容问题

CSS样式表
web标准常见问题集合4
web标准常见问题集合5
我的一些关于web标准的思考笔记(一)
关于filter滤镜应用于图片的两种创意
Div+Css(+Js)菜单代码及制作工具
css写菜单:简洁注释版
标准布局应用:显示/隐藏侧边栏 [附详细注解]
小心:CSS代码书写顺序不同,导致显示效果不一样
解决鼠标在 flash 链接上不停闪动的问题(web页面中)
从gb到utf-8
html在线编辑器的更新[2006-05]
对hao123进行重构
韩国商业网站设计分析
模仿combox(select)控件,不用为美化select烦恼了。
【已解决】标签页刷新问题
以前写的两个CSS树形菜单
CSS样式表的背景渲染效率
第1天:选择什么样的DOCTYPE
第2天:什么是名字空间
第3天:定义语言编码

CSS样式表 中的 css ul li 的使用及浏览器兼容问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 304 ::
收藏到网摘: n/a

如果我们给 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