Вы получаете именно то, что должно произойти.Extend не «объединяет» классы, он расширяет другой класс / заполнитель в стили нового селектора.
Это означает, что если я напишу:
%banner-style {
background: black;
}
.parent {
@extend %banner-style;
}
.other-selector {
@extend %banner-style;
color: red;
}
Полученный код будет
.parent {
background: black;
}
.other-selector {
color: red;
background: black;
}
Итак, вы получаете ожидаемые результаты.Если вы хотите, чтобы это «работало» так, как вы хотите, вы можете просто изменить свой код на:
%banner-style {
padding: 140px 0 210px;
background: url(https://im2.ezgif.com/tmp/ezgif-2-92c6382d82ba.jpg) top center/cover no-repeat;
&.row {
margin: 0;
}
.main-heading {
font-size: 40px;
letter-spacing: -1px;
font-weight: 600;
padding-right: 20px;
sup {
font-size: 10px;
vertical-align: super;
}
}
}
.parent{
color: red;
&_banner {
@extend %banner-style;
};
}
Примечание: я вынул блок banner
, потому что, кажется, вы этого не делаетехотите (и баннер не является обычным HTML-элементом).