如何使用 scss 从 child 中 select parent pseudo-class
How to select parent pseudo-class from within child using scss
我想 select parent 使用以下模式。
我知道我可以在 parent selector 中写这个,但我想知道是否可以在 parent 的伪 class 前面加上前缀] 到 child 从 child select 或.
JSX:
<div class="parent">
<div class="child" />
</div>
<div class="parent">
<div class="child" />
</div>
SCSS:
.parent {
height: 100px;
.child {
// the goal is to write this so it produces the CSS output below, from
// within .child
&:first-child & {
height: 50px;
}
}
}
CSS [输出]:
.parent:first-child .child {
height: 50px;
}
看来这真的很简单。哎呀
您只需执行以下操作:
SCSS:
.child {
.parent:first-child & {
height: 50px;
}
}
这可能看起来很傻,但对于我的情况来说,它实际上很有用。
也许这不是最有用的代码但有效:
SASS
.parent {
$root: &;
height: 100px;
@at-root {
.child {
@at-root {
#{$root}:first-child #{&} {
height: 50px;
}
}
}
}
}
输出
.parent {
height: 100px;
}
.parent:first-child .child {
height: 50px;
}
我想 select parent 使用以下模式。
我知道我可以在 parent selector 中写这个,但我想知道是否可以在 parent 的伪 class 前面加上前缀] 到 child 从 child select 或.
JSX:
<div class="parent">
<div class="child" />
</div>
<div class="parent">
<div class="child" />
</div>
SCSS:
.parent {
height: 100px;
.child {
// the goal is to write this so it produces the CSS output below, from
// within .child
&:first-child & {
height: 50px;
}
}
}
CSS [输出]:
.parent:first-child .child {
height: 50px;
}
看来这真的很简单。哎呀
您只需执行以下操作:
SCSS:
.child {
.parent:first-child & {
height: 50px;
}
}
这可能看起来很傻,但对于我的情况来说,它实际上很有用。
也许这不是最有用的代码但有效:
SASS
.parent {
$root: &;
height: 100px;
@at-root {
.child {
@at-root {
#{$root}:first-child #{&} {
height: 50px;
}
}
}
}
}
输出
.parent {
height: 100px;
}
.parent:first-child .child {
height: 50px;
}