Метка !optional у @extend у SASS
Пры пашырэнні селектара можна злавіць
памылку, калі дырэктыва @extend
не спрацавала карэктна. Напрыклад,
калі ў вас ёсць наступны код:
a.info {
@extend .main;
}
Калі ні адзін селектар не будзе ўтрымліваць .main,
то пры кампіляванні адбудзецца памылка.
У такім выпадку нам трэба аб'яднаць
паслядоўнасці селектараў,
для чаго мы выкарыстоўваем дырэктыву @extend.
Апрача таго, будзе памылка, калі селектар
які ўтрымлівае ў сабе .main будзе такім:
h1.main, што тлумачыцца канфліктам
паміж a і h1.
Таму, пры неабходнасці, вы можаце
дазволіць дырэктыве @extend не ствараць
новых селектараў пры дапамозе меткі неабавязковасці
!optional, запісанай пасля селектара. Напрыклад:
a.info {
@extend .main !optional;
}