CSS!您是否必须为每个链接状态重复相同的属性? (链接,访问,悬停......等)?

时间:2009-10-23 21:35:21

标签: css stylesheet hyperlink

重复每个链接类型中没有变化的属性是必要还是坏的做法? 像这样:

a:link {display: block; width: 50px;}
a:visited {display: block; width: 50px; color: #000;}
a:hover {display: block; width: 50px; color: #FFF}
a:active {display: block; width: 50px; color: #FFF}

每个都需要显示块吗?或者这是一种不好的做法? 此外,你可以链接链接状态? 像这样:

a:hover, a:active {display: block; width: 50px; color: #FFF}

此外,当你在链接上添加了id / class时,他们是否应该首先继承默认样式,然后更改特定的id / class? 像这样:

a:link {display: block; width: 50px; color: #000;}
....(etc)
a.menu:link {color: #FFF;}
....(etc)

.menu链接是否会从:链接获得显示和宽度,然后只更改颜色?

非常感谢您帮助清除所有这些!

3 个答案:

答案 0 :(得分:2)

不需要重复这些属性,不确定它本身是否是“不良做法”,但它肯定是你可以优化的。

您可以设置{display:block;宽度:50px}这将覆盖所有状态(除非在其他地方设置不同。是的,你也应该能够链接状态。

你是完全正确的,他们将继承分配给元素类型的样式,但如果设置了id / class name变量将优先。

答案 1 :(得分:1)

您可以链接链接状态。

:link和:visited是链接的最基本定义。对它们所做的陈述将在页面的每个链接上,即使链接具有类或ID。

说,:hover和:active不需要display:block,如果你声明它:link和:visited。

答案 2 :(得分:1)

按照Ben的回答:

a{ display:block; width: 50px }
a:hover, a:active{ color: #fff; }
a:visited{color: #000}