用户公告
大家好!我是博客浙江的管理员阿九
欢迎大家有什么问题给我留言,我将尽全力为您服务.

Tel:0571-87756585   QQ 258243916 MSN:mirage0848@hotmail.com 技术问题可拨打电话:0571-88228117

也可以发博客短信息给我
搜索BLOG文章
最新访问

XML RSS 2.0 WAP
我的日志
作者: faq 复制  收藏
DIV中class和id的区别2007-05-05

初学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定义。


原创文章如转载,请注明:转载自博客浙江帮助加油站 [ http://faq.blog.zj.com/ ]
本文链接地址:http://faq.blog.zj.com/blog/d-123878.html

文章评论0条回复
给文章评分
评分: -5 -3 -1 - +1 +3 +5
我来说两句
认证码*   看不清,就点我! 输入四位字母或数字
(您还没有登录,登录发表)
粗体 斜体 下划线 插入url链接 飞行字 移动字