相关疑难解决方法(0)

在Sass中修改选择器的中间(添加/删除类等)

我的菜单中有样式链接的以下SCSS:

nav {
    ul {
        li {
            a {
                color: red
            }
        }
    }

    ul.opened {
        li {
            a {
                color: green
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个生成以下(正确)CSS:

nav ul li a {
  color: red;
}
nav ul.opened li a {
  color: green;
}
Run Code Online (Sandbox Code Playgroud)

我尝试修改我的JavaScript以将类应用于nav元素,并selector-append()在Sass中使用它来附加类.但这似乎以错误的顺序进行追加(如果参数反转,则该类将附加到最后一个元素!):

nav {
    ul {
        li {
            a {
                color: red;

                @at-root #{selector-append('.opened', &)} {
                  color: green;
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

输出(不正确!):

nav ul li a {
  color: red;
}
.openednav ul li a …
Run Code Online (Sandbox Code Playgroud)

sass css-selectors

10
推荐指数
1
解决办法
3453
查看次数

较少-嵌套选择器后“&”的作用是什么

.list a{
    .landscape&{
        height: 100%;
    }
}
Run Code Online (Sandbox Code Playgroud)

产出

.landscape.list a {
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

这意味着“其父母同时具有.landscape和.list的所有标签”

.list a{
    &.landscape{
        height: 100%;
    }
}
Run Code Online (Sandbox Code Playgroud)

产出

.list a.landscape {
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)

意思是“所有具有“ landscape”类且其父母具有“ .list”类的标签”

这是有道理的。但是,如果我从这些选择器中删除“ a”标记,则“&”仅更改.list和.landscape的串联顺序。

重点是什么 ?什么时候应该使用&.class?什么时候应该使用class。&?

css stylus sass css3 less

4
推荐指数
2
解决办法
2927
查看次数

标签 统计

sass ×2

css ×1

css-selectors ×1

css3 ×1

less ×1

stylus ×1