解决vue单页面修改样式无法覆盖问题


Posted in Javascript onAugust 05, 2019

当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。

vue组件编译后,会将 template 中的每个元素加入 [data-v-xxxx] 属性来确保 style scoped 仅本组件的元素而不会污染全局。

比如:

<style scoped>
 .example {
 color: red;
 }
</style>

<template>
 <div class="example">hi</div>
</template>

转换结果:

<style>
 .example[data-v-f3f3eg9] {
 color: red;
}
</style>

<template>
 <div class="example" data-v-f3f3eg9>hi</div>
</template>

如果你想修改class="example"里面的span样式,你会发现是没有效果的

有两个解决办法

方法一

你可以在一个组件中同时使用有作用域和无作用域的样式:

<style scoped>
 .example{
  // ...
 }
</style>

<style>
 .example span {
  // ...
 }
</style>

方法二

深度作用选择器

如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

只作用于css!!!!!!!!!!!!!!

<style scoped>
 .a >>> .b { /* ... */ }
</style>

上述代码将会编译成:

.a[data-v-f3f3eg9] .b { /* ... */ }

如果是sass/less的话可能无法识别,这时候需要使用 /deep/ 选择器了。

<style lang="less" scoped>
 /deep/ .b {
 color: #000;
 }
}
</style>

总结

以上所述是小编给大家介绍的解决vue单页面修改样式无法覆盖问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
Dec 16 Javascript
jQuery.each使用详解
Jul 07 Javascript
JS锚点的设置与使用方法
Sep 05 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
Oct 25 Javascript
jquery uploadify如何取消已上传成功文件
Feb 08 Javascript
js实现字符全排列算法的简单方法
May 01 Javascript
Vue 2.0入门基础知识之内部指令详解
Oct 15 Javascript
浅谈Vue内置component组件的应用场景
Mar 27 Javascript
微信小程序后端(java)开发流程的详细步骤
Nov 13 Javascript
微信小程序3种位置API的使用方法详解
Aug 05 #Javascript
微信小程序 高德地图路线规划实现过程详解
Aug 05 #Javascript
详解将微信小程序接口Promise化并使用async函数
Aug 05 #Javascript
使用apifm-wxapi模块中的问题及解决方法
Aug 05 #Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 #Javascript
浅谈Vue项目骨架屏注入实践
Aug 05 #Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
Aug 05 #Javascript
You might like
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
Node.js检测端口(port)是否被占用的简单示例
2016/09/29 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
Python中Proxypool库的安装与配置
2018/10/19 Python
详解Python sys.argv使用方法
2019/05/10 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
一篇文章搞定Python操作文件与目录
2019/08/13 Python
python实现tail -f 功能
2020/01/17 Python
没编程基础可以学python吗
2020/06/17 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
C面试题
2015/10/08 面试题
业务助理岗位职责
2013/11/18 职场文书
小学数学国培感言
2014/03/10 职场文书
cf战队收人广告词
2014/03/14 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
迎新生欢迎词2015
2015/07/16 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
python 自动刷新网页的两种方法
2021/04/20 Python
CSS完成视差滚动效果
2021/04/27 HTML / CSS