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

109
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, как на картинке?

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

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

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

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

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

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

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

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

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

77