學習了類選擇器和ID選擇器,我們會發(fā)現(xiàn)他們之間有很多的相似處,是不是兩者可以通用呢?
我們不要著急先來總結(jié)一下他們的相同點和不同點:
相同點:可以應(yīng)用于任何元素
不同點:
1、ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。
下面代碼是正確的:
可是我再也沒遇到一個像福貴這樣令我難忘的人了,對自己的經(jīng)歷如此清楚,又能如此精彩地講述自己是如何衰老的。這樣的老人在鄉(xiāng)間實在是難以遇上,也許是困苦的生活損壞了他們的記憶,面對往事他們通常顯得木訥,常常以不知所措的微笑搪塞過去。
而下面代碼是錯誤的:
可是我再也沒遇到一個像福貴這樣令我難忘的人了,對自己的經(jīng)歷如此清楚,又能如此精彩地講述自己是如何衰老的。這樣的老人在鄉(xiāng)間實在是難以遇上,也許是困苦的生活損壞了他們的記憶,面對往事他們通常顯得木訥,常常以不知所措的微笑搪塞過去。
2、可以使用類選擇器詞列表方法為一個元素同時設(shè)置多個樣式。我們可以為一個元素同時設(shè)多個樣式,但只可以用類選擇器的方法實現(xiàn),ID選擇器是不可以的(不能使用 ID 詞列表)。
id就像身份證號碼,是唯一的,該身份證號碼就能代表你。一個人不能有兩個身份證號碼,也不能一個身份證號碼表示兩個人。
而class就像昵稱,該昵稱也能代表你。一個人可以有多個昵稱,也可以多個人用同個昵稱。
那么時候用id,什么時候用class?
W3C標準這樣規(guī)定的,在同一個頁面內(nèi),不允許有相同名字的id對象出現(xiàn),但是允許相同名字的class。
這樣,一般網(wǎng)站分為頭,體,腳部分,因為考慮到它們在同一個頁面只會出現(xiàn)一次,所以用id。
其他的,比如說你定義了一個顏色為red的class,在同一個頁面也許要多次用到,就用class定義。
另外,當頁面中用到j(luò)s或者要動態(tài)調(diào)用對象的時候,要用到id,所以要根據(jù)自己的情況運用。
成熟網(wǎng)站里,你很少看到css里用id選擇器的,都是用class,id選擇器留給寫js的人用,這樣避免沖突。
id是用于一個特定的樣式的(唯一性),并且只能使用一次。class是用于一組相同樣式的(相似性),可以使用多次。
不應(yīng)該用使用次數(shù)來說明,應(yīng)該說id只能指定唯一元素,而class可以指定多個元素,將這些元素劃分為一類。