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 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
javascript 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 Javascript
JavaScript将Table导出到Excel实现思路及代码
Mar 13 Javascript
解析window.open的使用方法总结
Jun 19 Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
AngularJS入门教程中SQL实例详解
Jul 27 Javascript
详解使用nvm管理多版本node的方法
Aug 30 Javascript
Vue中使用clipboard实现复制功能
Sep 05 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
浅谈react路由传参的几种方式
Mar 23 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+DBM的同学录程序(2)
2006/10/09 PHP
php at(@)符号的用法简介
2009/07/11 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
javascript 数据类型转换(parseInt,parseFloat)
2010/07/20 Javascript
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
利用python实现对web服务器的目录探测的方法
2019/02/26 Python
Python3远程监控程序的实现方法
2019/07/15 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python多线程同步之文件读写控制
2021/02/25 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
tensorflow 变长序列存储实例
2020/01/20 Python
python语言是免费还是收费的?
2020/06/15 Python
一道Delphi面试题
2016/10/28 面试题
临床医学系毕业生推荐信
2013/11/09 职场文书
医学专业五年以上个人求职信
2013/12/03 职场文书
自我评价范文
2013/12/22 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
汽车转让协议书范本
2014/12/07 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
sql server 累计求和实现代码
2022/02/28 SQL Server
Redis高可用集群redis-cluster详解
2022/03/20 Redis