CSS伪类:不支持链接。有没有相应的?

时间:2016-04-10 22:59:26

标签: css hyperlink css-selectors pseudo-class

我是CSS的新手,我想知道,是否有其他方法可以编写等效的伪类:链接,以防:链接不受支持?

2 个答案:

答案 0 :(得分:2)

理论上,在selectors-4中你可以写:any-link:not(:visited),但是你很难找到任何支持:visited但不支持:link的浏览器,更不用说:any-link了。 1}},尽管浏览器回归。

稍微广泛支持的选择器需要知道文档语言,因为链接伪类本身基于文档语义匹配不同的元素。在HTML中,:link可以表示为以下3级选择列表:

a[href]:not(:visited), area[href]:not(:visited), link[href]:not(:visited)

同样的警告适用。

如果您要询问支持 链接伪类的浏览器,请从上面的selector-list中删除:not(:visited)。如果您在不支持伪类的浏览器中询问如何根据访问链接访问链接,那么就不可能了。但是没有已知的浏览器缺乏对链接伪类的支持,因此如果您正在制作网站,这将永远不会成为问题。

请注意,CSS1CSS2.1定义:link:visited仅适用于a元素 - 独立Selectors标准(第3级)相反,延伸到文档语言,在HTML的情况下,上面的当前定义由HTML5提供。这在理论上意味着IE6(不确定IE7)的浏览器不支持a[href]以外的元素上的链接伪类,因为IE6是设计的符合CSS1标准,不符合CSS2标准。

这在实践中意味着取决于您是否使用链接伪类来匹配arealink元素,以及您是否支持可追溯到IE7的浏览器,地点。如果您有99.9%的作者不会将arealink元素用于其中,那么这在实践中绝对没有任何意义。

答案 1 :(得分:0)

a {}选择器({}已添加,因为它太短了)将适用于所有伪类,但a:link将覆盖用户尚未访问过的网址的特定样式

有人提到了一个特别旧版本的Internet Explorer。如果您是CSS的新用户,则首先专注于当前的浏览器。如果您现在正在学习,那么您支持的IE最早版本是IE11,如果使用CSS将成为您未来职业生涯的一部分。