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

相关推荐
Jinuss9 分钟前
Vue3源码reactivity响应式篇之computed计算属性
前端·vue3
落日沉溺于海9 分钟前
React From表单使用Formik和yup进行校验
开发语言·前端·javascript
知识分享小能手10 分钟前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
会豪13 分钟前
工业仿真(simulation)--前端(五)--标尺,刻度尺
前端
会豪15 分钟前
工业仿真(simulation)--前端(四)--画布编辑(2)
前端
an__ya__16 分钟前
Vue数据响应式reactive
前端·javascript·vue.js
苦逼的搬砖工19 分钟前
Flutter UI Components:闲来无事,设计整理了这几年来使用的UI组件库
前端·flutter
想买Rolex和Supra的凯美瑞车主21 分钟前
Taro + Vite 开发中 fs.allow 配置问题分析与解决
前端
ruanCat23 分钟前
使用 vite 的 base 命令行参数来解决项目部署在 github page 的路径问题
前端·github
Codebee28 分钟前
使用Qoder 改造前端UI/UE升级改造实践:从传统界面到现代化体验的华丽蜕变
前端·人工智能