1、 Firefox 与 IE 下 UL 预设标记的异同列表 UL 或是 OL 中都有一个预设标记,这个标记可能是实点圆点,也可能是数字。在实际的应用中,我们需要去掉这个预设标记,但我们不清楚这个预设标记是存在于什么位置。因为 IE 与 FF 似乎在处理 UL的预设标记时都有着不同的方式:我们来写一个 UL 的 HTML 代码结构:HTML 结构: 建设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡|人民币应成世界货币 ? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市“麻烦” 未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 运行代码框 Firefo
2、x 与 IE 下 UL 预设标记的异同 建设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡|人民币应成世界货币? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市“麻烦”未了|底特律房子比车子便宜 网络报告: 美国是黑客大本营 中国是最大受害国 Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行 这个 UL 在不同的浏览器中的显示基本上是差不多的。那么我们设定一下 CSS 试着看一下 IE 与 FF什么地方不一样:CSS 代码:ul background:#ddd; padding:0; 运行代码框 Firefox 与 IE 下 UL 预设标记的异同 /*/ 建设部
3、通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡| 人民币应成世界货币? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市 “麻烦”未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行 现在只把 padding 的值设为 0,这时我们看一下 IE 中除了多个背景之外并没有什么变化,但是 FF中的预设标记不见了!这里要注意的是 IE 中的预设标记是在背景外的。我们再来换个方式来设置:CSS代码:ul background:#ddd; margin:0; 运行代码框 Firefox 与 IE 下 UL
4、预设标记的异同 /*/ 建设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡| 人民币应成世界货币? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市 “麻烦”未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行 这里我们再看,情况相反,IE 的预设标记不见了,而 FF 中的预设标记还在,这里要注意的是这时FF 中的预设标记是在背景里的。当然我们这里有点不理解了,到底这是为什么呢?这个预设标记究竟是在什么地方的呢?下面我们通过一个实例来看一下 UL 的预设标记是在什么地方的! HTML 结构: 建
5、设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡|人民币应成世界货币 ? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市“麻烦” 未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 CSS 代码:ul background:#ddd; padding:100px; margin:100px; border:100px solid #eee; li background:#aaa; 运行代码框 Firefox 与 IE 下 UL 预设标记的异同 /*/ 建设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡| 人民币应成世界货币? 首都机场
6、一香港乘客制造炸弹威胁导致航班延误 美国房市“麻烦”未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行这时我们看到, margin 区域是最外围的白色部分,往里有点灰色的是 border,再往里是更深一点的灰色,这个区域是 padding,最深的区域是内容区。而预设标记正处在 padding 的区域,那么是不是说把 padding 区去掉这个预设标记就会消失呢?我们把 CSS 做一下修改:CSS 代码:ul background:#ddd; padding:0; margin:100px; border:100p
7、x solid #eee; li background:#aaa; 运行代码框 Firefox 与 IE 下 UL 预设标记的异同 /*/ 建设部通报八起房地产交易违法、违规典型案例 周小川表态引发美元震荡| 人民币应成世界货币? 首都机场一香港乘客制造炸弹威胁导致航班延误 美国房市“麻烦”未了|底特律房子比车子便宜 网络报告:美国是黑客大本营 中国是最大受害国 Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行我们把 padding 设为 0 后发现预设标记依然还在,不过这时他处在了 border 的上面,那么我们可以根据上面推测出预设标记并不存在于 margin,padding 或
8、是 border 中,margin,padding 与border 只不过为预设标记提供了一个存在并显示的空间。而这个预设标记是浮于 margin,padding 与 border之上的。那么这时我们大致上可能已经理解了,其实 IE 与 FF 对于 UL 的默认值的设定是不一样的,IE给了 UL 一个 margin 值,但是却没有给 padding 值,所以 IE 中 UL 的预设标记点是在背景外的。而 FF 相反给了一个 padding 值却没有给 margin 值,所以在 FF 中 UL 的预设标记点是在背景内的。但是依据上面的实例我们清楚,这个预设标记点不属于 paading 也不属于 margin。他只属于内容部分,他一直是在内容的外边缘,当然我们还可以通过 CSS 来设置其在内容的内边缘。基本方式请查阅 CSS2 中文手册通过上面的例子我们清楚了,想要让这个预设标记消失光用 margin:0;与 padding:0;因为如果出现了 border 的宽度达到一定的数值时这个预设标记还是会出现的。所以正确的写法是:margin:0; padding:0; list-style:none;虽然预设标记很不错,但是却没办法精确控制,所以在实际应用中并不推荐使用,还是用背景图来代替!