CSS访问链接更改背景颜色

时间:2014-08-29 21:15:33

标签: css html5

为什么下面的代码不起作用?

a:visited {
   background-color: yellow;
} 

取自:http://www.w3schools.com/cssref/sel_visited.asp

我要做的是有两个链接指向两个不同的点,但覆盖同一个框。如果访问过任何一个链接,我希望以某种方式得到通知。更改背景颜色或边框颜色。

示例:

<a id="linkA" href="http://www.w3schools.com/">
  <a id="linkB" href ="http://www.w3schools.com/html/">
   <div id="bix">Change content if either link is visited</div>
 </a>
</a>

CSS:

#bix {
   border: 3px solid orange;
}

#linkA #bix {
   border: 3px solid green;
}

#linkB #bix {
  border: 3px solid red;
}

问题是当您检查代码时,#LinkA不包含#LinkB。如何在#LinkA中使用#LinkB,或以任何其他方式使#bix对访问#LinkA或#LinkB作出反应。

3 个答案:

答案 0 :(得分:1)

尝试:

a:visited + #bix { ... }

您必须更改实际内容。

答案 1 :(得分:1)

创建链接的正确方法是

<a href="http://www.example.com">This Will Be The Link</a>

然后,当访问它时,改变颜色的CSS将是

a:visited{
    color:blue;/*will change text colour*/
    background-color:yellow;/*will change background colour*/
}

这两个位置对我来说似乎是多余的,因为它只能到达一个位置?

答案 2 :(得分:1)

HTML语法中禁止使用嵌套锚标记,因此它们没有显示出来。

正如@beautifulcoder建议的那样,更改内容本身。

a:visited > #bix { color: red; }
相关问题