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。

相关推荐
用户11977079480737 分钟前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
deli00712 分钟前
地图定位为什么偏了 500 米?GPS 与火星坐标实测
前端
TK泰妞14 分钟前
节日促销前,TikTok 商品视频应该提前准备什么?
前端·人工智能·节日
CCIE-Yasuo26 分钟前
网络安全-学习web开发-列表、标签
前端·学习·web安全
小大宇29 分钟前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
用户114818678948432 分钟前
Nuxt 3 学习版 Demo:跟着做一遍,从跑起来到自己会改
前端
hiahiahia1231 小时前
Streaming Model Output
开发语言·前端
paopaokaka_luck1 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩1 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron
asaotomo1 小时前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记