1. class是设置标签的类,class属性用于指定元素属于何种样式的类。
如CSS里设置样式 .content1 {color:red; background: #00BFFF; } 使用方法:class=“content1”
id是设置标签的标识。id属性用于定义一个元素的独特的样式。如CSS里设置 #content2 { font-size: larger; } 使用方法:id=“content2”
概念上说不一样:
class是一个样式,可以套在任何结构和内容上,就象一件衣服。class是先定义好,然后可以套给多个结构/内容,便于复用。也就是说class名称可以相同。
id是一个标签,用于区分不同的结构和内容,就像人的名字,如果一个屋子有2个人同名,就会出现混淆。id是先找到结构/内容,再给他定义样式。
2. 优先级问题
id的优先级要高于class,可以参考下例。
<html>
<head>
<style type="text/css">
#aa
{
color:red
}
.aa
{
color:blue
}
</style>
</head>
<body>
<div class="aa" id="aa">HTML5</div>
</body>
</html>
结果如下:
3. 关于js
如果在页面中要对某个对象进行脚本操作(js),那么可以给他定义一个id,否则只能利用遍历页面元素加上指定特定属性来找到他,这是相对浪费时间资源,远远不如一个id来的简单。
4. 使用方面
单一的元素,或需要程序、JS控制的东西,需要用id定义;重复使用的元素、类别,用class定义。
class可以反复使用,而id在一个页面中仅能被使用一次。有可能在很大部分浏览器中反复使用同一个id不会出现问题,但在标准上这绝对是错误的使用,而且很可能导致某些浏览器的现实问题。
二者主要的差别:
id只能用来定义单一元素,定义2个以后页面不会出现什么问题,但是W3检测的时候认为你页面不符合标准;class是类,同一个class可以定义多个元素。就页面效果而言,两个东西的视觉效果几乎无差别。
id的局限性:
单一使用的样式用id,需要程序、js动态控制的样式用id,id在页面只能使用一次!要少用id,因为id可能和页面嵌的程序冲突(比如名称相同等)!