这两个区别都是比较容易混淆的问题,尤其是Class与ID,相信很多人并没有仔细了解过之中区别。以下是我的一些理解:
1. ID与Class的区别
ID,通常用于定义页面上一个仅出现一次的标记。在对页面排版进行结构化布局时(比如说通常一个页面都是由一个页眉,一个报头,一个内容区域和一个页脚等组成),一般使用ID比较理想,因为一个ID在一个文档中只能被使用一次。而这些元素在同一页面中很少会出现大于一次的情况。
至于Class,是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方:一个Class可以定义剧本中每个人物的故事线,你可以通过CSS,Javascript等来使用这个类。因此你可以在一个页面上使用class=”lay1″ ,class=”lay2″,class=”lay3″来区分不同的故事线。还有一点非常重要的是你可以在一个文档中使用任意次数的Class。
归纳成一句话就是:Class可以反复使用而ID在一个页面中仅能被使用一次。有可能在很大部分浏览器中反复使用同一个ID不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题。(刚才在Dreamweaver中试了一下,确实,并没有出错)
在实际应用的时候,Class可能对文字的排版等比较有用,而ID则对宏观布局和设计放置各种元素较有用。
2. Margin与Padding的区别
margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边。说白了,一个是内部的距离,一个是外部的距离;padding:内边距;margin:外边距。
两者都是代替表格最重要的作用->分割块的好方法,区别在于Margin是不同的Tag间互相隔离的距离而Padding是同一元素中不同内容分割使用,这在表格中最看得清楚。尤其是当对一个区域加载了背景样式之后,Padding下的内容背景色会发生改变,而Margin则不会有所改变。
margin的取值有:margin-top, margin-right, margin-bottom, margin-left
padding的取值有:padding-top, padding-right, padding-bottom, padding-left
简写法(举例):
四个边距均为10px:
body {margin: 10px}
顶边距和底边距为10px,左边距和右边距是父元素宽度的2%:
body {margin: 10px 2%}
顶边距为10px,左边距和右边距是父元素宽度的2%,底边距是-10px:
body {margin: 10px 2% -10px}
顶边距为10px,右边距是父元素宽度的2%,底边距是-10px,而左边距由浏览器设置:
body {margin: 10px 2% -10px auto}
关于margin和padding的具体使用,在下次文章中详细阐述。
下面这张图非常直观的告诉了你在使用CSS时,在HTML元素的Box模型上分清margin和padding的具体区别。

根据上图,几句话来阐明它们的不同:
padding是具体内容到元素box边界之间的填充区域,margin是元素box边界到到外部(上层)容器之间的填充区域。元素都有border属性,border之外的是margin,border之内的是padding.
今天章郎虫对哈罗网吧的模板稍微修改了一下。在修改时需要用到css代码的添加或者修改,我学到了Margin和Padding两个属性的区别及简单用法。下面内容是我整理的有关这两个属性的用法,希望对朋友们有帮助。
1、Margin
Margin是指层的边框以外留的空白,用于页边距或者与其它层制造一个间距。Margin又包括margin-top,margin-right,margin-bottom和margin-left,分别表示上,右,下,左四个方向。你可以分别用这四个属性定义,也可以使用下面的简写规则。
margin: 10px 10px 10px 10px ;代表上右下左(顺时针方向)四个边距都是10px,也可以缩写成Margin: 10px;
当上下, 左右margin值分别一致, 可简写为:margin: 10px 10px;前一个10px代表上下margin值, 后一个10px代表左右margin值 。
当上下左右margin值均一致, 可简写为:margin: 10px;
如果边距为零,要写成Margin: 0px;。这里需要注意:当值是零时,除了RGB颜色值0%必须跟百分号,其他情况后面可以不跟单位”px”。Margin是透明元素,不能定义颜色。
2、Padding
Padding是指层的边框到层的内容之间的空白,主要控制块级元素内部,content与border之间的距离。Padding和Margin一样,也包括padding-top,padding-right,padding-bottom,padding-left四个属性。代码和简写都和Margin一样,可以参考以上的介绍。
Padding也是透明元素,不能定义颜色。
经过我简单的介绍,和我一样的童鞋们在看css文件代码时对Margin和Padding两个属性的意义和区别是不是清楚些了?
目前web2.0已经越来被人们认可,因为喜欢搞web开发的人员不得不硬着头皮去学习web2.0的标准,其中很重要的一条就是新的布局规则,div+css。以前基本上是用table布局的,这种传统的方式简单直观,但是这新的标准我学习起来时常找不到北。呵呵,就拿今天这个例子来说吧,很多朋友肯定也有我这种情况的,那我就从网上搜集一些例子出来,让个更多的人消除这种烦恼。
事例一:
css中padding和margin的区别
|
margin 外边距 border 边框 padding 内边距 也就是说 设置margin 那么他所占据的空白地方会是在边框外面 设置padding 他所占据的空白地方是在边框里面,图解一下就更清楚了。
如上图,A,B两个方框,A代码padding,B代表margin,现在我们看A箭头与蓝色边框的距离,这就是padding叫做内边距,下面再来看看B外面的箭头与B之前的距离就是我们所说的margin的,叫做外间距,哈哈你现在应该明白了,什么是padding,什么是margin吧?呵呵 事例二: 看看css盒模型,下图!margin是 DIV与周边元素的距离padding是 DIV里边内容与这个DIV的距离 |


浙公网安备 33010602011771号