a:link { color: red; }
a:visited { color: green; }
a:hover { border: 1px solid black; }
a:active { border: 4px solid green; }
明明寫了 `:link { color: red }`,瀏覽器打開卻直接顯示綠色。
/* 必須按此順序寫入,否則後面樣式會覆蓋前面 */
a:link { color: red; } /* L - Link 未訪問 */
a:visited { color: purple; } /* V - Visited 已訪問 */
a:hover { color: orange; } /* H - Hover 懸停 */
a:active { color: blue; } /* A - Active 點擊瞬間 */
❌ 寫成 `:hover` 在 `:link` 前 → 懸停時顏色不變
❌ 寫成 `:active` 在 `:hover` 前 → 點擊時無效果
為防止網站通過 `getComputedStyle` 探測用戶歷史,現代瀏覽器**限制 `:visited` 可設置的屬性**:
`:link` 顯示綠色是因為該鏈接**在瀏覽器歷史中**,觸發了 `:visited` 樣式。這不是 Bug,而是瀏覽器正確應用了用戶訪問狀態。記住 **LVHA 順序**,善用無痕模式調試,理解 `:visited` 隱私限制,即可駕馭鏈接樣式。