Html :link伪类与访问的链接不匹配

Html :link伪类与访问的链接不匹配,html,css,pseudo-class,Html,Css,Pseudo Class,我在阅读有关CSS伪类的文章时,遇到了:link伪类 每个人都说,:link伪类匹配具有“href”属性且尚未访问的链接元素 第一个条件是正确的,正如我检查出来的,但显然第二个条件(仅匹配未访问的链接)不是这样的(至少对于Google Chrome),如下图所示: 这里发生了什么?访问的:psuedoselector可以更改许多属性(例如颜色,背景色),但不幸的是字体大小不是其中之一。这就是为什么即使在:visted代码中设置字体大小,它也不会更改字体大小的原因 限制的原因是出于隐私原因。您可

我在阅读有关CSS伪类的文章时,遇到了
:link
伪类

每个人都说,
:link
伪类匹配具有“href”属性且尚未访问的链接元素

第一个条件是正确的,正如我检查出来的,但显然第二个条件(仅匹配未访问的链接)不是这样的(至少对于Google Chrome),如下图所示:


这里发生了什么?

访问的
:psuedoselector可以更改许多属性(例如
颜色
背景色
),但不幸的是
字体大小
不是其中之一。这就是为什么即使在:visted代码中设置字体大小,它也不会更改字体大小的原因


限制的原因是出于隐私原因。您可以查看有关访问限制的更多信息
:访问的
psuedoselector可以更改许多属性(例如
颜色
背景色
),但不幸的是
字体大小
不是其中之一。这就是为什么即使在:visted代码中设置字体大小,它也不会更改字体大小的原因


限制的原因是出于隐私原因。您可以查看有关访问限制的更多信息

这有点令人困惑,但如果您参考,您会发现:

因此,UAs可以将所有链接视为未访问的链接,或者实施其他措施,以保护用户的隐私,同时以不同方式呈现已访问和未访问的链接

这就是这里正在发生的事情。诀窍是创建一些限制,以避免访问链接和未访问链接的样式之间存在很大差异

从技术上讲,您将应用于
a:link
的所有样式也将应用于
a:visted
,除非您在
a:visted
中覆盖它们,并且您仅限于可在
:visted
中应用的样式,因此您无法覆盖所有内容:

您可以设置已访问链接的样式,但可以使用的样式有限制。只能将以下样式应用于已访问的链接:

  • 颜色
  • 背景色
  • 边框颜色(及其子属性)
  • 列规则颜色
  • 轮廓颜色
  • 填充和笔划属性的颜色部分
此外,即使对于上述样式,您也无法更改未访问和已访问链接之间的透明度,因为您可以使用rgba()、hsla()或transparent关键字

下面是一个例子来说明:

a:link{
字体大小:50px;
边框:2倍纯红;
颜色:黑色;
填充:20px;
盒影:5px5px0蓝色;
显示:内联块;
利润率:10px;
}
a:参观了{
颜色:红色;/*这将起作用*/
边框:5px点绿色;/*仅此颜色有效*/
背景:黑色;/*这将不起作用,因为我们无法将透明值更改为不透明值*/
/*以下所有操作都不起作用*/
填充:0;
盒影:-5px-5px 0紫色;
显示:内联;
利润率:9584px;
字体大小:10px;
}

这有点令人困惑,但如果您参考,您会发现:

因此,UAs可以将所有链接视为未访问的链接,或者实施其他措施,以保护用户的隐私,同时以不同方式呈现已访问和未访问的链接

这就是这里正在发生的事情。诀窍是创建一些限制,以避免访问链接和未访问链接的样式之间存在很大差异

从技术上讲,您将应用于
a:link
的所有样式也将应用于
a:visted
,除非您在
a:visted
中覆盖它们,并且您仅限于可在
:visted
中应用的样式,因此您无法覆盖所有内容:

您可以设置已访问链接的样式,但可以使用的样式有限制。只能将以下样式应用于已访问的链接:

  • 颜色
  • 背景色
  • 边框颜色(及其子属性)
  • 列规则颜色
  • 轮廓颜色
  • 填充和笔划属性的颜色部分
此外,即使对于上述样式,您也无法更改未访问和已访问链接之间的透明度,因为您可以使用rgba()、hsla()或transparent关键字

下面是一个例子来说明:

a:link{
字体大小:50px;
边框:2倍纯红;
颜色:黑色;
填充:20px;
盒影:5px5px0蓝色;
显示:内联块;
利润率:10px;
}
a:参观了{
颜色:红色;/*这将起作用*/
边框:5px点绿色;/*仅此颜色有效*/
背景:黑色;/*这将不起作用,因为我们无法将透明值更改为不透明值*/
/*以下所有操作都不起作用*/
填充:0;
盒影:-5px-5px 0紫色;
显示:内联;
利润率:9584px;
字体大小:10px;
}


我没有更改:visited选择器中的字体大小。@AmirHosseinAhmadi是的,我知道这一点,但在您的原始示例(编辑前)中,您显示了要编辑的字体大小。我不知道为什么这个答案被否决了好几次,尽管我已经指出了与随后的答案相同的隐私理由。如果那些投了否决票的人想说明他们为什么投了否决票,这将非常有用。我没有在:visited选择器中更改字体大小。@AmirHosseinAhmadi是的,我知道这一点,但在您的原始示例(编辑前)中,您显示了要编辑的字体大小。我不知道为什么这个答案被否决了好几次,尽管我已经指出了与随后的答案相同的隐私理由。如果那些投了否决票的人想说出他们为什么投了否决票,那将是非常有用的。