2012-12-01 12 views
6

クラス.one.one :hover)に「ホバー」機能を配置して、background-colorをグレーに変更します。コンテナの上にカーソルを置くと、いつでもdiv.two, .three)の両方が強調表示されます。.one div。コンテナdivにカーソルを合わせると、ネストされたdivが個別にハイライトされます

しかし、それは2つのネストされたdiv.two,.three)を個別にホバーします。誰かがなぜこれがそうであり、それがdiv全体をハイライトさせるために何をしなければならないかを説明してもらえますか?.one 1つの単色の灰色のdivを作成していますか?

以下は私が使用したCSSです。

.one { 
 
    width: 200px; 
 
    display: inline-block; 
 
} 
 

 
.two { 
 
    background-color: rgba(0, 51, 102, 1); 
 
    width: 50px; 
 
    height: 100px; 
 
    float: left; 
 
} 
 

 
.three { 
 
    background-color: rgba(0, 204, 204, 1); 
 
    width: 150px; 
 
    height: 100px; 
 
    float: right; 
 
} 
 

 
.one :hover { 
 
    background-color: rgba(153, 153, 153, 1); 
 
}
<div class="one"> 
 
    <div class="two"> 
 
    </div> 
 
    <div class="three"> 
 
    </div> 
 
</div>

答えて

8

私は、このCSSはあなたを助けるだろうと思い:間違いなくそれをコーディングする正しい方法です

.one:hover .two, .one:hover .three { 
background-color: rgba(153,153,153,1);} 
+0

感謝を。私はCSSルールの正確な構文に関する質問があります。特異な ".one:hover"セレクタを使用する場合は、.oneと:hoverの間にスペースが必要です。しかし、cssルールを複数のセレクタで記述すると、.oneと:hoverの間にスペースを入れることはできません。何か特別な理由はありますか?後で頭痛を軽減して、なぜそこにいるかを覚えていることに反して、どうして特定のニュアンスが存在するのかを理解します。 – Biglu315

+0

セレクタと擬似クラスの間にスペースを入れなければならないのは奇妙です。私は決してそうしない。例えばあなたが見ているなら。 http://www.w3schools.com/css/css_pseudo_classes.aspそれは間にスペースがあるように見えません。 – anders

関連する問題