loratokareva
@loratokareva
html верстальщик

Как правильно переписать scss?

Помогите пожалуйста корректно переписать пример нижний в scss

.test {
  &:hover { 
         /* вот сюда */
  }

  &__title, 
  &__name{
  color: green;
  }
}


/* вот этот код расписать в код выше   */
.test:hover .test__title,  
.test:hover .test__name{
  color: red;
}
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
qork
@qork
{ background: #F00B42 }
.test{
  $root: &;
  &:hover{
    #{$root}__title,
    #{$root}__name{
      color: red;
    }
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
.test {
  &:hover &__title { 
        
  }
  &:hover &__name{ 
        
  }
}


Либо (но это не удобный вариант):
.test {
  &:hover { 
        .test__title{}
        .test__name{}
  }
}


UPD: А если поискать на стековерфлоу, то можно узнать как все-таки это делается: https://stackoverflow.com/questions/34021910/bem-w...

UPD: Сам для себя, да и для вас выбрал самый нормальный вариант реализации:

.test { 

    &__name {
        color: red;
    }

    &:hover & {
        &__name  {
            color: green;
        }   
    }
}


Важно не забывать про амперсанд после :hover, тогда можно будет писать в "привычном" для вас виде.
Ответ написан
zooks
@zooks
Frontend
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы