次のCSSとHTMLを考えてみましょう。再帰CSSを防止:ホバー効果
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Hover Test</title>
<style>
div {
min-height: 20px;
margin:20px;
border: 1px solid #000;
background-color: #fff;
}
div:hover {
background-color: #000;
}
</style>
</head>
<body>
<div>
<div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
</div>
</div>
<div>
<div>
<div></div>
<div></div>
</div>
<div>
<div></div>
<div></div>
</div>
</div>
</body>
</html>
結果として、子ノードに関係なくマウスが上がっているすべてのノードにホバー効果が表示されます。
私がロックしている効果は、マウスが直接上にあるノードだけにホバー効果を表示することです。これは、マウスが子ノードの上にあるときに、要素にホバー効果がないことを示しています。
これだけの方法でCSSにはありますか?
私は常にのonmouseoverれるonmouseoutイベントハンドラを使用してCSSクラス.hoverまたは類似を使用して可能性が推測されていない場合。 Butt私は、影響を受けるdomノードを変更せず、CSSで簡単にスタイル可能な解決策を見つけることが望ましいでしょう。あなたが唯一のリーフノードは、黒の背景色を得るために、そしてあなただけのノードのちょうど三つのレベルがあります保証することができますしたい場合は
XHTML文書の前に '<?xml version =" 1.0 "encoding =" UTF-8 "?>'何がありますか? – mauris
@thephpdeveloper:XHTML 1.0/1.1文書は 'application/xhtml + xml'はXML宣言の検証が必要です。しかし、それらを 'text/html'として提供すれば、XML宣言は必要ありません。それ以外の場合は、IE(少なくとも私はIE6と思われます)をquirksモードにすることをお勧めします。 – BoltClock