Cześć wszystkim. Tworzę grę kółko i krzyżyk i chciałem by jakoś to fajnie wyglądało, ale napotkałem się na problem. Stworzyłem hover w css, który polega na zmianie koloru tła danego kafelka z planszy na jaśniejszy. Wszystko działa do momentu gdy zmienię kolor tła za pomocą js'a. Wtedy hover działa z tego co zauważyłem ale nie na właściwość koloru tła. Niżej fragment kodu jak to wygląda:
HTML
<div id="board">
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
<div class="field"><i></i></div>
</div>
SCSS
#board {
width: 602px;
height: 602px;
background-color: transparent;
border: solid 1px #cccccc;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
.field {
width: 200px;
height: 200px;
background-color: #000023;
border: solid 3px #cccccc;
transition: all 500ms;
&:hover {
background-color: #000036;
cursor: pointer;
}
i {
color: #cccccc;
opacity: 0;
transition: opacity 333ms;
}
.fa-times {
font-size: 120px;
margin-top: 35px;
margin-left: 55px;
}
.fa-circle {
font-size: 95px;
-webkit-text-stroke: 5px;
margin-top: 48px;
margin-left: 48px;
}
}
}
JS
fields.forEach((field) => {
field.childNodes[0].style.opacity = '0';
field.style.pointerEvents = 'auto';
field.style.backgroundColor = '#000023';
field.childNodes[0].classList.remove('fas', 'fa-times');
field.childNodes[0].classList.remove('far', 'fa-circle');
});