I am trying to transpile this scss to css
input
.abc{ .slider { $root: &; &--fade { > #{$root}__track { > #{$root}__list { > #{$root}__slide { .rh08w5 { opacity: 0; h2 { opacity: 0; } } } } } } } }
output
.abc .slider--fade > .abc .slider__track > .abc .slider__list > .abc .slider__slide .rh08w5 { opacity: 0; } .abc .slider--fade > .abc .slider__track > .abc .slider__list > .abc .slider__slide .rh08w5 h2 { opacity: 0; }
expected output
.abc .slider--fade > .slider__track > .slider__list > .slider__slide .rh08w5 { opacity: 0; } .abc .slider--fade > .slider__track > .slider__list > .slider__slide .rh08w5 h2 { opacity: 0; }
In my output .abc
class added in all item . I want it should add only on top element ?
how to remove .abc
class from child element
Advertisement
Answer
It’s not possible using the parent selector. The only way I can think of is to store the .slider
class in your root variable instead:
.abc { $root: ".slider"; #{$root} { &--fade { > #{$root}__track { > #{$root}__list { > #{$root}__slide { .rh08w5 { opacity: 0; h2 { opacity: 0; } } } } } } } }