2009-05-26 34 views
2

我在我的网站的超链接,我想为a:linka:visited是部分#A0A0A0和部分#880000,我希望它改变部分#FFFFFF和部分#AA0000a:hovera:active。但我希望它成为一个链接。到目前为止我已经尝试了两种解决方案,但都没有按照我想要的方式实现。如何在一个超链接中获取两种颜色?

第一个是:

a.menu:link { color: #a0a0a0; text-decoration: none; } 

a.menu:visited { color: #a0a0a0; text-decoration: none; } 

a.menu:hover { color: #ffffff; text-decoration: none; } 

a.menu:active { color: #ffffff; text-decoration: none; } 

<a class="menu" href="/about.html">Dubious 
    <span style="color: #880000;">Array</span> 
.net</a> 

在这种解决方案中,中间部分(“阵列”)的颜色保持原样#880000整个时间并且不改变到#AA0000:hover:active

第二种解决方案是创建一个<a> </a>为所述串的每一部分(因此一个关于“可疑”,一个用于“阵列”和一个关于“.NET”),并且具有用于中间<a> </a>的CSS是

a.redMenu:link { color: #880000; text-decoration: none; } 

a.redMenu:visited { color: #880000; text-decoration: none; } 

a.redMenu:hover { color: #AA0000; text-decoration: none; } 

a.redMenu:active { color: #AA0000; text-decoration: none; } 

颜色以这种方式正常工作;但字符串是三个单独的链接,因此通过一个链接进行移动不会改变其他链接的颜色。

所以我想要做的就是将超链接中的css从a.menu更改为a.redMenu然后再返回a.menu,但我无法解决问题。任何人都可以解决我的问题吗?

谢谢,雅各布

回答

4

您可以使用原有的HTML,只是删除内嵌样式:

​​3210

然后,只需添加这些CSS声明跨度:

a.menu:link span, a.menu:visited span{color: #880000;} 
a.menu:hover span, a.menu:active span {color: #aa0000;} 
1
a.redMenu:hover span { color: #AA0000; text-decoration: none; } 

这告诉跨度什么颜色是当它的父链接悬停。

1
<html> 
<head> 

<style type="text/css"> 

p { background: #00c } 
a.menu:link { color: #a0a0a0; text-decoration: none; } 
a.menu:visited { color: #a0a0a0; text-decoration: none; } 
a.menu:active { color: #ffffff; text-decoration: none; } 
a.menu:hover span.normal { color: #800 } 
a.menu:hover span.hilite { color: #880 } 

</style> 

</head> 

<body> 

    <p><a class="menu" href="/about.html"><span class="normal">Dubious 
     <span class="hilite">Array</span> .net</span></a> 
    </p> 

</body> 
</html>