vue组件中的样式属性scoped实例详解


Posted in Javascript onOctober 30, 2018

Scoped CSS

Scoped CSS规范是Web组件产生不污染其他组件,也不被其他组件污染的CSS规范。

vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素

 它是通过使用PostCSS来改变以下内容实现的:

<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>

混合使用全局属性和局部属性

<style>
/* global styles */
</style>

<style scoped>
/* local styles */
</style>

关于子组件的根元素

使用了scoped属性之后,父组件的style样式将不会渗透到子组件中,然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响,这么设计的目的是父组件可以对子组件根元素进行布局。
.vue模板中的样式是根据需要按需加载,访问一个页面该组件中的样式就会追加到head标签中,如果父子组件中都对某个子组件根节点元素进行了控制,则父组件里的样式会被后来的覆盖。

深选择器

如果想对设置了scoped的子组件里的元素进行控制可以使用'>>>'或者'deep'

<template>
 <div id="app">
  <gHeader></gHeader>
 </div>
</template>

<style lang="css" scoped>
 .gHeader /deep/ .name{ //第一种写法
  color:red;
 }
 .gHeader >>> .name{  //二种写法
  color:red;
 }
</style>

<div class="gHeader">
 <div class="name"></div>
</div>

一些预处理程序例如sass不能解析>>>属性,这种情况下可以用deep,它是>>>的别名,工作原理相同。

动态生成的内容

使用v-html动态创建的DOM内容,不受设置scoped的样式影响,但你依然可以使用深选择器进行控制

下面给大家补充下vue中使用v-html加载的富文本,css中定义样式不生效

如题,使用v-html加载一段富文本,富文本里包含图片,在手机上图片宽度可能会溢出

<div v-html="htmlContent" class="rich"></div> 
  <style scope>
  .rich>>> img{ display:block; max-width: 100%}
  </style>

注意:这里的>>>需要使用css语法,写在less里会报错

总结

以上所述是小编给大家介绍的vue组件中的样式属性scoped实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
javascript定时保存表单数据的代码
Mar 17 Javascript
一个简单的Ext.XTemplate的实例代码
Mar 18 Javascript
JQuery实现简单验证码提示解决方案
Dec 20 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
jQuery绑定事件on()与弹窗的简要概述
Apr 27 Javascript
jQuery选择器基础入门教程
May 10 Javascript
Google 地图叠加层实例讲解
Aug 06 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
微信小程序制作扭蛋机代码实例
Sep 24 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
node上的redis调用优化示例详解
Oct 30 #Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 #Javascript
Vue.js 父子组件通信的十种方式
Oct 30 #Javascript
vue通过style或者class改变样式的实例代码
Oct 30 #Javascript
vue通过cookie获取用户登录信息的思路详解
Oct 30 #Javascript
微信小程序实现左滑修改、删除功能
Oct 19 #Javascript
小程序实现列表删除功能
Oct 30 #Javascript
You might like
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
百度 popup.js 完美修正版非常的不错 脚本之家推荐
2009/04/17 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
jquery js 获取时间差、时间格式具体代码
2013/06/05 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
javascript函数命名的三种方式及区别介绍
2016/03/22 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
JSONP跨域请求实例详解
2016/07/04 Javascript
基于javascript实现按圆形排列DIV元素(二)
2016/12/02 Javascript
想学习javascript JS和jQuery哪个重要 先学哪个
2016/12/11 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
纯js+css实现在线时钟
2020/08/18 Javascript
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
伦敦时尚生活的缩影:LN-CC
2017/01/24 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
新大陆软件面试题
2016/11/24 面试题
工作会议主持词
2014/03/17 职场文书
考试保密承诺书
2014/08/30 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2016十一国庆节感言
2015/12/09 职场文书