このような HTML 定義の一部があります。
<div id="photoindex" class="content">
<div class="photocategory">
<a href="/photo/clouds"><img src="img.jpg"></a>
<h1><a href="/photo/clouds">Clouds</a></h1>
</div>
</div>
h1
は、画像がホバーされるまで非表示にする必要があります。ホバーすると、がh1
表示され、img
不透明度が減少します。私の現在の試みには、無視できないわずかな欠陥があります。
div#photoindex h1 {
visibility: hidden;
}
div#photoindex h1:hover {
visibility: visible;
}
div#photoindex img:hover {
opacity: 0.7;
}
div#photoindex a:hover + h1 {
visibility: visible;
}
div#photoindex h1:hover + a {
opacity: 0.7;
}
これで、マウスを画像の上に置くh1
と、画像が表示され、画像の不透明度が下がります。ただし、マウスを の上に移動するh1
と、画像の不透明度が通常に戻ります。:first-child
およびセレクターを使用してみまし:last-child
たが、うまくいかないようです。どちらにも適用しようとしてもうまくいきませんでした.photocategory
。
div.photocategory:hover a {
opacity: 0.7;
}
div.photocategory:hover h1 {
visibility: visible;
}
これにより不透明度が変更されますが、 の可視性には明らかな影響はありませんh1
。Javascriptなしでやりたいことはできますか? おそらく、別の HTML 構造の方がうまく機能するでしょうか?