提问人:ela16 提问时间:1/5/2023 更新时间:1/5/2023 访问量:59
CSS 嵌套选择器不继承样式
CSS nested selector not inheriting styling
问:
我有以下嵌套样式:
ion-card {
&.option-card {
border-radius: 0.7rem;
box-shadow: none;
&-transparent {
background: transparent;
}
}
}
据我了解,内部嵌套选择器之前的任何样式都应应用于该选择器。但显然它不是那样工作的。期望的结果是,任何具有该类的元素都应具有 和 的属性。这可能吗?还是我应该使用@extend?option-card-transparent
border-radius: 0.7rem
box-shadow: none
我试图将这些属性移到外面,如下所示,它确实适用于所有嵌套选择器。这是因为它不在嵌套的类名中吗?
ion-card {
border-radius: 0.7rem;
box-shadow: none;
&.option-card {
&-transparent {
background: transparent;
}
}
}
答:
0赞
Syed Khizaruddin
1/5/2023
#1
据我所知,您期望的是父级的属性继承给子级,但事实并非如此,因为使用意味着您正在创建一个新类,而不是该特定类的子级&-
例如
.option-card {
border-radius: 0.7rem;
box-shadow: none;
&-transparent {
background: transparent;
}
}
这将创建
.option-card {
border-radius: 0.7rem;
box-shadow: none;
}
.option-card-transparent {
background: transparent;
}
您需要指定要从父类继承的属性
例如,
.option-card {
border-radius: 0.7rem;
box-shadow: none;
&-transparent {
background: transparent;
box-shadow: inherit;
border-radius: inherit;
}
}
评论
0赞
A Haworth
1/5/2023
我不认为你对创建的CSS的渲染是正确的。
0赞
Syed Khizaruddin
1/5/2023
哪一部分不太对劲?那是 scss 转换为 css,我忘了提到它@AHaworth
0赞
A Haworth
1/5/2023
我想你已经失去了筑巢。
0赞
Syed Khizaruddin
1/5/2023
哦,是的!没错,我刚刚给他举了个例子,和他提到的代码不一样。
下一个:如何一次重绘所有子表 / 嵌套表
评论