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

相关推荐
|晴 天|2 小时前
Vue 3 + TypeScript + Element Plus 博客系统开发总结与思考
前端·vue.js·typescript
猫3283 小时前
v-cloak
前端·javascript·vue.js
AC赳赳老秦3 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw
旷世奇才李先生3 小时前
Vue 3\+Vite\+Pinia实战:企业级前端项目架构设计
前端·javascript·vue.js
Ulyanov4 小时前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
聚美智数4 小时前
企业实际控制人查询-公司实控人查询
android·java·javascript
SoaringHeart4 小时前
Flutter进阶:用OverlayEntry 实现所有弹窗效果
前端·flutter
IT_陈寒6 小时前
Vite静态资源加载把我坑惨了
前端·人工智能·后端
herinspace6 小时前
管家婆实用贴-如何分离和附加数据库
开发语言·前端·javascript·数据库·语音识别
小码哥_常7 小时前
从MVC到MVI:一文吃透架构模式进化史
前端