我是CSS的新手,我想知道,是否有其他方法可以编写等效的伪类:链接,以防:链接不受支持?
答案 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)
。如果您在不支持伪类的浏览器中询问如何根据访问链接访问链接,那么就不可能了。但是没有已知的浏览器缺乏对链接伪类的支持,因此如果您正在制作网站,这将永远不会成为问题。
请注意,CSS1和CSS2.1定义:link
和:visited
仅适用于a
元素 - 独立Selectors标准(第3级)相反,延伸到文档语言,在HTML的情况下,上面的当前定义由HTML5提供。这在理论上意味着IE6(不确定IE7)的浏览器不支持a[href]
以外的元素上的链接伪类,因为IE6是设计的符合CSS1标准,不符合CSS2标准。
这在实践中意味着取决于您是否使用链接伪类来匹配area
或link
元素,以及您是否支持可追溯到IE7的浏览器,地点。如果您有99.9%的作者不会将area
或link
元素用于其中,那么这在实践中绝对没有任何意义。
答案 1 :(得分:0)
a {}
选择器({}
已添加,因为它太短了)将适用于所有伪类,但a:link
将覆盖用户尚未访问过的网址的特定样式
有人提到了一个特别旧版本的Internet Explorer。如果您是CSS的新用户,则首先专注于当前的浏览器。如果您现在正在学习,那么您支持的IE最早版本是IE11,如果使用CSS将成为您未来职业生涯的一部分。