使用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博客

相关推荐
糕冷小美n8 小时前
elementuivue2表格不覆盖整个表格添加固定属性
前端·javascript·elementui
小哥不太逍遥8 小时前
Technical Report 2024
java·服务器·前端
沐墨染8 小时前
黑词分析与可疑对话挖掘组件的设计与实现
前端·elementui·数据挖掘·数据分析·vue·visual studio code
anOnion8 小时前
构建无障碍组件之Disclosure Pattern
前端·html·交互设计
threerocks8 小时前
前端将死,Agent 永生
前端·人工智能·ai编程
问道飞鱼9 小时前
【前端知识】Vite用法从入门到实战
前端·vite·项目构建
爱上妖精的尾巴9 小时前
8-10 WPS JSA 正则表达式:贪婪匹配
服务器·前端·javascript·正则表达式·wps·jsa
shadow fish10 小时前
react学习记录(三)
javascript·学习·react.js
小疙瘩10 小时前
element-ui 中 el-upload 多文件一次性上传的实现
javascript·vue.js·ui
Aliex_git11 小时前
浏览器 API 兼容性解决方案
前端·笔记·学习