?1.背景介紹
HTML頁(yè)面中的元素實(shí)現(xiàn)一對(duì)一弦赖,一對(duì)多或者多對(duì)一的控制,這就需要用到CSS選擇器抵代。
HTML頁(yè)面中的元素就是通過(guò)CSS選擇器進(jìn)行控制的腾节。本次講的id和Class就是id選
擇器和類選擇器。
2.知識(shí)剖析
什么是ID?
從語(yǔ)義上來(lái)說(shuō)案腺,id是identity(ai'dentiti)的簡(jiǎn)寫(xiě)庆冕,identity是身份的意思,比如我們的身份證就叫做id-card劈榨。
在html中访递,id是設(shè)置標(biāo)簽的標(biāo)識(shí),使用方法是:
#id名稱{樣式聲明}
document.getElementById("id名稱")
$("#id名稱")
ID的作用同辣?
id屬性規(guī)定HTML元素的唯一的id拷姿。
id在HTML文檔中必須是唯一的。
id屬性可用作鏈接錨(link anchor)旱函,通過(guò)JavaScript(HTML DOM)或通過(guò)CSS為帶有指定id的元素改變或添加樣式
ID的作用响巢?
id屬性規(guī)定HTML元素的唯一的id。
id在HTML文檔中必須是唯一的棒妨。
id屬性可用作鏈接錨(link anchor)踪古,通過(guò)JavaScript(HTML DOM)或通過(guò)CSS為帶有指定id的元素改變或添加樣式
什么是class?
1.從語(yǔ)義上來(lái)說(shuō)券腔,class是類別的意思伏穆,他表示的是具有共同特點(diǎn)的東西,比如我們說(shuō)我們是一類人纷纫,就是說(shuō)我們有相同的特點(diǎn)枕扫。
2.在html中,我們用class為標(biāo)簽設(shè)定一個(gè)可以復(fù)用的標(biāo)識(shí)辱魁,具有同樣class的標(biāo)簽就會(huì)有相同的特點(diǎn):
class名稱{樣式聲明}
document.getElementsByClassName("class名稱")
$(".class名稱")
class的作用
1.在css中烟瞧,用class來(lái)定義那些可復(fù)用的樣式,然后可以套給多個(gè)結(jié)構(gòu)/內(nèi)容商叹。
2.在JS中燕刻,獲取到的class將是一個(gè)數(shù)組,在使用的時(shí)候要特別注意剖笙!
3.常見(jiàn)問(wèn)題
1.ID和class的區(qū)別
2.ID和class的優(yōu)先級(jí)
3.同一頁(yè)面使用相同的id會(huì)怎樣
4.解決方案
(1).ID和class的區(qū)別
id是一個(gè)標(biāo)簽卵洗,用于區(qū)分不同的結(jié)構(gòu)和內(nèi)容,就像人的名字弥咪,如果一個(gè)房間內(nèi)有2個(gè)人同名过蹂,在老師點(diǎn)名的時(shí)就會(huì)出現(xiàn)混淆;
class是一個(gè)樣式聚至,可以用在任何結(jié)構(gòu)和內(nèi)容上酷勺,就像一件衣服;
(2).ID和class的優(yōu)先級(jí)
通過(guò)繼承來(lái)的屬性id的優(yōu)先級(jí)高于class
CSS的優(yōu)先級(jí)順序:? tag中的style? >? id? ? >? ? class? >繼承的屬性
一個(gè)元素同時(shí)應(yīng)用多個(gè)class扳躬,后定義的優(yōu)先(即近者優(yōu)先)脆诉,加上!important者最優(yōu)先甚亭!
(3).同一頁(yè)面使用相同的id會(huì)怎樣
不能通過(guò)W3的校驗(yàn)。在頁(yè)面顯示上击胜,目前的瀏覽器還都允許你犯這個(gè)錯(cuò)誤亏狰,用多個(gè)相同ID
“一般情況下”也能正常顯示。但是當(dāng)你需要用JavaScript通過(guò)id來(lái)控制這個(gè)div偶摔,那就會(huì)出現(xiàn)錯(cuò)誤暇唾。
5.總結(jié)
在一般情況下:
我們利用class來(lái)為元素添加樣式----css
我們利用id來(lái)為元素添加行為----js/jQuery
6.參考文獻(xiàn)
參考一:html中,id屬性和class屬性有什么區(qū)別辰斋?
參考二:CSS樣式id和class屬性優(yōu)先級(jí)問(wèn)題
參考三:CSS的ID和Class有什么區(qū)別策州?如何正確使用它們?