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 相关文章推荐
JS 参数传递的实际应用代码分析
Sep 13 Javascript
JQuery在页面中添加和除移DOM示例代码
Jun 24 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
jquery浏览器滚动加载技术实现方案
Jun 03 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
Jun 13 Javascript
Vue.js实例方法之生命周期详解
Jul 03 Javascript
js实现省市级联效果分享
Aug 10 Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 Javascript
了解JavaScript中的选择器
May 24 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
何时使用Map来代替普通的JS对象
Apr 29 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
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
php函数实现判断是否移动端访问
2015/03/03 PHP
PHP 读取文本文件内容并分页显示
2016/01/02 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
浅析JavaScript Array和string的转换(推荐)
2016/05/20 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
如何使用vuejs实现更好的Form validation?
2017/04/07 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
jQuery实现对网页节点的增删改查功能示例
2017/09/18 jQuery
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[11:33]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第二场
2018/04/06 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
python 字典 按key值大小 倒序取值的实例
2018/07/06 Python
基于python的列表list和集合set操作
2019/11/24 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
诚实守信道德模范事迹材料
2014/08/15 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
投标承诺函格式
2015/01/21 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
超详细Python解释器新手安装教程
2021/05/10 Python