Firefox与IE下UL预设标记的异同

列表UL或是OL中都有一个预设标记,这个标记可能是实点圆点,也可能是数字。在实际的应用中,我们需要去掉这个预设标记,但我们不清楚这个预设标记是存在于什么位置。因为IE与FF似乎在处理UL的预设标记时都有着不同的方式:我们来写一个UL的HTML代码结构:

HTML结构:

<ul>
<li>建设部通报八起房地产交易违法、违规典型案例 </li>
<li>周小川表态引发美元震荡|人民币应成世界货币?</li>
<li>首都机场一香港乘客制造炸弹威胁导致航班延误</li>
<li>美国房市“麻烦”未了|底特律房子比车子便宜</li>
<li>网络报告:美国是黑客大本营 中国是最大受害国</li>
</ul>

运行代码框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Firefox与IE下UL预设标记的异同</title></head><body><ul> <li>建设部通报八起房地产交易违法、违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹威胁导致航班延误</li> <li>美国房市“麻烦”未了|底特律房子比车子便宜</li> <li>网络报告:美国是黑客大本营 中国是最大受害国</li> </ul> </body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这个UL在不同的浏览器中的显示基本上是差不多的。那么我们设定一下CSS试着看一下IE与FF什么地方不一样:

CSS代码:

ul {background:#ddd; padding:0; }

运行代码框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Firefox与IE下UL预设标记的异同</title> <style type="text/css"> /*<![CDATA[*/ ul {background:#ddd; padding:0; } /*]]>*/ </style></head><body><ul> <li>建设部通报八起房地产交易违法、违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹威胁导致航班延误</li> <li>美国房市“麻烦”未了|底特律房子比车子便宜</li> <li>网络报告:美国是黑客大本营 中国是最大受害国</li> </ul> </body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

现在只把padding的值设为0,这时我们看一下IE中除了多个背景之外并没有什么变化,但是FF中的预设标记不见了!这里要注意的是IE中的预设标记是在背景外的。我们再来换个方式来设置:

CSS代码:

ul {background:#ddd; margin:0; }

运行代码框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Firefox与IE下UL预设标记的异同</title> <style type="text/css"> /*<![CDATA[*/ ul {background:#ddd; margin:0; } /*]]>*/ </style></head><body><ul> <li>建设部通报八起房地产交易违法、违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹威胁导致航班延误</li> <li>美国房市“麻烦”未了|底特律房子比车子便宜</li> <li>网络报告:美国是黑客大本营 中国是最大受害国</li> </ul> </body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这里我们再看,情况相反,IE的预设标记不见了,而FF中的预设标记还在,这里要注意的是这时FF中的预设标记是在背景里的。当然我们这里有点不理解了,到底这是为什么呢?这个预设标记究竟是在什么地方的呢?下面我们通过一个实例来看一下UL的预设标记是在什么地方的!

HTML结构:

<ul>
<li>建设部通报八起房地产交易违法、违规典型案例 </li>
<li>周小川表态引发美元震荡|人民币应成世界货币?</li>
<li>首都机场一香港乘客制造炸弹威胁导致航班延误</li>
<li>美国房市“麻烦”未了|底特律房子比车子便宜</li>
<li>网络报告:美国是黑客大本营 中国是最大受害国</li>
</ul>

CSS代码:

ul {background:#ddd; padding:100px; margin:100px; border:100px solid #eee; }
li {background:#aaa;}

运行代码框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Firefox与IE下UL预设标记的异同</title> <style type="text/css"> /*<![CDATA[*/ ul {background:#ddd; padding:100px; margin:100px; border:100px solid #eee; } li {background:#aaa;} /*]]>*/ </style></head><body><ul> <li>建设部通报八起房地产交易违法、违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹威胁导致航班延误</li> <li>美国房市“麻烦”未了|底特律房子比车子便宜</li> <li>网络报告:美国是黑客大本营 中国是最大受害国</li> </ul> </body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

这时我们看到,margin区域是最外围的白色部分,往里有点灰色的是border,再往里是更深一点的灰色,这个区域是padding,最深的区域是内容区。而预设标记正处在padding的区域,那么是不是说把padding区去掉这个预设标记就会消失呢?我们把CSS做一下修改:

CSS代码:

ul {background:#ddd; padding:0; margin:100px; border:100px solid #eee; }
li {background:#aaa;}

运行代码框

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="zh-CN" /> <title>Firefox与IE下UL预设标记的异同</title> <style type="text/css"> /*<![CDATA[*/ ul {background:#ddd; padding:0; margin:100px; border:100px solid #eee; } li {background:#aaa;} /*]]>*/ </style></head><body><ul> <li>建设部通报八起房地产交易违法、违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹威胁导致航班延误</li> <li>美国房市“麻烦”未了|底特律房子比车子便宜</li> <li>网络报告:美国是黑客大本营 中国是最大受害国</li> </ul> </body></html>

    [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

我们把padding设为0后发现预设标记依然还在,不过这时他处在了border的上面,那么我们可以根据上面推测出预设标记并不存在于margin,padding或是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;

虽然预设标记很不错,但是却没办法精确控制,所以在实际应用中并不推荐使用,还是用背景图来代替!

时间: 2024-09-13 19:58:14

Firefox与IE下UL预设标记的异同的相关文章

兼容:Firefox与IE下UL预设标记的异同

列表UL或是OL中都有一个预设标记,这个标记可能是实点圆点,也可能是数字.在实际的应用中,我们需要去掉这个预设标记,但我们不清楚这个预设标记是存在于什么位置.因为IE与FF似乎在处理UL的预设标记时都有着不同的方式:我们来写一个UL的HTML代码结构: HTML结构<ul> <li>建设部通报八起房地产交易违法.违规典型案例 </li> <li>周小川表态引发美元震荡|人民币应成世界货币?</li> <li>首都机场一香港乘客制造炸弹

ul在Firefox和IE下的不同表现

最近做了个oblog的系统模板,其中涉及到了ul,所以就整理出了这篇文章+这张大图. ul是一个很常用的标签,但是因为它在Firefox和IE下的不同表现,让人觉得它是个很难以控制的标签. ul在Firefox下有个padding值, 却没有margin值:而在IE下正好相反,ul有个margin值, 却没有padding值.[下图中的第二第三例的对照可以看出] 在Firefox下,ul的list-style默认是处于内容的外边缘的.当然可以通过css可以将list-style置为内容的内边缘.

css中的background在firefox ie7 ie6下不同的表示

css中的background在firefox ie7 ie6下不同的表示

在firefox和Chrome下关闭浏览器窗口无效的解决方法

 首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的,但是可以通过一些特殊的手段进行关闭 首先IE是可以通过window.close()来关闭浏览器窗口的,但是在firefox和Chrome下是无效的.    原因在于:    Firefox下默认设置是无法通过脚本来关闭浏览器窗口的,为的是防止恶意脚本注入,    所以调整的方式就是在url地址栏中输入about:config,    然后在配置列表中找到 dom.allow_scri

Ajax请求过程中下载文件在FireFox(火狐)浏览器下的兼容问题_AJAX相关

需求很简单,点击一个文件链接下载该文件,同时向后台发送请求.需求很常见,用户点击下载后通常要进行下载量的统计,统计的话可以利用 script标签 或者 img标签(图片ping) 的跨域能力,将它们的 src 属性指向统计地址,但是这次用了 ajax 进行统计,遂出现了这个问题. demo 代码如下: <a id="a" href="http://c758482.r82.cf2.rackcdn.com/Sublime Text 2.0.2 x64 Setup.exe&q

CSS样式表在Firefox和IE下的区别

总结的一些CSS在FF和IE下的区别!可能不完整,以后会陆续补充. FireFox: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 FireFox: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 FireFox: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !impo

innerHTML在Firefox和Opera下的执行特例

执行 是在CSDN论坛看到的一个问题,平常我也没有注意,或者说没有这样用吧.看代码: 以下是引用片段: <body id="www.never-online.net">  <script>  var foo = function() {  var $ = function() { return document.getElementById(arguments[0]); }  $("d2").innerHTML = $("d1&qu

基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍_javascript技巧

检查bug的步骤 1. bug定位 在js脚本中,按照脚本执行的顺序,你可以用console或alert,来确定bug发生的代码区间,然后在区间内进一步来查找bug发生的具体代码段. 2. bug fix 通过排除,就是在插入节点内容的时候导致了bug,我用的是kissy的DOM.html()方法,其功能类似于DOM元素节点innerHTML方法,我起初认为是这个方法导致的IE6\7渲染出错,然后我换成了innerHTML方法,结果还是有误. 这时候我想到了内存泄露,看看是不是在循环拼接字符串的

关于火狐(firefox)及ie下event获取的两种方法_javascript技巧

经常有同事问我在火狐浏览器怎么获取event的方法,大多是想获取event.keyCode的功能两种方法 第一种方法: 复制代码 代码如下: function a(e){ e=e||window.event; alert(e.keyCode); } ie浏览器如下调用 复制代码 代码如下: <body onclick="a()"> firefox火狐浏览器如下调用 复制代码 代码如下: <body onclick="a(event)"> 这样