Почему не работают события hover?

166
19 марта 2022, 05:00

Не могу понять почему не работает вот такого вида событие hover

.way1:hover .arrow{
  transform: rotate(0deg)
}

https://jsfiddle.net/srb72wnu/1/

Answer 1

Потому что .arrow не внутри .way1, .way2, .way3.

body { 
  margin: 0; 
} 
 
.way1, 
.way2, 
.way3 { 
  position: absolute; 
  background-size: 80%; 
  background-position: bottom; 
  width: 100%; 
  height: 50% 
} 
 
.way1 { 
  background: red; 
  top: -5px; 
} 
 
.way2 { 
  background: green; 
  bottom: 0; 
  right: 50%; 
  margin-top: 5px; 
  margin-right: 3px; 
} 
 
.way3 { 
  background: blue; 
  bottom: 0; 
  left: 50%; 
  margin-top: 6px; 
  margin-left: 3px; 
} 
 
.center { 
  width: 100px; 
  height: 100px; 
  transform: rotate(45deg); 
  background: #e6e6e6; 
  position: absolute; 
  top: -6px; 
  bottom: 0; 
  left: 0; 
  right: 0; 
  margin: auto; 
  animation: pulse 2s infinite, pulse2 2s infinite; 
} 
 
.arrow { 
  transition: 2s; 
  border-radius: 50%; 
  width: 10px; 
  height: 80px; 
  background: #000; 
  position: absolute; 
  top: 0; 
  bottom: 0; 
  left: 0; 
  right: 0; 
  margin: auto; 
} 
 
.way1:hover~.arrow { 
  transform: rotate(0deg); 
} 
 
.way2:hover~.arrow { 
  transform: rotate(135deg); 
} 
 
.way3:hover~.arrow { 
  transform: rotate(225deg); 
}
<div class="way1"></div> 
<div class="way2"></div> 
<div class="way3"></div> 
<div class="center"></div> 
<div class="arrow"></div>

почему не работают данные if условия в sass - https://jsfiddle.net/2ysenbxL/3/

/* Почему не работает? */
$arrowPosition: way1
.way1:hover~.arrow
  @if $arrowPosition == way2
    transform: rotateZ(290deg)
    $arrowPosition: way1
  @else
    transform: rotateZ(0deg)
    $arrowPosition: way1
.way2:hover~.arrow
  @if $arrowPosition == way1
    transform: rotateZ(-134deg)
    $arrowPosition: way2
  @else
    transform: rotateZ(225deg)
    $arrowPosition: way2
  transform: rotateZ(225deg) /* <- лишняя строчка */
.way3:hover~.arrow
  @if $arrowPosition == way1
    transform: rotateZ(135deg)
    $arrowPosition: way3
  @else
    transform: rotateZ(225deg)
    $arrowPosition: way3

У Вас там лишняя строчка transform: rotateZ(225deg).

Answer 2

У вас стиль применяется к классу arrow, элемент которого находится внутри элемента с классом way1.

Если вам нужно применить hover на .way1

.way1:hover{
  transform: rotate(0deg)
}

Если вам нужно применить hover на .arrow который внутри .way1

.way1 .arrow:hover{
  transform: rotate(0deg)
}
READ ALSO
Картинку и цвет фоном

Картинку и цвет фоном

Как наложить цвет поверх логотипа через CSS, как на картинке?

130
Как запустить процесс nohup через php скрипт?

Как запустить процесс nohup через php скрипт?

Хочу через php скрипт запустить работу в фоне другого скрипта, для этого в script_1php пишу такой код:

146
Вывод из файла txt

Вывод из файла txt

Есть файл filetxt с таким содержимым

139
как получить желаемый массив

как получить желаемый массив

Здравствуйте пытаюсь получить массив из объеденных таблиц, но не получается не знаю что уже делать вот мой код

132