lavezzi1
@lavezzi1

Вложенность в css препроцессорах?

Здравствуйте. Я правильно понимаю, что черезмерная вложенность - это плохо?
.sidebar 
  width 260px
  height calc(100% - 65px)
  border-right 2px solid $border-color
  background-color #EFF4F7
  li 
    border-bottom 1px solid $border-color
    a 
      display inline-block
      width 100%
      padding 14px 25px
      i 
        margin-right 12px
    &:hover 
      background-color white
    
    &:first-child 
      border-top 1px solid $border-color


Такой код плох? Как переписать?
  • Вопрос задан
  • 1360 просмотров
Решения вопроса 3
@andreyqin
Старайтесь использовать больше селекторов по классу и меньше - по тегу, чтобы код был гибче. Почитайте про различные методологии и подходы организации стилей (MCSS, AMCSS, OOCSS и др.) и именования классов (БЭМ).
Ответ написан
27cm
@27cm
TODO: Написать статус
Действительно чрезмерная вложенность, если она оправдана, это плохо лишь тем, что становится тяжело читать и поддерживать такой код. Ваш пример вполне читаем, всего 4 уровня. Вот, если почувствуете, что становится тяжело разобраться, какой селектор во что вложен, тогда можно подумать об "оптимизации", например так:
.sidebar 
  width 260px
  height calc(100% - 65px)
  border-right 2px solid $border-color
  background-color #EFF4F7

.sidebar-item 
  border-bottom 1px solid $border-color
  a 
    display inline-block
    width 100%
    padding 14px 25px
    i 
      margin-right 12px
  &:hover 
    background-color white  
  &:first-child 
    border-top 1px solid $border-color
Ответ написан
Комментировать
victory_vas
@victory_vas
На тему выбора селекторов и вообще написания css-кода есть офигенное руководство cssguidelin.es, правда, на английском. Я лично открыла для себя много полезного.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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