如题,一些关于A标签的琐事。
1.A标签上的伪类顺序
正确的顺序是:Link,:visited,:hover,:active。
可以顺略,因为会继承写在A标签上的CSS,大部分时候可以使用A,A:hover{}。
这些伪类大部分也可以使用在其他html标签上,但是ie6的不支持。
2.target
以往如果使用新窗口打开需要设置A标签的target属性值为”_blank”,但是这不符合标准。为什么不符合标准?
如果强烈要求符合标准的话,可以使用rel=”external”来代替target属性,另外还需要配合一段js代码。
1 2 3 4 5 6 7 8 9 | function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") anchor.target = "_blank";
}
}
window.onload = externallinks; |
其实我个人觉得无所谓啦,这样变相地使用_blank对体验也没什么帮助。还不如_blank简洁。
比较好的方案还是在hover时给a加一个小的箭头背景图,指示其是新窗口打开的链接,提前告知一下用户。
3.name锚
在长页中可能需要用到段落跳转,可以用到name锚链接。
4.如果多个a需要进行float操作时,最好也加上white-space:nowrap;防止文字意外换行。
5.题外:CSS3中引入了:target伪类,用于改变段落跳转时目标段落的CSS样式。

