作者:陈建希佳旭 | 来源:互联网 | 2023-01-03 12:37
所以,我在这里读到,在Vue.js中,您可以使用/deep/
或>>>
在选择器中创建适用于子组件内部元素的样式规则.但是,尝试在我的样式中使用它,无论是在SCSS中还是在普通的旧CSS中,都不起作用.相反,它们会逐字发送到浏览器,因此无效.例如:
home.vue:
生成的css:
我想要的是:
我的webpack配置vue-loader
如下所示:
// ...
{
test: /\.vue$/,
loader: "vue-loader",
options: {
loaders: {
scss: "vue-style-loader!css-loader!sass-loader"
}
}
}
// ...
所以我的问题是,如何使这个>>>
运算符工作?
我已经找到了这个答案,但我正是这样做而且它不起作用......
1> Dan..:
使用:: v-deep
可接受的答案在范围内的SCSS中对我不起作用,但这有时可以做到:
.parent-class {
&::v-deep .child-class {
background-color: #000;
}
}
通常这样做(省略父类):
::v-deep .child-class {
background-color: #000;
}
编辑(10/1/2019):额外信息:
sass
并且dart-sass
不支持/deep/
,只有node-sass
不
Vuetify 2不支持/deep/
(因为它不支持node-sass
)
如果您使用的是dart-sass,那么这将是正确的方法,因为dart-sass不知道如何解析/ deep /组合器。
2> arapl3y..:
我已成功使用/ deep /在Vue的SCSS样式表中使用此结构:
.parent-class {
& /deep/ .child-class {
background-color: #000;
}
}
3> Satyam Patha..:
component's
可以使用来更改任何作用域的CSS,deep selector
但是/deep/
将不建议使用
Vue Github参考-https: //github.com/vuejs/vue-loader/issues/913
::v-deep
在这种情况下使用,并避免不推荐使用/deep/
参考- 深度选择器
只需检查element
您要devtools
在chrome或任何浏览器控制台中使用的渲染类的类即可。
然后,在您消费时component
,对其进行修改