似乎以下变体产生相同的结果:
/* 1 */
a, a:visited, a:active { color: black; }
a:hover { color: red; }
/* 2 */
a, a:link, a:visited, a:active { color: black; }
a:hover { color: red; }
/* 3 */
a:link, a:visited, a:active { color: black; }
a:hover { color: red; }
Run Code Online (Sandbox Code Playgroud)
网络上的大多数指导使用2或3.为什么不选择最简单的1?:link如果您只需要一种普通链接样式和一种悬停样式,我就找不到合适的理由.
不使用是最佳做法:link吗?为什么或者为什么不?
我不关心链接是否被访问过.两者都采用相同的风格.我只关心悬停或不悬停.这个问题不是关于变体的作用 - 都做同样的事情.它是关于什么是最好的变种.其中一个变种有缺陷吗?哪一个是最佳实践?
所以我们需要对CSS anchor伪类使用以下顺序
a:link { color: red }
a:visited { color: blue }
a:hover { color: yellow }
a:active { color: lime }
Run Code Online (Sandbox Code Playgroud)
但我的问题是为什么要打扰a:link部分?相反,上述(除了清晰度之外)是否有任何优势:
a { color:red; } /* notice no :link part */
a:visited { color: blue; }
etc.,etc.
Run Code Online (Sandbox Code Playgroud)