Vue3 里 CSS 深度作用选择器 :global

什么是 :global(.test)?

在 Vue3 的 <style scoped> 中,:global() 是用来声明全局样式 的!

意思是:即使你的 <style> 是 scoped 的,:global(.test) 里面的样式也是全局生效的!


✏️ 举个例子

vue 复制代码
<template>
  <div class="test">Hello World</div>
</template>

<style scoped>
:global(.test) {
  color: red;
  font-size: 24px;
}
</style>
  • 这里 .test 是 全局的 ,不会被 scope id 限制。
  • 页面上任何 .test 元素都会被染成红色,不管它在哪个组件里!

🎯 小总结

写法 意义
:deep(.xxx) 穿透作用域,选到子组件内部
:global(.xxx) 声明全局样式,不加任何 scope id

⚡ 注意点

  • :global() 里面的选择器是完全裸奔的,全局污染,要小心命名冲突。
  • 最好配合 BEM 命名 或者加前缀,比如 .myapp-test,避免污染其他地方。

🚀 扩展一下(组合用法)

有时候也可以写局部 global,比如:

css 复制代码
.button {
  :global(.icon) {
    margin-right: 8px;
  }
}

意思是:.button .icon,但是 .icon 是全局的 class。

相关推荐
福兮说9 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理10 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
小呆呆66610 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
凤城老人10 小时前
从 PyQt6 到 Electron:给 Edge TTS 做一个“多角色配音机“的踩坑手记
javascript·typescript·electron
Dovis(誓平步青云)11 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan11 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_12 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒12 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技12 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端
yivifu13 小时前
中文古籍电子书注释集成
前端·javascript·python·beautifulsoup·epub