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-imageインです。#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 に答える