CSS 選擇器特異性難題:為什麼 .foo a:link 會覆蓋 a:hover
在 CSS 領域,選擇器特異性可能有點令人費解。讓我們深入研究一個有趣的謎題,它演示了 .foo a:link 選擇器如何覆蓋更具體的 a:hover 和 a:active 選擇器。
問題定義
考慮以下程式碼:
<div class="foo"> <a href="#">Example</a> </div>
a:link, a:visited { color: blue; } a:hover, a:active { color: red; } .foo a:link, .foo a:visited { color: green; }
預期將滑鼠懸停在連結上應將其變為紅色,但實際上,它仍保持綠色。這種令人費解的行為需要仔細檢查 CSS 級聯。
CSS 的特異性
特異性決定了 CSS 規則應用於元素的順序。較高的特異性勝過較低的特異性。以下公式計算特異性:
- 內聯樣式:1, 0, 0, 0
- ID 選擇器:0, 1, 0, 0
- 類選擇器: 0, 0, 1, 0
- 偽類與偽元素:0, 0, 0, 1
拼圖中的選擇器特異性
計算選擇器的特異性:
- a:link , a:已存取, a:懸停, a:活動: 0, 0, 1, 1
- .foo a:link, .foo a:visited: 0, 0, 2, 1
如您所見,.foo a:link 和.foo a :visited 選擇器比a:hover 和a:active 選擇器具有更高的特異性(2 > > 1).
結論
令人驚訝的行為的原因是.foo a:link 和 .foo a:visited 選擇器比 a:hover 和 a:active 具有更高的特異性選擇器。這意味著即使 a:hover 和 a:active 在偽類方面更具體,.foo 選擇器的類別特異性勝出。
要修正此問題,請使用問題中建議的修復(取消註解 .foo a:hover 和 .foo a:active 規則)是必要的。透過新增與 .foo a:link 和 .foo a:visited 規則具有相同特異性的這些規則,a:hover 和 a:active 樣式現在將優先。
以上是為什麼 CSS 特異性中的 `.foo a:link` 會覆寫 `a:hover` ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

我知道,我知道:有大量的內容管理系統選項可用,而我進行了幾個測試,但實際上沒有一個是一個,y&#039;知道嗎?怪異的定價模型,艱難的自定義,有些甚至最終成為整個&

鏈接CSS文件到HTML可以通過在HTML的部分使用元素實現。 1)使用標籤鏈接本地CSS文件。 2)多個CSS文件可通過添加多個標籤實現。 3)外部CSS文件使用絕對URL鏈接,如。 4)確保正確使用文件路徑和CSS文件加載順序,優化性能可使用CSS預處理器合併文件。

選擇Flexbox還是Grid取決於佈局需求:1)Flexbox適用於一維佈局,如導航欄;2)Grid適合二維佈局,如雜誌式佈局。兩者在項目中可結合使用,提升佈局效果。

包含CSS文件的最佳方法是使用標籤在HTML的部分引入外部CSS文件。 1.使用標籤引入外部CSS文件,如。 2.對於小型調整,可以使用內聯CSS,但應謹慎使用。 3.大型項目可使用CSS預處理器如Sass或Less,通過@import導入其他CSS文件。 4.為了性能,應合併CSS文件並使用CDN,同時使用工具如CSSNano進行壓縮。

是的,youshouldlearnbothflexboxandgrid.1)flexboxisidealforone-demensional,flexiblelayoutslikenavigationmenus.2)gridexcelstcelsintwo-dimensional,confffferDesignssignssuchasmagagazineLayouts.3)blosebothenHancesSunHanceSlineHancesLayOutflexibilitibilitibilitibilitibilityAnderibilitibilityAndresponScormentilial anderingStruction

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcsssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingMultatingMultationMultationProperPertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用CombanningWiThjavoFofofofoftofofo


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版
視覺化網頁開發工具

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3漢化版
中文版,非常好用