aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/css/_colon_visited/index.html
blob: 77a5a44be7bd0845f145f5c8ea1bb2957de4d982 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
---
title: ':visited'
slug: 'Web/CSS/:visited'
tags:
  - CSS
  - 伪类
  - 布局
translation_of: 'Web/CSS/:visited'
---
<p>{{CSSRef}}</p>

<h2 id="概述">概述</h2>

<p><strong><code>:visited</code></strong> CSS<a href="/en-US/docs/CSS/Pseudo-classes" title="Pseudo-classes">伪类</a>表示用户已访问过的链接。出于隐私原因,可以使用此选择器修改的样式非常有限。</p>

<pre class="brush: css"><code>/* 所有被访问过的 &lt;a&gt; 变绿 */
a:visited {
  color: green;
}</code>
</pre>

<p>这个样式可能会被后声明的其他链接相关的伪类覆盖,这些伪类包括 ({{cssxref(":link")}}, {{cssxref(":hover")}},和{{cssxref(":active")}})。要适当地设置链接样式,请将<code>:visited</code> 规则放在<code>:link</code> 规则之后,但在<code>:hover</code> 和<code>:active</code> 规则之前,参照 LVHA <em>顺序</em>:<code>:link</code> — <code>:visited</code> — <code>:hover</code> — <code>:active</code></p>

<h2 id="限制">限制</h2>

<p>出于隐私原因,浏览器严格限制您可以让此伪类应用的样式,以及使用它们的方式:</p>

<ul>
 <li>允许使用的 CSS 属性为{{ cssxref("color") }}, {{ cssxref("background-color") }}, {{ cssxref("border-color") }}, {{ cssxref("border-bottom-color") }}, {{ cssxref("border-left-color") }}, {{ cssxref("border-right-color") }}, {{ cssxref("border-top-color") }}, {{ cssxref("column-rule-color") }}, 和{{ cssxref("outline-color") }}</li>
 <li>允许使用的 SVG 属性为{{SVGAttr("fill")}} 和 {{SVGAttr("stroke")}}</li>
 <li>允许使用的样式的 αlpha 分量(透明度)将被忽略。 设置在<code>:visited</code>中的样式将使用元素的非<code>:visited</code> 访问状态的 αlpha 分量, 如果该分量为0,这个样式将被完全忽略。</li>
 <li>虽然这些样式可以改变用户最终的颜色外观,但 {{domxref("window.getComputedStyle")}} 方法将存在并且始终返回非访问颜色的值。</li>
</ul>

<div class="note style-wrap">
<p>注意:有关这些限制及其背后原因的更多信息,请参阅 <a href="https://developer.mozilla.org/en-US/docs/CSS/Privacy_and_the_:visited_selector" title="/en-US/docs/CSS/Privacy_and_the_:visited_selector">Privacy and the :visited selector</a></p>
</div>

<h2 id="示例">示例</h2>

<p>未设置颜色或透明的属性不能使用<code>:visited</code>。 在可以使用此伪类设置的属性中,浏览器可能只有<code>color</code><code>column-rule-color</code>两个默认值。 因此,对于其他属性,在使用<code>:visited</code>选择器前,应该先为这些属性设置基础样式。 </p>

<h3 id="HTML">HTML</h3>

<pre class="brush: html"><code>&lt;a href="#test-visited-link"&gt;你是否访问过此链接?&lt;/a&gt;
&lt;a href=""&gt;你已经访问过此链接。&lt;/a&gt;</code></pre>

<h3 id="CSS">CSS</h3>

<pre class="brush: css"><code>a {
  /* </code>指定某些属性的默认值,允许他们使用:visited状态进行样式设置<code> */
  background-color: white;
  border: 1px solid white; </code><code>
}

a:visited {
  background-color: yellow;
  border-color: hotpink;
  color: hotpink;
}</code>
</pre>

<h3 id="结果">结果</h3>

<p>{{ EmbedLiveSample('示例', '', '', '', 'Web/CSS/:visited') }}</p>

<h2 id="规范">规范</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">
    <p>Comment</p>
   </th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{ SpecName('HTML WHATWG', 'scripting.html#selector-visited', ':visited') }}</td>
   <td>{{ Spec2('HTML WHATWG') }}</td>
   <td></td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS4 Selectors', '#link', ':visited') }}</td>
   <td>{{ Spec2('CSS4 Selectors') }}</td>
   <td>无变化。</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS3 Selectors', '#link', ':visited') }}</td>
   <td>{{ Spec2('CSS3 Selectors') }}</td>
   <td>无变化。</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS2.1', 'selector.html#link-pseudo-classes', ':visited') }}</td>
   <td>{{ Spec2('CSS2.1') }}</td>
   <td>取消<code>:visited只适用于</code> {{ HTMLElement("a") }} 元素的限制。由于隐私原因,浏览器会限制该行为。</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS1', '#anchor-pseudo-classes', ':visited') }}</td>
   <td>{{ Spec2('CSS1') }}</td>
   <td>初次定义。</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">浏览器兼容性</h2>

{{Compat("css.selectors.visited")}}

<h2 id="参见">参见</h2>

<ul>
 <li><a href="/en-US/docs/CSS/Privacy_and_the_:visited_selector" title="/en-US/docs/CSS/Privacy_and_the_:visited_selector">Privacy and the :visited selector</a></li>
 <li>链接相关伪类:{{cssxref(":link")}}{{cssxref(":active")}},和{{cssxref(":hover")}}</li>
</ul>