vue3中操作样式的变化

  1. 深度作用域选择器 :deep()

:deep()是Vue 3的推荐语法,取代了Vue 2中的>>>/deep/::v-deep等。

2.全局选择器 :global()

即使<style>标签有scoped属性,:global()内的选择器也会声明为全局样式,即不添加组件唯一属性,影响整个应用。

复制代码
<style scoped>
:global(.red) {
  color: red;
}
</style>

定义跨组件的统一样式,如主题色、公共字体。

不想额外创建非scoped的<style>块时,都可以用

3.插槽选择器 :slotted()

默认情况下,插槽内容(slot)的样式不受子组件scoped样式的影响。使用:slotted()可以专门选择并样式化父组件传递进插槽的内容。

  1. 样式模块化(CSS Modules)

CSS Modules为每个类生成唯一哈希名,实现样式真正隔离,避免全局污染。适合大型项目、组件库开发。

复制代码
<template>
  <p :class="$style.red">This should be red</p>
</template>

<style module>
.red {
  color: red;
}
</style>
相关推荐
xiaotao1313 小时前
第九章:Vite API 参考手册
前端·vite·前端打包
午安~婉3 小时前
Electron桌面应用聊天(续)
前端·javascript·electron
彧翎Pro4 小时前
基于 RO1 noetic 配置 robosense Helios 32(速腾) & xsense mti 300
前端·jvm
小码哥_常4 小时前
解锁系统设置新姿势:Activity嵌入全解析
前端
之歆4 小时前
前端存储方案对比:Cookie-Session-LocalStorage-IndexedDB
前端
哟哟耶耶4 小时前
vue3-单文件组件css功能(:deep,:slotted,:global,useCssModule,v-bind)
前端·javascript·css
是罐装可乐5 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
华科易迅5 小时前
Vue如何集成封装Axios
前端·javascript·vue.js
康一夏5 小时前
Next.js 13变化有多大?
前端·react·nextjs
糖炒栗子03265 小时前
前端项目标准环境搭建与启动
前端