ホバリングの問題を解決する方法を探しています。
<div class="section">
<div class="image"><img src="myImage.jpg" /></div>
<div class="layer">Lorem Ipsum</div>
</div>
現在、両方のクラス(画像とレイヤー)に境界線があり、両方とも通常とホバーで異なる色を持っています。レイヤークラスをホバーすると、レイヤーと画像クラスの両方のホバーボーダーカラーがアクティブになるようにする方法はありますか?そしてその逆?
これにはJavaScriptは必要ありません。
一部のCSSがそれを行います。以下に例を示します。
<html>
<style type="text/css">
.section { background:#ccc; }
.layer { background:#ddd; }
.section:hover img { border:2px solid #333; }
.section:hover .layer { border:2px solid #F90; }
</style>
</head>
<body>
<div class="section">
<img src="myImage.jpg" />
<div class="layer">Lorem Ipsum</div>
</div>
</body>
</html>
これはFirefoxとChromeとIE8で機能しました...
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style type="text/css">
div.section:hover div.image, div.section:hover div.layer {
border: solid 1px red;
}
</style>
</head>
<body>
<div class="section">
<div class="image"><img src="myImage.jpg" /></div>
<div class="layer">Lorem Ipsum</div>
</div>
</body>
</html>
... IE6でこれをテストすることもできます(そこで動作するかどうかはわかりません)。
最適な選択肢は、両方のdivを別のdivで囲むことです。その後、次の方法でCSSで作成できます。
<html>
<head>
<style>
div.both:hover .image { border: 1px solid blue }
div.both:hover .layer { border: 1px solid blue }
</style>
</head>
<body>
<div class="section">
<div class="both">
<div class="image"><img src="myImage.jpg" /></div>
<div class="layer">Lorem Ipsum</div>
</div>
</div>
</body>
</html>
これを達成するのは難しくありませんが、javascript onmouseover
関数を使用する必要があります。擬似スクリプト:
<div class = "section"> <div class = "image"> <img src = "myImage.jpg" onmouseover = "。layer {border:1px solid black;} .image {border:1px solid black;} "/></div> <div class =" layer "> Lorem Ipsum </ div> </ div>
独自の色を使用してください。 mouseoverコマンドでJavaScript関数を参照することもできます。
これを実現するにはJavaScriptを使用する必要があると思います。
jQuery:
$(function(){
$("#innerContainer").hover(
function(){
$("#innerContainer").css('border-color','#FFF');
$("#outerContainer").css('border-color','#FFF');
},
function(){
$("#innerContainer").css('border-color','#000');
$("#outerContainer").css('border-color','#000');
}
);
});
それに応じて値と要素IDを調整します:)
または
.section:hover > div {
background-color: #0CF;
}
注親要素の状態は子要素の状態にのみ影響するため、次を使用できます。
.image:hover + .layer {
background-color: #0CF;
}
.image:hover {
background-color: #0CF;
}
しかしできません使用
.layer:hover + .image {
background-color: #0CF;
}