Элементы вложенности BEM и эффекты наведения

#css #sass #bem

Вопрос:

Итак, предположим, что у меня есть следующий код

 <div class="list">
    <div class="list__wrapper"> 
        <ul class="list__menu">
            <li class="list__item">
                <a class="list__link">Link</a>
                <p class="list__description">Desc</p>
            </li> 
        </ul>
    </div>
</div>
 

Тогда мой SCSS будет выглядеть примерно так:

 .list {
    amp;__wrapper {

    }    

    amp;__menu {

    }
    ...
}
 

проблема:

Я хочу создать эффект наведения на li, который будет содержать list_link и некоторые другие элементы, но я хочу изменить цвет ТОЛЬКО на класс list__link, и мне интересно, как наиболее эффективно это сделать в SCSS.

Мое текущее решение (которое мне не очень нравится)

 .list {
    amp;__item {
        amp;:hover {
            .list__link {
                 color: $secondary
            }
        }
    }    
}
 

Я уверен, что делаю что-то не так, потому что мне кажется, что я нарушаю то, что должно быть в SCSS и BEM, но до сих пор я не нашел решения.

Ответ №1:

Вы можете просто выбрать этот селектор, выполнив следующие действия:

 .list {
  amp;__item:hover .list__link {
    color: $secondary;
  }
}