当前位置: 代码迷 >> Web前端 >> DIV中class跟id的区别
  详细解决方案

DIV中class跟id的区别

热度:156   发布时间:2013-02-17 10:44:46.0
DIV中class和id的区别
引自博客:
http://blog.163.com/zzf_fly/blog/static/209589158201271311449305/
?

初学DIV 对其中的class id 两者很难区别。

--------------------------------------------

class是设置标签的类,id是设置标签的标识,class属性用于指定元素属于何种样式的类。

如样式表可以加入.content1 { color: red; background: #ff80c0 } 使用方法:class="content1"

id属性用于定义一个元素的独特的样式。如一个CSS规则#content2 { font-size: larger } 使用方法:id="content2"

id是一个标签,用于区分不同的结构和内容,就象你的名字,

如果一个屋子有2个人同名,就会出现混淆;

class是一个样式,可以套在任何结构和内容上,就象一件衣服;

概念上说就是不一样的:

id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。

--------------------------------------------

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

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

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

在实际应用的时候,Class可能对文字的排版等比较有用,而ID则对宏观布局和设计放置各种元素较有用

--------------------------------------------

id是元素的名称,可以供js或其它脚本程序来访问该元素对象,而class是该元素的css类名。

id的值在整个当前网页中应该是唯一的,即某一个元素定义了id="aaa",那么这个网页中其它的元素的id就不能定义成aaa,而class则可以。

另外,形如id="aaa"定义的,在css中是这样设置其样式的:

#aaa{ 样式列表 }

而以class="bbb"形式定义的,在css中应该这样设置其样式:

.bbb{ 样式列表 }

(注意前面有一个点)

--------------------------------------------

一.web标准中是不容许重复ID的,比如 div id="aa" 不容许重复2次,而class 定义的是类,理论上可以无限重复, 这样需要多次引用的定义便可以使用他.

二.属性的优先级问题

ID 的优先级要高于class,看上面的例子

三.方便JS等客户端脚本,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单.

--------------------------------------------

A1:二者主要的区别在哪里呢?

  id你只能用来定义单一元素,定义二个以后。页面不会出现什么问题,但是W3检测的时候认为你页面不符合标准;class是类,同一个class可以定义多个元素。就页面效果而言,两个东西的视觉效果几乎无差别。

A2:id 选择符为什么要少用,它有有什么局限性?

  单一使用的样式用id,需要程序、js动态控制的样式用id,id在页面只能使用一次!提供少用id,因为id可能和页面嵌的程序冲突(比如名称相同等)!

A3:我该在什么时候使用ID,什么时候使用class?

  单一的元素,或需要程序、JS控制的东西,需要用id定义;重复使用的元素、类别,用class定义。

  相关解决方案