学习了类选择器和ID选择器,我们会发现他们之间有很多的相似处,是不是两者可以通用呢?
我们不要着急先来总结一下他们的相同点和不同点:
相同点:可以应用于任何元素
不同点:
1、ID选择器只能在文档中使用一次。与类选择器不同,在一个HTML文档中,ID选择器只能使用一次,而且仅一次。而类选择器可以使用多次。
下面代码是正确的:
可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,又能如此精彩地讲述自己是如何衰老的。这样的老人在乡间实在是难以遇上,也许是困苦的生活损坏了他们的记忆,面对往事他们通常显得木讷,常常以不知所措的微笑搪塞过去。
而下面代码是错误的:
可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,又能如此精彩地讲述自己是如何衰老的。这样的老人在乡间实在是难以遇上,也许是困苦的生活损坏了他们的记忆,面对往事他们通常显得木讷,常常以不知所措的微笑搪塞过去。
2、可以使用类选择器词列表方法为一个元素同时设置多个样式。我们可以为一个元素同时设多个样式,但只可以用类选择器的方法实现,ID选择器是不可以的(不能使用 ID 词列表)。
id就像身份证号码,是唯一的,该身份证号码就能代表你。一个人不能有两个身份证号码,也不能一个身份证号码表示两个人。
而class就像昵称,该昵称也能代表你。一个人可以有多个昵称,也可以多个人用同个昵称。
那么时候用id,什么时候用class?
W3C标准这样规定的,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。
这样,一般网站分为头,体,脚部分,因为考虑到它们在同一个页面只会出现一次,所以用id。
其他的,比如说你定义了一个颜色为red的class,在同一个页面也许要多次用到,就用class定义。
另外,当页面中用到js或者要动态调用对象的时候,要用到id,所以要根据自己的情况运用。
成熟网站里,你很少看到css里用id选择器的,都是用class,id选择器留给写js的人用,这样避免冲突。
id是用于一个特定的样式的(唯一性),并且只能使用一次。class是用于一组相同样式的(相似性),可以使用多次。
不应该用使用次数来说明,应该说id只能指定唯一元素,而class可以指定多个元素,将这些元素划分为一类。