Sass 从子SCS调用父SCS
我有Sass 从子SCS调用父SCS,sass,parent-selector,Sass,Parent Selector,我有,里面也有 例如 但是这个代码不起作用。我缺少什么?因为CSS中没有父选择器,所以您有两个可行的选项 在包含锚元素的TD上使用类名 使用链接的&::after伪元素应用样式 方案一更加灵活,提供了更多的可能性 SCSS代码: $col-blue: blue; $col-yellow: yellow; td { position: relative; padding: 10px; border: 1px solid $col-blue; // Option 1 - uses
,里面也有
例如
但是这个代码不起作用。我缺少什么?因为CSS中没有父选择器,所以您有两个可行的选项
$col-blue: blue;
$col-yellow: yellow;
td {
position: relative;
padding: 10px;
border: 1px solid $col-blue;
// Option 1 - uses td for hover and pseudo element for styling
&>a {
&::after {
content: "";
position: absolute;
display: none;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: $col-blue;
z-index: -1;
}
}
&:hover {
&>a {
color: $col-yellow;
&::after {
display: block;
}
}
}
}
// Option 2 - apply class name to TD with link
.td-with-link {
&:hover {
color: $col-yellow;
background: $col-blue;
}
}
我设置了一个JSFIDLE演示:这是否回答了您的问题@Arkellys,我已经试过has(),但没有用。@Loran:
has()
仍然是“选择器4级工作草案”的一部分,这意味着:它计划在未知的将来有时引入。。。这意味着您可以在项目中使用它,因为浏览器支持大约在它推出两年后(如果!)。您可以检查自己的支持:。你介意推荐的JS解决方案有什么原因吗?@Loran我的答案能解决你的问题吗?@robertp,谢谢你的回答,看起来你的答案是有效的,但我还没有用我的代码进行测试。我以后再回答。再次感谢你。
td{
$this:&;
&:hover {
a {
#{$this} & {
background-color: blue;
}
}
}
}
$col-blue: blue;
$col-yellow: yellow;
td {
position: relative;
padding: 10px;
border: 1px solid $col-blue;
// Option 1 - uses td for hover and pseudo element for styling
&>a {
&::after {
content: "";
position: absolute;
display: none;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: $col-blue;
z-index: -1;
}
}
&:hover {
&>a {
color: $col-yellow;
&::after {
display: block;
}
}
}
}
// Option 2 - apply class name to TD with link
.td-with-link {
&:hover {
color: $col-yellow;
background: $col-blue;
}
}