0

得到这个代码工作:

<style type="text/css">
        body {
            margin: 0px;
        }

        #hallo {
            width: 960px;
            height: 600px;
            position: relative;
            margin: auto;
            border: solid 1px yellow;
        }
        #bg {
            width: 960px;
            height: 600px;
            position: absolute;
            background-image:url(torres.jpg);
            background-size: 960px 600px;
        }

        #t1 {
            width: 100px;
            height: 100px;
            position: absolute; 
            background-size: 100px 100px;
            border: solid 1px white;
        }

        #t1  {
            top: 100px;
            left: 600px;
            background-image:url(torres1.jpg);
        }

        #t1:hover ~ #bg {
            position: absolute;
            background-image:url(torres1.jpg);
            background-size: 960px 600px;
        }


    </style>

<section id="hallo">

    <div id="bg"></div>
    <div id="t1"></div>

</section>  

但我有一个问题。当我将鼠标悬停在 t1 div 上时,没有任何反应。背景图像不会更改为“torres1.jpg”。有什么解决办法吗?

我不能为此使用java。

4

2 回答 2

2

您尚未为元素定义:hover状态:#t1

#t1  { /* non-hovered */
    top: 100px;
    left: 600px;
}

#t1:hover { /* hovered-over */
    background-image:url(torres1.jpg);
}

针对 OP 的评论进行了编辑:

啊,你不明白我的问题。我正在寻找的是当将鼠标悬停在div上时要更改的background-imagein 。#bg#t1

不可能发生(),CSS只能影响出现在 DOM 中的元素,该元素于您尝试为其交互设置样式的当前元素。

因此,虽然您可以#t1根据 设置样式#bg:hover,但不能:hover根据孩子或后来的兄弟姐妹设置父母或前兄弟姐妹的样式。

于 2012-11-12T22:09:03.000 回答
0

交换#bg#t1你的兄弟选择器应该工作:

<section id="hallo">
    <div id="t1"></div>
    <div id="bg"></div>
</section>  
于 2012-11-12T22:17:04.117 回答