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 相关文章推荐
从QQ网站中提取的纯JS省市区三级联动菜单
Dec 25 Javascript
jQuery+easyui中的combobox实现下拉框特效
Feb 27 Javascript
js中利用cookie实现记住密码功能
Aug 20 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
Mar 28 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
node.js实现的装饰者模式示例
Sep 06 Javascript
JavaScript判断日期时间差的实例代码
Mar 01 Javascript
nvm、nrm、npm 安装和使用详解(小结)
Jan 17 Javascript
微信小程序云开发实现云数据库读写权限
May 17 Javascript
解决layui数据表格table的横向滚动条显示问题
Sep 04 Javascript
vue a标签点击实现赋值方式
Sep 07 Javascript
基于JavaScript实现简单的轮播图
Mar 03 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 定界符 使用技巧
2009/06/14 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
php查看请求头信息获取远程图片大小的方法分享
2013/12/25 PHP
ThinkPHP中的关联模型注意点
2014/06/16 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
基于jquery实现三级下拉菜单
2016/05/10 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
微信小程序 同步请求授权的详解
2017/08/04 Javascript
javascript实现Java中的Map对象功能的实例详解
2017/08/21 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
vue 集成jTopo 处理方法
2019/08/07 Javascript
微信小程序实现购物车功能
2020/11/18 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
python实现二分查找算法
2017/09/21 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
Python BeautifulReport可视化报告代码实例
2020/04/13 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
解决Pycharm 运行后没有输出的问题
2021/02/05 Python
详解使用CSS3的@media来编写响应式的页面
2017/11/01 HTML / CSS
护理专科毕业推荐信
2013/11/10 职场文书
自我评价200字分享
2013/12/17 职场文书
学习委员自我鉴定
2014/01/13 职场文书
岳父生日宴会答谢词
2014/01/13 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python