Задать вопрос
@ForestEsprit
HTML - верстальщик

Как в sass создать условие с проверкой на наличие data атрибута?

Можно ли на sass написать условие типа:

if(data-name) {
  .name { display:block; }
}


По сути мне нужно задать правило: если существует такой data-attr, то покажи мне этот блок, а если существует другой data-attr, то покажи мне вторйо блок.
  • Вопрос задан
  • 537 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
Ваш sass компилируется в css и на этом этапе никаких "блоков" он не видит.
В самом css такие условия сделать тоже невозможно.
Но вы можете реализовать это поведение руками при помощи селекторов:
.first {display: block }
.second { display: none }

[data-name] {
  .first {display: none }
  .second { display: block }
}

У этого способа есть ограничения по структуре дерева элементов, как и у любых других css-селекторов.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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