css - Vue js - 制作一种由子组件继承的样式
问题描述
首先,当我想为当前组件设置一个私有样式时,我在标签内定义它。为了让子组件的样式可见,我使用了一个深度选择器让它通过,如下所示:
<style scoped>
.a >>> .b {
...
}
</style>
上面的代码被翻译成
.a[data-v-f3f3eg9] .b
换句话说:对于这个特定 a 的每个孩子,如果它是 b,则对其应用以下样式。
我的问题是关于以下陈述:
<style scoped>
>>> .b {
...
}
</style>
首先,Visual Code 会抛出一个关于这个表达式的错误:
[css] 规则或选择器预期
期望我在深度选择器之前放置一个范围选择器。我想弄清楚的是,如果这个表达式按照文档中的说明进行了预处理,应该是
.b
那么是什么让这种风格不是全局的,并且与下面的定义不同(没有范围):
<style>
.b {
...
}
</style>
事实上,它们是不同的。我已经尝试过了,后者实际上是全局的,而前者对父组件和它的子组件可见。
有人对此有解释吗?并且,如果语法
<style scoped>
>>> .b {
...
}
</style>
不是很常见,在不为父元素定义选择器的情况下,制作仅用于子组件的样式的正确方法是什么?
解决方案
::v-deep
是不会扰乱 VSCode linter 的等价物:
<style scoped>
::v-deep .b {
...
}
</style>
推荐阅读
- mysql - 在库存数据库系统中保存产品数量的最佳实践是什么
- nginx - 在 mac 上使用 brew 命令安装特定版本的 nginx
- reactjs - 警告:列表中的每个孩子都应该有一个唯一的“关键”道具。“渲染登录”
- asp.net-mvc-5 - Asp.Net MVC 5 未找到文件扩展 .data 和 .wasm
- python - 向张量流张量添加维度
- c# - .Net Core MVC 应用与 IdentityServer4,使用 Azure Active Directory 登录。管理员同意和权限问题
- python - 如何使用python从身份证中提取数据
- sql - 如何按条件选择最大值?
- http-headers - Erlang Cowboy如何为静态文件添加响应头
- python - Python "cx_Oracle.InterfaceError: not open" ,如果有连接问题报告