国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

問答方式學(xué)習(xí)超級鏈接A標(biāo)記

2024-08-26 00:08:57
字體:
供稿:網(wǎng)友

問:

我已經(jīng)使用css定義了超鏈接的樣式,但是瀏覽時hover(鼠標(biāo)懸停)卻不起作用。為什么會這樣?是瀏覽器的問題嗎?

答:

雖然你認(rèn)為可能原因是瀏覽器問題,但是更多的可能是你樣式定義時順序錯誤。為了保證能看到不同狀態(tài)下的連接樣式,正確的樣式順序應(yīng)該是:

" link - visited - hover - active "或" lvha "(縮寫)。

核心內(nèi)容:

每個選擇符selector都有一個“specificity”如果兩個selectors應(yīng)用于同一個元素,具有較高specificity的選擇符將勝出,具有優(yōu)先權(quán)。例如:

p.hithere {color: green;} /* specificity = 1,1 */
p {color: red;} /* specificity = 1 */

任何設(shè)置了類class=hithere的段落內(nèi)容顯示為綠色而不是紅色。兩個selectors都設(shè)置了顏色,但是具有更高specificity的選擇符將勝出。

偽類如何影響specificity呢?它們具有完全相同的加權(quán)值,下列樣式具有相同的specificity加權(quán)值:

a:link {color: blue;} /* specificity = 1,1 */
a:active {color: red;} /* specificity = 1,1 */
a:hover {color: magenta;} /* specificity = 1,1 */
a:visited {color: purple;} /* specificity = 1,1 */

這些都是用于超鏈接的樣式設(shè)置。大部分情況下需要同時設(shè)置其中的幾個樣式,例如,一個未被訪問的超鏈接在鼠標(biāo)懸停和點擊時可設(shè)置“鼠標(biāo)懸停”和“鼠標(biāo)激活“兩種狀態(tài)下的不同樣式,由于上述三個規(guī)則都可應(yīng)用于超鏈接,并且全部選擇符具備相同的specificity,那么根據(jù)規(guī)則,最后一個樣式“勝出”。所以" active "式樣永遠(yuǎn)也不會顯示出來,因為它總是被" hover "式樣覆蓋(即" hover "優(yōu)先)。現(xiàn)在再來分析一下已經(jīng)被訪問過的超鏈接鼠標(biāo)懸停是什么效果,結(jié)果永遠(yuǎn)是purple紫色的:( ,因為它的" visited "式樣總是優(yōu)先于其它的狀態(tài)樣式規(guī)則(包括" active "和" hover")而顯示。

這就是為什么css1推薦樣式順序的原因:

a:link
a:visited
a:hover
a:active

實際上,開頭兩個樣式的順序可以調(diào)換,因為一個超鏈接不可能同時存在“未訪問”和“已訪問”兩種狀態(tài)。( :link意思是" unvisited ";我不知道為什么不這樣定義呢.)

css2現(xiàn)在允許偽類可以以“聯(lián)合成組”形式出現(xiàn),例如:

a:visited:hover {color: maroon;} /* specificity = 2,1 */
a:link:hover {color: magenta;} /* specificity = 2,1 */
a:hover:active {color: cyan;} /* specificity = 2,1 */

they have the same specificity, but they apply to fundamentally different beasts, and so don't conflict. you can get hover-active combinations, for example.

如何理解本文當(dāng)中所涉及到的“specificity”呢?specificity可以理解未簡單地連在一起的號碼字符串,上面的一個例子:
p.hithere {color: green;} /* specificity = 11 */
p {color: red;} /* specificity = 1 */

這好像是一個基于十進(jìn)制的簡單運算。然而計算“specificity”不能使用十進(jìn)制算法,例如你把15種選擇符連在一起使用、它們具有的“specificity”加權(quán)值還是比簡單的class選擇符低。舉例:

.hello {color: red;} /* specificity = 10 */
html body div ul li ol li ul li ol li ul li ol li (color: green;} /* specificity = 15 */

" 10 "實際上是一個“1”后面接著“零”、不是"十",我們可以使用十六進(jìn)制描述前面的樣式規(guī)則的specificitiy,像下面:

.hello {color: red;} /* specificity = 10 */
html body div ul li ol li ul li ol li ul li ol li (color: green;} /* specificity = f */

唯一的問題是如果你想為第二個樣式規(guī)則增加兩個或更多的選擇符時,那時你就可能得到一個“17”的specificity、會再一次混淆。事實上specificity可能是無窮大的,所以為了避免更多的混亂,建議使用逗號來分隔specificity的值。

站長建議:反復(fù)練習(xí)specificity的加權(quán)值的計算,網(wǎng)站css的設(shè)置體現(xiàn)了你控制頁面的能力,在動態(tài)網(wǎng)站開發(fā)中,css的地位也是非常重要的,多看資料,多練習(xí),多來網(wǎng)頁設(shè)計!如果你喜歡本站就代為宣傳吧!謝謝閱讀。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 太保市| 郸城县| 酒泉市| 漯河市| 霍山县| 本溪市| 钦州市| 恭城| 比如县| 南投县| 历史| 大冶市| 剑阁县| 文化| 德阳市| 蚌埠市| 霍山县| 杭州市| 周宁县| 汽车| 郴州市| 杭州市| 南岸区| 临朐县| 阿坝| 龙山县| 保山市| 武义县| 剑川县| 华安县| 祁东县| 新兴县| 枝江市| 宜春市| 平南县| 东乡族自治县| 南通市| 江山市| 庆元县| 县级市| 昆明市|