解决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 相关文章推荐
javascript encodeURI和encodeURIComponent的比较
Apr 03 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
May 28 Javascript
javascript验证身份证号
Mar 03 Javascript
js实现防止被iframe的方法
Jul 03 Javascript
分享五个有用的jquery小技巧
Oct 08 Javascript
JS实现上下左右对称的九九乘法表
Feb 22 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
jquery实现下拉框左右选择功能
Feb 21 Javascript
JavaScript实现瀑布流图片效果
Jun 30 Javascript
基于vue-video-player自定义播放器的方法
Mar 21 Javascript
Vuex 使用 v-model 配合 state的方法
Nov 13 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
Aug 22 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
德生PL550的电路分析
2021/03/02 无线电
php设计模式之命令模式的应用详解
2013/05/21 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
php while循环控制的简单实例
2016/05/30 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
通用JS事件写法实现代码
2009/01/07 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
JS中表单的使用小结
2014/01/11 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
Node.js 实现简单的接口服务器的实例代码
2017/05/23 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
python3设计模式之简单工厂模式
2017/10/17 Python
python3+PyQt5实现柱状图
2018/04/24 Python
对Python正则匹配IP、Url、Mail的方法详解
2018/12/25 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
python opencv实现简易画图板
2020/08/27 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
世界汽车零件:World Car Parts
2019/09/04 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
研究生自荐信
2013/10/09 职场文书
银行会计财务工作个人的自我评价
2013/10/29 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
中学生检讨书范文
2014/11/03 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
nginx lua 操作 mysql
2022/05/15 Servers