broof
@broof
Web Designer — понемногу изучаю HTML+CSS+JS

Как задать несколько свойств для нескольких элементов, но в рамках одного идентификатора?

Как упростить обращение к элементам?

<div>
  <div class="main1">
    <div class="sub1">
    Block 1
    </div>
      <div class="sub2">
    Block 2
    </div>
      <div class="sub3">
    Block 3
    </div>
  </div>
<br>
  <div class="main2">
    <div class="sub1">
    Block 5
    </div>
 ....
  </div>
</div>


.main1 .sub1 {color:red}
.main1 .sub2 {color:red}
.main1 .sub3 {color:red}
/* или */
.main1 .sub1, .main1 .sub2, .main1 .sub3 {color:red}


У меня главные классы (main) отличаются, а подклассы одинаковые
Стоит задача обращения к подклассам, но получается не удобно перечислять каждый раз какому классу принадлежит подкласс.
Можно ли упростить (сгруппировать) обращение? Типа:
.main1 {
  .sub1 {color:red}
  .sub2 {color:red}
  .sub2 {color:red}
}
  • Вопрос задан
  • 493 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Flying
В SCSS это легко решается через @extends:
%subsclasses-color {
  .sub1, .sub2, .sub3 {
    color:red;
  }
}
.main1 {
  @extends %subclasses-color;
}
.another-main {
  @extends %subclasses-color;
}
Ответ написан
Jukk
@Jukk
<div class="main1">
    <div class="sub"></div>
    <div class="sub"></div>
    <div class="sub"></div>
  </div>

  <div class="main2">
    <div class="sub"> </div>
    <div class="sub"> </div>
    <div class="sub"> </div>
  </div>


Вы пишите "У меня главные классы (main) отличаются, а подклассы одинаковые"
Соответственно зачем sub нумеровать если там одинаковый стиль будет?

.main1 {
  .sub { color: red }
}

.main2 {
  .sub { color: blue }
}
Ответ написан
Ваш ответ на вопрос

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

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