Каких особенностей препроцессоров нет в CSS

«Каких особенностей препроцессоров нет в CSS» — вопрос из категории CSS, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

CSS не поддерживает вложенность селекторов (как в SASS/LESS), миксины, переменные (есть только CSS Custom Properties), циклы, условия, импорты (есть @import, но он работает иначе). Также отсутствуют функции, математические операции и наследование стилей через @extend.

Пример:

// SASS (не CSS)  
$primary: #3498db;  

@mixin center {  
  display: flex;  
  justify-content: center;  
}  

.button {  
  @include center;  
  background: $primary;  
}  

В CSS это потребует ручного дублирования кода и использования var() для переменных.