:visited

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

:visited CSS 偽類在使用者訪問過連結後應用。出於隱私原因,可以使用此選擇器修改的樣式非常有限。:visited 偽類僅適用於具有 href 屬性的 <a><area> 元素。

試一試

p {
  font-weight: bold;
}

a:visited {
  color: forestgreen;
  text-decoration-color: hotpink;
}
<p>Pages that you might have visited:</p>
<ul>
  <li>
    <a href="https://mdn.club.tw">MDN Web Docs</a>
  </li>
  <li>
    <a href="https://www.youtube.com/">YouTube</a>
  </li>
</ul>
<p>Pages unlikely to be in your history:</p>
<ul>
  <li>
    <a href="https://mdn.club.tw/missing-1">Random MDN page</a>
  </li>
  <li>
    <a href="https://example.com/missing-1">Random Example page</a>
  </li>
</ul>

:visited 和未訪問的 :link 偽類定義的樣式,可以被任何後續具有至少相同特異性的使用者操作偽類(:hover:active)覆蓋。為了正確設定連結樣式,請按照 LVHA-order:link:visited:hover:active)將 :visited 規則置於 :link 規則之後,但在 :hover:active 規則之前。:visited 偽類和 :link 偽類是互斥的。

隱私限制

出於隱私原因,瀏覽器嚴格限制了你可以使用此偽類應用的樣式,以及它們的使用方式

注意: 有關這些限制及其原因的更多資訊,請參閱 隱私與 :visited 選擇器

語法

css
:visited {
  /* ... */
}

示例

原本沒有顏色或透明的屬性不能用 :visited 修改。在可以使用此偽類設定的屬性中,你的瀏覽器可能只為 colorcolumn-rule-color 設定了預設值。因此,如果你想修改其他屬性,你需要為它們在 :visited 選擇器之外提供一個基本值。

HTML

html
<a href="#test-visited-link">Have you visited this link yet?</a><br />
<a href="">You've already visited this link.</a>

CSS

css
a {
  /* Specify non-transparent defaults to certain properties,
     allowing them to be styled with the :visited state */
  background-color: white;
  border: 1px solid white;
}

a:visited {
  background-color: yellow;
  border-color: hotpink;
  color: hotpink;
}

結果

規範

規範
HTML
# selector-visited
選擇器 Level 4
# visited-pseudo

瀏覽器相容性

另見