无法在悬停时更改其他元素的背景颜色

时间:2014-03-19 15:40:46

标签: html css hover css-selectors

我创建了一个包含元素的列表。我希望当你悬停元素1时#tags_image的背景颜色变为黄色,当你悬停元素2时变为蓝色等等。这是我的HTML代码:

<ul id="tags">
    <li><div id="tag1">Familie</div></li>
    <li><div id="tag2">Uncharted</div></li>
</ul>
<div id="tags_image"><img src="images/transparent.png" width="100%"></div>

我的CSS:

#tags {
    padding: 4px;
    display: inline-block;
}

#tags_image {
    display: inline-block;
    margin-left: 7.5%;
    width: 20%;
    background-color: red;
}

#tags li {
    display: inline;
    cursor: pointer;
}

#tags #tag1:hover + #tags_image {
background-color: yellow;
}

#tags #tag2:hover + #tags_image {
background-color: blue;
}

但是,这似乎不起作用。问题不在于:hover属性,因为我可以通过这种方式更改tag1和tag2的元素,但我无法更改#tags_image的元素。

我该如何解决这个问题?任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

您可以使用jQuery来操作它。

$("#tag1").hover(function(){
    $("#tags_image").css('background','yellow');
});

$("#tag2").hover(function(){
    $("#tags_image").css('background','blue');
});

CMIIW〜