vue里面父组件修改子组件样式的方法


Posted in Javascript onFebruary 03, 2018

在使用 vue 的开发中,我们有时会引用外部组件,包括 UI 组件(ElementUI、iview)。

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

但是在父组件中添加 scoped 之后,父组件的样式将不会渗透到子组件中,所以在父组件中书写子组件的样式是无效果的。

一、去掉 scoped

在父组件的 <style> 中去掉 scoped 后,父组件中可以书写子组件的样式,但是你会担心这样会污染全局样式。

【因为我们知道正确使用全局样式的姿势是使用一个全局的 app.css】

二、混用本地和全局样式

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

<style>
/* 全局样式 */
</style>
<style scoped>
/* 本地样式 */
</style>

我们把 需要修改子组件的样式 写在上面那个全局样式里面

三、使用深度作用选择器

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

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

有些像 SASS 之类的预处理器无法正确解析 >>>。这种情况下你可以用 /deep/ 操作符取而代之 —— 这是一个 >>> 的别名,同样可以正常工作。

OK,主要内容就是以上几点。

需要额外补充的是:

1、通过 v-html 创建的 DOM 内容不受作用域内的样式影响,但是你仍然可以通过深度作用选择器来为他们设置样式

2、CSS 作用域不能代替 class

3、在递归组件中小心使用后代选择器

以上这篇vue里面父组件修改子组件样式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript while语句和do while语句的区别分析
Dec 08 Javascript
JavaScript 获取用户客户端操作系统版本
Aug 25 Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
Jun 16 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
Mar 18 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
Apr 16 Javascript
setTimeout内不支持jquery的选择器的解决方案
Apr 28 Javascript
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
JavaScript实现瀑布流布局
Jun 28 Javascript
新入门node.js必须要知道的概念(必看篇)
Aug 10 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
Jan 04 Javascript
深入浅析js原型链和vue构造函数
Oct 25 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 #Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
Feb 03 #Javascript
Vue修改mint-ui默认样式的方法
Feb 03 #Javascript
vue+webpack实现异步组件加载的方法
Feb 03 #Javascript
基于vue-resource jsonp跨域问题的解决方法
Feb 03 #Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 #Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
Feb 03 #Javascript
You might like
地摊中国 - 珍藏老照片
2020/08/18 杂记
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
爆炸式的JS圆形浮动菜单特效代码
2010/03/03 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
2015/08/21 NodeJs
jQuery实现简易的天天爱消除小游戏
2015/10/16 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
python中matplotlib的颜色及线条控制的示例
2018/03/16 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
在python里从协程返回一个值的示例
2019/02/19 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
MATCHESFASHION澳大利亚/亚太地区:英国时尚奢侈品电商
2020/01/14 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
J2EE是技术还是平台还是框架
2016/08/14 面试题
学前教育专业毕业生自荐信
2013/10/03 职场文书
毕业生医学检验求职信
2013/10/16 职场文书
授权委托书怎么写
2014/04/03 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
新员工入职感想
2015/08/07 职场文书
导游词之北京明十三陵
2019/10/28 职场文书