1

imgにカーソルを合わせたときにh1タグの幅を広げようとしていますが、うまくいかないようです。

http://jsfiddle.net/xJ4dc/

ありがとう。

4

4 に答える 4

2

これを試して:

img:hover + h1 {
    width:100%;
}​

jsFiddle の例

このルールは、画像にカーソルを合わせるたびに、隣接するすべての兄弟<h1>要素の幅を 100% に変更することを示しています。

于 2012-05-19T19:16:52.313 に答える
1

セレクターは、ルールを適用するために要素を選択する必要があります。
あなたのフィドルimg:hoverには子孫がないh1ため、何も起こりません。
この場合、あなたh1の次の兄弟であるため、 +セレクターimg:hoverを使用できます

img:hover + h1

フィドル

于 2012-05-19T19:15:23.540 に答える
1

次のことを理解する必要がありますimg:hover h1

名前が付けられたすべてのタグについて 名前が付けられimg:hoverすべての子要素タグについてh1

作業するにはプラス記号を使用する必要がありますimg:hover + h1

しかし、私はhttp://jsfiddle.net/xJ4dc/5/であることをお勧めします

<ul>
    <li>
        <img src="http://www.real-whitby.co.uk/wp-content/uploads/donkey.jpg" />
        <h1>This is a heading</h1>
    </li>
</ul>
​

その後:

li img {
    width: 100px;
}

li h1 {
    display: none;
}

li img:hover + h1 {
    display: block;
}
​

display:none;そしてdisplay:block、見出しの表示と非表示を切り替えるために使用することに注意してください。

于 2012-05-19T19:18:03.960 に答える
-1

セレクターimg:hover h1は、「ホバーされている img の子孫である任意の h1 要素」を意味します。問題は、要素がタグh1の子孫ではなく、兄弟であることです。隣接する兄弟セレクターimgを使用するように変更して、目的の効果を得ることができます。

img:hover + h1 {
    width:300px;
}

</p>

于 2012-05-19T19:15:15.173 に答える