今天學(xué)到一個(gè)有趣的新知識(shí)呢司训,迫不及待的想分享一下。自學(xué)前端的這條路上液南,還在基礎(chǔ)部分打轉(zhuǎn)壳猜,未來(lái)好難,走好現(xiàn)在腳下的每一步才是我現(xiàn)在最重要的滑凉。小小地感慨一下统扳,下面進(jìn)入正題吧喘帚。
- <a>標(biāo)簽
我們先說(shuō)一說(shuō)<a>標(biāo)簽是干啥用的。
<a> 標(biāo)簽定義超鏈接咒钟,用于從一張頁(yè)面鏈接到另一張頁(yè)面啥辨。
<a> 元素最重要的屬性是 href 屬性,它指示鏈接的目標(biāo)盯腌。
在所有瀏覽器中溉知,鏈接的默認(rèn)外觀是:
未被訪問(wèn)的鏈接帶有下劃線而且是藍(lán)色的
已被訪問(wèn)的鏈接帶有下劃線而且是紫色的
活動(dòng)鏈接帶有下劃線而且是紅色的
<a>標(biāo)簽還有一個(gè)很重要的屬性:target,它用于規(guī)定在何處打開(kāi)鏈接文檔腕够,取值有:_blank级乍;_parent;_self帚湘;_top玫荣。這個(gè)我后面也會(huì)小小地總結(jié)一下。
- a鏈接的四種狀態(tài)
偽類是CSS 用于向某些選擇器添加特殊的效果大诸。
a標(biāo)簽中有四個(gè):link捅厂、visited、hover资柔、active
(1)link
說(shuō)明:設(shè)置a對(duì)象在未被訪問(wèn)前的樣式表屬性焙贷。
(2)visited
說(shuō)明:設(shè)置a對(duì)象在其鏈接地址已被訪問(wèn)過(guò)時(shí)的樣式表屬性。
(3)hover
說(shuō)明:設(shè)置對(duì)象在其鼠標(biāo)懸停時(shí)的樣式表屬性贿堰。
(4)active
說(shuō)明:設(shè)置對(duì)象在被用戶激活(在鼠標(biāo)點(diǎn)擊與釋放之間發(fā)生的事件)時(shí)的樣式表屬性辙芍。
定義CSS時(shí)候的順序不同,也會(huì)直接導(dǎo)致鏈接顯示的效果不同羹与。原因可能在于瀏覽器解釋CSS時(shí)遵循的“就近原則”故硅。正確的順序:a:link、a:visited纵搁、a:hover吃衅、a:active
解釋:
link:連接平常的狀態(tài)
visited:連接被訪問(wèn)過(guò)之后
hover:鼠標(biāo)放到連接上的時(shí)候
active:連接被按下的時(shí)候
舉例來(lái)說(shuō):
我想讓未訪問(wèn)鏈接顏色為藍(lán)色,活動(dòng)鏈接為綠色腾誉,已訪問(wèn)鏈接為紅色:
第一種情況:我定義的順序是a:visited徘层、a:hover、a:link妄辩,這時(shí)會(huì)發(fā)現(xiàn):把鼠標(biāo)放到未訪問(wèn)過(guò)的藍(lán)色鏈接上時(shí)惑灵,它并不變成綠色,只有放在已訪問(wèn)的紅色鏈接上眼耀,鏈接才會(huì)變綠英支。
第二種情況:我把CSS定義順序調(diào)整為:a:link、a:visited哮伟、a:hover干花,這時(shí)妄帘,無(wú)論你鼠標(biāo)經(jīng)過(guò)的鏈接有沒(méi)有被訪問(wèn)過(guò),它都會(huì)變成綠色啦池凄。
這是因?yàn)槁胀眨粋€(gè)鼠標(biāo)經(jīng)過(guò)的未訪問(wèn)鏈接同時(shí)擁有a:link、a:hover兩種屬性肿仑,在第一種情況下致盟,a:link離它最近,所以它優(yōu)先滿足a:link尤慰,而放棄a:hover的重復(fù)定義馏锡。在第二種情況,無(wú)論鏈接有沒(méi)有被訪問(wèn)過(guò)伟端,它首先要檢查是否符合a:hover的標(biāo)準(zhǔn)(即是否有鼠標(biāo)經(jīng)過(guò)它)杯道,滿足,則變成綠色责蝠,不滿足党巾,則繼續(xù)向上查找,一直找到滿足條件的定義為止霜医。
一句話:在CSS中齿拂,如果對(duì)于相同元素有針對(duì)不同條件的定義,宜將最一般的條件放在最上面支子,并依次向下创肥,保證最下面的是最特殊的條件。這樣值朋,瀏覽器在顯示元素時(shí),才會(huì)從特殊到一般巩搏、逐級(jí)向上驗(yàn)證條件昨登,才會(huì)使你的每一個(gè)CSS語(yǔ)句都起到效果。當(dāng)然贯底,如果故意打亂順序丰辣,也會(huì)造成一些特殊的效果。比如禽捆,可以為鏈接制造出下劃線顏色與文字顏色的差異笙什。
其實(shí)這個(gè)CSS問(wèn)題早已有高人提出啦,還是個(gè)老外呢胚想。他給總結(jié)了一個(gè)便于記憶的“愛(ài)恨原則”(LoVe/HAte)琐凭,即四種偽類的首字母:LVHA。
再重復(fù)一遍正確的順序:a:link浊服、a:visited统屈、a:hover胚吁、a:active .
最后經(jīng)驗(yàn)補(bǔ)充:
1.鼠標(biāo)經(jīng)過(guò)的“未訪問(wèn)鏈接”同時(shí)擁有a:link、a:hover兩種屬性愁憔,后面的屬性會(huì)覆蓋前面的屬性定義腕扶;
2.鼠標(biāo)經(jīng)過(guò)的“已訪問(wèn)鏈接”同時(shí)擁有a:visited、a:hover兩種屬性吨掌,后面的屬性會(huì)覆蓋前面的屬性定義半抱;
所以說(shuō),a:hover定義一定要放在a:link膜宋、a:visited的后面窿侈!