Yeashua
@Yeashua
Студент, увлекаюсь программированием

Почему не работает с &?

В общем, проблема решилась сама собой, но я не понимаю причину её возникновения.
Вот код:
<div class="block">
         <div class="block__1">
            .block__1
         </div>
         <div class="block__2">
            .block__2
         </div>
         <div class="block__3">
            .block__3
         </div>
      </div>


вот SCSS:
.block {
   div{
      line-height: 50px;
      font-size: 18px;
      font-weight: 700;
      text-align: center;
      color: #fff;
   }
   border: 5px solid red;
   max-width: 800px;
   margin: 0px auto;
   height: 800px;
   &__1 {
      background-color: green;
   }

   .block__2 {
      background-color: yellow;
      color: black;
   }

   &__3 {
      background-color: blue;
   }
}


Почему при указании в SCSS второго блока через &:
.block {
   div{
      line-height: 50px;
      font-size: 18px;
      font-weight: 700;
      text-align: center;
      color: #fff;
   }
   border: 5px solid red;
   max-width: 800px;
   margin: 0px auto;
   height: 800px;
   &__1 {
      background-color: green;
   }

   &__2 {
      background-color: yellow;
      color: black;
   }

   &__3 {
      background-color: blue;
   }
}


цвет текста остаётся белым?
  • Вопрос задан
  • 111 просмотров
Решения вопроса 1
iiiBird
@iiiBird Куратор тега CSS
Пока ты спишь - твой конкурент совершенствуется
а в инспекторе посмотреть сначала перед тем как писать тут не судьба?
62389afb4ffa5939127052.jpeg
перебиваются у тебя стили
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
.block {
    .block__2 {
        ...
    }
}
Это селектор .block .block__2

.block {
    &__2 {
        ....
    }
}
Это селектор .block__2

Данные селекторы могут относиться к одним и тем же элементам, но имеют разную специфичность.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы