offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗mkLsBsExDU 30 of 42 menu

Принципы работы наследования в SASS

Суть работы директивы @extend состоит в том, что она добавляет расширяющийся селектор в любой набор стилей, где встречается расширяемый селектор (в нашем примере .warning):

Рассмотрим пример:

.warning { border: 1px solid; background-color: #ffd900; } .warning .instruction { background-image: url("/image/warning.png"); } .personalWarning { @extend .warning; border-width: 3px; }

Теперь посмотрим на результат компиляции:

.warning, .personalWarning { border: 1px solid; background-color: #ffd900; } .warning .instruction, .personalWarning .instruction { background-image: url("/image/warning.png"); } .personalWarning { border-width: 3px; }

Важной особенностью директивы @extend является то, что при слиянии селекторов она не допускает ошибок в виде дублирования, например, .persanalWarning .personaleWarning, исправляя их на .personalWarning.

Расскажите, каким будет результат компиляции следующего кода:

#product-card p{ color: #460707; padding: 10px; } #product-card-title { @extend #product-card; font-weight: 600px; }

Расскажите, каким будет результат компиляции следующего кода:

.link .main-block{ font-size: 14px; text-decoration: dashed; } .active-link { @extend .link; color: red; }

Расскажите, каким будет результат компиляции следующего кода:

.link .main-block{ font-weight: bold; text-decoration: none; } .active { color: red; } .active-link { @extend .link; @extend .active; }