1. 程式人生 > >hover樣式失效的解決方法

hover樣式失效的解決方法

發現 除了 utf-8 ack tro .cn link 改變 href

   提到 css 的hover 選擇器,想必大家都不陌生(:hover 用於設置鼠標指向某元素上後顯示的樣式)

   除了常用的 hover 選擇器,還有3個可以和它搭配使用的選擇器:

  :link 設置未被訪問頁面的鏈接

  :visited 用於設置已被訪問的頁面鏈接

  :active 用於活動鏈接

  一般 hover 某元素後,應該會顯示設置的樣式,如下面的"點我"。鼠標指上去後會顯示設置的樣式,這裏為字體變成紅色

  技術分享圖片

  問題:最近遇到一個問題,hover 以後的樣式怎麽都不生效,代碼如下

<!DOCTYPE html>
<html>
<head> <meta charset="utf-8" /> <title></title> <style> a:hover { color: red; } a:link { color: #000; } a:visited { color: #ccc
; } a:active { color: blue; } a { font-size: 30px; } </style> </head> <body> <a href="#">點我</a> </body> </html>

  開始我以為是代碼寫錯了,仔細檢查後,發現代碼並沒有錯,這令我十分費解

  後來無意中在w3c找到了答案,以前完全沒有註意的一句話:

  註:在 CSS 定義中,:hover 必須位於 :link 和 :visited 之後(如果存在的話),這樣樣式才能生效

  這時候在看我上面的代碼,hover 寫在 link 和 visited 的前面,此刻茅塞頓開,修改後的代碼如下  

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            a:link {
                color: #000;
            }
            a:visited {
                color:#ccc ;
            }
            a:hover {
                color: red;
            }
            a:active {
                color: blue;
            }
        </style>
    </head>
    <body>
        <!--被點擊訪問過的超鏈接樣式不在具有hover和active了,解決方法是改變CSS屬性的排列順序: L-V-H-A(link,visited,hover,active)-->
        <a href="#">點我</a>
    </body>
</html>

  

hover樣式失效的解決方法