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>
相关推荐
自由与自然2 小时前
实现类似van-dialog自定义弹框
前端·javascript·html
天天讯通2 小时前
BI 报表:呼叫中心的伪刚需
大数据·前端·数据库
WebInfra2 小时前
Midscene v1.0 发布 - 视觉驱动,UI 自动化体验跃迁
javascript·人工智能·测试
自由与自然2 小时前
栅格布局常用用法
开发语言·前端·javascript
Violet_YSWY2 小时前
讲一下ruoyi-vue3的前端项目目录结构
前端·javascript·vue.js
这是你的玩具车吗2 小时前
转型成为AI研发工程师之路
前端·ai编程
Drift_Dream3 小时前
在Vue样式中使用JavaScript 变量(CSS 变量注入)
前端
C_心欲无痕3 小时前
vue3 - toRaw获取响应式对象(如由reactive创建的)的原始对象
前端·javascript·vue.js
PlankBevelen3 小时前
手搓实现简易版 Vue2 响应式系统
前端