关于ol和ul的padding和margin默认值

  发布时间:2014-10-26 17:54:59   作者:佚名   我要评论
这篇文章主要介绍了关于ol和ul的padding和margin默认值,需要的朋友可以参考下

在《CSS Mastery》一书的第5章中,作者说IE和Opera使用margin-left来缩进列表,而Safari和Firefox使用padding-left。经过我的实际测试,发现Opera 9(我实测的是Opera 9.23)同FF和Safari一样,也是使用padding-left的。更精确的说,它们的默认样式应该是:

ol, ul { padding-left:40px; }

而IE的默认样式是:

ol, ul { margin-left:30pt; }

Opera 8或者以前的版本是否和IE一样?有兴趣的同志可以自行测试。

但这至少说明一点,除了微软之外的浏览器厂商都达成一致意见,list的缩进应该使用padding来控制。其实这很好理解,缩进的是每一个item而不是整个的list。设计者对list有怎样的期望呢?比如说设置了ul的background:green,多数人应会期待整个ul(即包括了padding的部分)都使用绿色背景色,而不会希望在list的左侧缺失30pt(通常等于40px)。其次,marker部分(就是item之前的小圆点或者数字序号部分)是在li之外的,但从逻辑上说它属于list的一部分,在list之内。而IE使用margin,实际上就导致了marker部分是悬于list之外。实际上,如果list获得了layout(hasLayout),你就发现marker不见了!因为在IE臭名昭著的layout模型里,hasLayout之后,元素对象会自行处理其所占据区域的呈现,但是无法处理其区域之外。这也是其的width/height实际上类似min-width/min-height的原因,因为它无法绘制overflow到外面的部分。

CSS Code复制内容到剪贴板
  1. <style>   
  2. ol { background:green; }   
  3. ol#myList2 { zoom:1; }   
  4. </style>   
  5.   
  6. <ol id="myList1">   
  7.     <li>First item...</li>   
  8.     <li>Second item...</li>   
  9.     <li>Third item...</li>   
  10. </ol>   
  11.   
  12. <ol id="myList2">   
  13.     <li>First item...</li>   
  14.     <li>Second item...</li>   
  15.     <li>Third item...</li>   
  16. </ol>  


所以,比较好的方法就是给所有网页统一list的margin和padding,比如:
ol, ul { margin-left:0; padding-left:40px; }

或者也可以只针对IE进行修复:

ol, ul { _margin-left:0; _padding-left:40px; }

下面是其他网友的补充:

UL标签的padding与margin默认值 40px

UL标签的padding与margin默认值

ul标签在FF中默认只有padding值(即:padding-left:40px),而在IE中只默认有margin值(即:margin-left:40px),所以先定义 ul{margin:0;padding:0;}就能解决大部分问题。

一般都在总样式规定一下:body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,img {padding:0;margin:0;}

相关文章

  • CSS 之margin知识点(必看)

    下面小编就为大家带来一篇CSS 之margin知识点(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-10
  • css布局之负margin妙用及其他实现

    这篇文章主要为大家详细介绍了css布局之负margin妙用及其他实现的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • CSS的margin属性在页面布局中的使用攻略

    margin属性可以决定很多HTML元素的宽高度,因而在布局方面也能够有很重要的作用,接下来我们就来看一下CSS的margin属性在页面布局中的使用攻略
    2016-05-26
  • 细说CSS中margin属性的使用

    这篇文章和大家详细说一说CSS中margin属性的使用,重点描述了关于margin,我们日常不太容易发现的“坑,感兴趣的小伙伴们可以参考一下
    2016-02-25
  • 深入解析CSS中margin属性的使用

    这篇文章主要介绍了CSS中的margin属性的使用,margin是元素盒模型(box model)的基础属性,常被用来设置外边距,实际用途非常广泛,需要的朋友可以参考下
    2016-02-02
  • CSS中使用负margin值来调整居中位置

    这篇文章主要介绍了CSS中使用负margin值来调整居中位置的方法,文中同时提到了这种常用方法的一些值得注意的地方,需要的朋友可以参考下
    2015-07-15
  • CSS属性探秘系列(六):margin

    margin 简写属性在一个声明中设置所有外边距属性。该属性可以有 1 到 4 个值。这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。块级元素的垂直相
    2014-10-22
  • 关于负margin的一些应用

    下面小编就为大家带来一篇关于负margin的一些应用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-12

最新评论