2015-05-29 11 views
7

Utworzono siatkę szarych kwadratów przy użyciu CSS. Chcę, aby wszystkie zmieniły kolor na czarny, gdy ustawię się nad dowolnym z kwadratów. Moje obecne rozwiązanie obróci tylko kwadrat, nad którym zaznaczam kolor czarny. Czy mogę to zrobić za pomocą samego CSS? Wyobrażam sobie, że będzie to wymagało użycia przęseł. Poniżej znajduje się kod:Zmieniaj każdy kwadrat w kolorze siatki po najechaniu kursorem za pomocą CSS

.square { 
 
    background-color: #737373; 
 
    float: left; 
 
    position: relative; 
 
    width: 30%; 
 
    padding-bottom: 30.66%; 
 
    margin: 1.66%; 
 
} 
 
.square:hover { 
 
    background-color: black; 
 
}
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div> 
 
<div class="square"></div>

+0

nie można zrobić z czystym CSS bez modyfikowania kodu HTML lub przy użyciu JavaScript. – j08691

Odpowiedz

7

Będziemy chcieli, aby owinąć .square elementy w pojemniku, a następnie użyć CSS poniżej.

HTML:

<div id="container"> 
    <div class ="square"></div> 
    <div class ="square"></div> 
    <div class ="square"></div> 
    ... 
</div> 

CSS

#container:hover .square{ 
    background-color:black; 
} 

Fiddle: http://jsfiddle.net/ajjr68ho/

+2

To jedyny sposób, w jaki mogę to zobaczyć, używając tylko CSS. Biorąc pod uwagę, że selektor ogólnego rodzeństwa "~" może tylko oddziaływać na elementy po tym, który jest zawinięty. +1 –

Powiązane problemy