Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗mkLsBsOED 36 of 42 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Метка !optional в @extend в SASS

При расширении селектора можно поймать ошибку, когда директива @extend не сработала корректно. К примеру, если у вас есть следующий код:

a.info { @extend .main; }

Если ни один селектор не будет содержать .main, то при компилировании произойдет ошибка. В таком случае нам нужно объединить последовательности селекторов, для чего мы используем директиву @extend.

Помимо того, будет ошибка, если селектор содержащий в себе .main будет таким: h1.main, что объясняется конфликтом между a и h1.

Поэтому, при необходимости, вы можете разрешить директиве @extend не создавать новых селекторов при помощи метки необязательности !optional, записанной после селектора. Например:

a.info { @extend .main !optional; }
byenru