css reset 以及哪些元素有默认margin padding值

很多网站在css reset 的时候有如下做法:

body, ul, ol, li, p, h1, h2, h3, h4, h5, h6, form, label, dl, dt, dd,fieldset, img {

  1. margin: 0;
  2. padding: 0;
  3. border: 0;
  4. list-style: none;

}

也许你有些许怀疑,上面列出的标签都有默认的 margin 和 padding 值么,是不是不管三七二十一,

就统统直接 margin:0 , padding:0  呢?

今天我们针对 body p ul ol dl dd 标签来做一个实验:

首先是 html 代码:

不加任何 css reset,只添加  ul,ol,dl{ width:200px; height:100px; border:1px solid #f00; }

我们看到在 chrome 下表现是这样的:

在 firefox  和 safari 下有相同的表现:

于是我们有如下总结:

1、body 水平垂直方向默认有 10px 的 margin 值;

2、p,ul,ol,dl 标签垂直方向默认有 20px 的 margin 值,且这几个标签之间 20px 间距不重复;

3、dd 标签在水平方向默认有 40px 的 margin 值;

4、ul,ol 标签水平方向默认有 40px 的 padding 值(ie6/7下无)。

添加如下样式后 firefox 下的表现:

body,p,ul,ol,dl,dd{ margin:0; }

ul,ol{ padding:0; list-style-position:inside; }

以上在 chrome 和 safari 下表现相同。

之所以对 ul,ol 添加 list-style-position:inside

是因为有如下发现:

1、ul,ol 设置 padding:0后,li 的项目符号(圆点或序号)消失,添加 list-style-position:inside

可恢复项目符号;

2、ul,ol 标签对其添加 width 后,ie6/7 下无项目符号(圆点或序号),添加 list-style-position:inside

可恢复项目符号。

ie7 下表现如:

以上在 ie6 下表现相同,故不重复上图。

对 ul,ol 添加 list-style-position:inside 后,ie6下表现:

以上表现在 ie7 下相同。

综上所述,我们 css reset 时也许可以这样:

body, h1, ...,p, ul, ol, dl, dd{ margin:0; }
ul,ol{ padding:0; }


ps:因实验所用ie6、ie7浏览器为ieTester工具,故实验所得数据或结果可能不够准确,如有错误请批评支出。
时间: 2024-11-03 15:06:58

css reset 以及哪些元素有默认margin padding值的相关文章

总结那些有默认margin,padding值的html标签

一.h1~h6标签:有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16,17,20; 在safari中:16,15,14,16,17,19; 在opera中:16,15,14,14,17,21; 在maxthon中:16,14,14,15,16,18; 在IE6.0中:都是19: 在IE7.0中:都是19: 在IE8.0中:16,15,14,16,17,19; 二.dl

【CSS黑科技2】CSS百分比实现高度占位自适应(margin/padding)

| 导语 在很多场景下,我们都需要给容器设定宽高比,实现自适应占位,巧用margin/padding可以让我们实现我们的需求 基本知识点 本文依赖于一个基础却又容易混淆的css知识点:当padding/margin取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的! 哈,top/left以父元素的width为参照物还好理解,但top/bottom不是以height更符合我们的预期吗?有疑惑很简单,看官方解释: 举个栗子 我们有个页面,如

关于css reset

什么叫做css reset呢?即重置css,也就是重置默认样式.一些标签元素在HTML下有一个默认属性值,我们在写css页面的时候,为了避免在css中重复定义它们,我们需要重置默认样式(css reset). 以前使用最多*{margin:0;padding:0},但其格式化太严重,慢慢被废弃. 个人认为:应根据需求,量体裁衣. /* reset */html{color:#000;background:#fff;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h

CSS中块级元素水平格式化

CSS中块级元素的(width+padding+marninig+border)因该等于其包含块的width.其中margin可能为负值,其他均为正值. 如果width和margin-left和margin-right都设置为auto的话,浏览器代理会默认将margin-left和margin-right设为0,将width设为包含块的width. 如果width与margin-left.margin-right其中一个为auto,而另一个margin设为固定值的话,浏览器代理会把为auto的那

6大主流浏览器中,各个html标签默认的padding和maring

这篇资料列举了6大主流浏览器中,各个html标签默认的padding和maring.单位是px[Firefox;Chorme;Safari;Opera;Maxthon;IE6,7,8] 一:h1~h6标签 有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16,17,20; 在safari中:16,15,14,16,17,19; 在opera中:16,15,14,14,17

rest.css不同浏览器元素的默认设置不同,使用reset.css来统一不同浏览器标签样式

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol,

重置浏览器的默认样式(css reset)

(1)定义:首先css reset指的是重置浏览器的默认样式 (2)作用:因为现在的浏览器很多,并且每个浏览器都有自己的默认样式,这样就会导致一个页面在多个浏览器下展示产生差异,所以我们需要做一些处理使每个浏览器下展示一致,故需要css reset (3)内容:第一个:*{padding:0;margin:0;border:0;}第二个:你所用到的元素{padding:0;margin:0;border:0;},然而第一个虽然写起来简单,但是它却会将所有的标签重置,而我们可能没有必要将那么多的元

css 行内元素 块元素 替换元素 非替换元素 以及这些元素的width height margin padding 特性

一.各种元素的width height margin padding 特性(具体css元素的分来参看二) 1.块级元素 width. height. margin的四个方向. padding的四个方向都正常显示,遵循标准的css盒模型.例如:div 2.行内替换元素 width. height. margin的四个方向. padding的四个方向都正常显示,遵循标准的css盒模型. 例如:img 2.行内非替换元素(重点) width. height不起作用,用line-height来控制高度.

重置默认样式 css reset

html { overflow-x:auto; overflow-y:scroll; } body, dl, dt, dd, ul, ol, li, pre, form, fieldset, input, p, blockquote, th, td { font-weight:400; margin:0; padding:0; } h1, h2, h3, h4, h4, h5 { margin:0; padding:0; } body {  color:#666666; font-family: