使用deep修改前端框架中的样式

目录

1.deep的作用

2.使用方式

3.特别说明

[scoped 的实现原理:](#scoped 的实现原理:)

!important


1.deep的作用

/deep/、::v-deep 和 :deep 都是用于穿透组件作用域的选择器。它们的主要目的是允许开发者在父组件中直接选择并样式化子组件内部的元素,即使这些元素被封装在子组件的作用域内。

::v-deep:deep()Vue 2.xVue 3.x 中都是用来穿透组件的 scoped 样式隔离,允许组件内的样式影响到组件外部的元素。

操作符 >>> 只适合css 原生样式,对于less和scss之类的预处理器不起作用

对于使用了 css 预处理器(scss 、sass、 less)时, ::v-deep 比较通用

vue3废弃 >>>::v-deep/deep/,采用:deep()

2.使用方式

vue2示例:调整表格的字体及行间距

查看画面样式时,发现行间距和字体主要有这两个样式的内容控制。在vue2中可以通过::v-deep进行修改,如下:

复制代码
<style scoped>
::v-deep .el-table--medium .el-table__cell {
  padding:1px 1px;
}

::v-deep .el-table {
  font-size: 10px;
}

</style>

修改后的样式:

3.特别说明

socpe:

在 Vue 中,scope 是指 Vue 单文件组件中 <style> 标签中的一个特殊属性。它的作用是用来限定样式的作用域,确保这些样式只会应用到当前组件的元素上,而不会影响到其他组件的样式。

scoped 的实现原理:

Vue 在处理带有 scoped 属性的 <style> 标签时,会自动为每个选择器添加一个特殊的属性选择器,以确保样式的局部性。例如, .message 类,Vue 会将其转换为类似于 .message[data-v-f3f3eg9] 的选择器,其中 [data-v-f3f3eg9] 是唯一标识符,用来确保样式只在当前组件的元素上生效。

scoped 属性是 Vue 提供的一种机制,用于确保单文件组件中定义的样式具有局部作用域,避免全局污染和样式冲突。它使得组件化开发更加方便和可靠,是 Vue 开发中常用的特性之一。

!important

!important 是一种用于强制优先级的 CSS 修饰符,通常用于覆盖其他样式规则。它的作用是告诉浏览器,这个样式具有最高优先级,应该优先应用。

复制代码
<template>
  <div>
    <p class="message">样式比较</p>
  </div>
</template>

<script>
export default {
  name: 'ImportantComparison'
};
</script>

<style>
.message {
  color: blue; /* 普通样式 */
}

.message {
  color: red !important; /* 使用 !important 的样式 */
}
</style>

在这个例子中,.message 类的文本颜色会被设置为红色,因为带有 !important 的样式具有更高的优先级,覆盖了普通样式的设置。

参照:

深度选择器/deep/、::v-deep、:deep的区别-CSDN博客

相关推荐
Moment11 小时前
Vibe Coding 时代,到底该选什么样的工具来提升效率❓❓❓
前端·后端·github
IT_陈寒12 小时前
SpringBoot性能飙升200%?这5个隐藏配置你必须知道!
前端·人工智能·后端
小时前端13 小时前
React性能优化的完整方法论,附赠大厂面试通关技巧
前端·react.js
Nicko13 小时前
Jetpack Compose BOM 2026.02.01 解读与升级指南
前端
小蜜蜂dry13 小时前
nestjs学习 - 控制器、提供者、模块
前端·node.js·nestjs
优秀稳妥的JiaJi13 小时前
基于腾讯地图实现电子围栏绘制与校验
前端·vue.js·前端框架
前端开发呀14 小时前
从 qiankun(乾坤) 迁移到 Module Federation(模块联邦),对MF只能说相见恨晚!
前端
Lee川14 小时前
深度解构JavaScript:作用域链与闭包的内存全景图
javascript·面试
没想好d14 小时前
通用管理后台组件库-10-表单组件
前端
恋猫de小郭14 小时前
你用的 Claude 可能是虚假 Claude ,论文数据告诉你,Shadow API 中的欺骗性模型声明
前端·人工智能·ai编程