当在css中悬停时,背景图像不会显示

时间:2012-11-12 22:06:24

标签: html css

使用此代码:

<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。

2 个答案:

答案 0 :(得分:2)

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

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

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

回应OP的评论:

  啊,你不明白我的问题。我要找的是background-image #bg#t1 div上悬停时会发生变化。

无法发生(yet),CSS只能 影响DOM 中出现的元素当前元素,你试图对其进行样式化。

因此,当您可以基于#t1 样式#bg:hover时,您无法设置父级或之前的兄弟格式,基于此一个孩子的:hover或后来的兄弟姐妹。

答案 1 :(得分:0)

交换#bg#t1,您的兄弟选择器应该有效:

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