对于CSS而言,id和class都是选择器,唯一不同的地方在于权重不同。
如果只说CSS,上面那一句话就讲完了。
拓展出来,对于html而言,id和class都是dom元素的属性值。不同的地方在于:
id属性的值是唯一的,而class属性值可以重复。
- id具有唯一性,class具有普遍性。
- id是唯一的,所以尽量在结构外围使用,通常用于页面布局。
- class是可重复的,所以尽量在结构内部使用,通常用于样式定义。
- id的样式优先级高于class。
其实在样式表定义一个样式的时候,即可以定义id也可以定义class。
1、在CSS文件里书写时,id加前缀"#";class用"."
2、id一个页面只可以使用一次;class可以多次引用。
3、id是一个标签,用于区分不同的结构和内容,就象名字,如果一个屋子有2个人同名,就会出现混淆;class是一个样式,可以套在任何结构和内容上,就象一件衣服;
4、从概念上说就是不一样的:id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。
5、一个标签的id属性的值只能有一个,而class属性的值可以有多个。
目前的浏览器还都允许用多个相同ID,一般情况下也能正常显示,不过当你需要用JavaScript通过id来控制div时就会出现错误。
id还一个老特性是锚点功能,就是当浏览器地址栏有一个#xxx,页面会自动滚动到id=xxx的元素上面。