對于CSS而言,id和class都是選擇器,唯一不同的地方在于權(quán)重不同。
如果只說CSS,上面那一句話就講完了。
拓展出來,對于html而言,id和class都是dom元素的屬性值。不同的地方在于:
id屬性的值是唯一的,而class屬性值可以重復(fù)。
- id具有唯一性,class具有普遍性。
- id是唯一的,所以盡量在結(jié)構(gòu)外圍使用,通常用于頁面布局。
- class是可重復(fù)的,所以盡量在結(jié)構(gòu)內(nèi)部使用,通常用于樣式定義。
- id的樣式優(yōu)先級高于class。
其實(shí)在樣式表定義一個樣式的時候,即可以定義id也可以定義class。
1、在CSS文件里書寫時,id加前綴"#";class用"."
2、id一個頁面只可以使用一次;class可以多次引用。
3、id是一個標(biāo)簽,用于區(qū)分不同的結(jié)構(gòu)和內(nèi)容,就象名字,如果一個屋子有2個人同名,就會出現(xiàn)混淆;class是一個樣式,可以套在任何結(jié)構(gòu)和內(nèi)容上,就象一件衣服;
4、從概念上說就是不一樣的:id是先找到結(jié)構(gòu)/內(nèi)容,再給它定義樣式;class是先定義好一種樣式,再套給多個結(jié)構(gòu)/內(nèi)容。
5、一個標(biāo)簽的id屬性的值只能有一個,而class屬性的值可以有多個。
目前的瀏覽器還都允許用多個相同ID,一般情況下也能正常顯示,不過當(dāng)你需要用JavaScript通過id來控制div時就會出現(xiàn)錯誤。
id還一個老特性是錨點(diǎn)功能,就是當(dāng)瀏覽器地址欄有一個#xxx,頁面會自動滾動到id=xxx的元素上面。