Class与ID的区别,Margin与Padding的区别

        Class可以反复使用而ID在一个页面中仅能被使用一次。有可能在很大部分浏览器中反复使用同一个ID不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题。

  这两个区别都是比较容易混淆的问题,尤其是Class与ID,相信很多人并没有仔细了解过之中区别。以下是我的一些理解:

  1. Class与ID的区别

  一个Class是用来根据用户定义的标准对一个或多个元素进行定义的。打个比较恰当的比方就是剧本:一个Class可以定义剧本中每个人物的故事线,你可以通过CSS,Javascript等来使用这个类。因此你可以在一个页面上使用class="Frodo" ,class="Gandalf",class="Aragorn"来区分不同的故事线。还有一点非常重要的是你可以在一个文档中使用任意次数的Class。

  至于ID,通常用于定义页面上一个仅出现一次的标记。在对页面排版进行结构化布局时(比如说通常一个页面都是由一个页眉,一个报头,一个内容区域和一个页脚等组成),一般使用ID比较理想,因为一个ID在一个文档中只能被使用一次。而这些元素在同一页面中很少会出现大于一次的情况。

  归纳成一句话就是: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:

  h1 {margin: 10px}

  顶边距和底边距为10px,左边距和右边距是父元素宽度的2%:

  h1 {margin: 10px 2%}

  顶边距为10px,左边距和右边距是父元素宽度的2%,底边距是-10px:

  h1 {margin: 10px 2% -10px}

  顶边距为10px,右边距是父元素宽度的2%,底边距是-10px,而左边距由浏览器设置:

  h1 {margin: 10px 2% -10px auto}


          margin是用来设定该元素与相邻元素直接的距离。
margin:0 20px 30% 0对应的是与上,右,下,左四边相邻元素的距离。

30%指下边距为其父元素的宽度的30%

补充:
1.如果margin只有三个值,按照值的顺序为margin:top right bottom; 缺少了left,根据原则,则left的值有right来代替。

margin:10px 20px 30px;就等于margin:10px 20px 30px 20px;

2.如果margin只有两个值,按照值的顺序为margin:top right; 缺少了bottom和left,根据原则left的值由right来代替,bottm的值由top来代替。

margin:10px 20px;就等于margin:10px 20px 10px 20px;

3.如果margin只有一个值,按照值的顺序为margin:top; 缺少了bottom、left和right,根据原则left的值由right来代替,bottom的值由top来代替,right的值右top来代替,也就是说left的值也由top来代替。
margin padding区别
margin:10px;就等于margin:10px 10px 10px 10px;
margin是对外元素的距离,用来控制元素本身的浮动位置;
margin-left:具体值;
margin-bottom:具体值;
margin-right:具体值;
margin-top:具体值;
padding是对内元素,用来控制元素内部元素的位置;
padding-left:具体值;
padding-bottom:具体值;
padding-right:具体值;
padding-top:具体值;
我给你解释一下楼上的意思,margin是调节本身与周围之间的距离,注意,调节的是本身
padding是调节内部元素与本身之间的距离,调节的不是本身
举个不恰当的例子吧:元素比作一只鞋,margin是鞋与地面的距离,padding指的是脚与鞋之间的距离。
至于上下左右,我想你应该会懂了吧!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值