首页 > 其他分享 >vue 样式穿透和scoped

vue 样式穿透和scoped

时间:2022-11-19 15:57:37浏览次数:48  
标签:style vue 样式 穿透 scoped 组件

vue样式穿透

style 节点的 scoped 属性是为了防止组件之间的样式冲突,实现样式模块私有化,避免全局样式污染

对于 style上加了 scope 属性的组件,会主动加上 data-v-xx 的属性来唯一标识当前组件

如果给当前组件的 style 节点添加了 scoped 属性,则当前的样式对其子组件是不生效的,

如果想让某些样式对子组件生效, sass 和 less 的样式穿透,可以使用 /deep/ 深度选择器

<style lang="less" scoped>
.title  ::v-deep.title1{
    color: white;
  }
</style>

或者使用两个 style 标签

<style>
/* 用于修改第三方库的样式 */
</style>
 
<style scoped>

/* 自己的组件内样式 */
</style>

scoped

子组件的根元素
使用 scoped 后,父组件的样式将不会渗透到子组件中。
不过一个子组件的根节点会同时受其父组件的 scoped CSS
和子组件的 scoped CSS 的影响。这样设计是为了让父组件可
以从布局的角度出发,调整其子组件根元素的样式。

但是这次项目里面出现了父组件的样式影响了子组件的样式。
父组件

<style scoped>
 .test{color: pink;} 
</style>

子组件

<template> 
  <div class="test"> 测试父组件样式影响子组件 </div>
 </template>

此时,子组件里面的文字颜色也变为红色了;

首先注意是根元素,如果子组件中是这样的结构,并不能影响test,因为并没有明确的根元素(个人观点)

<template> 
  <div class="test">
    测试1
  </div>
  <div>
  测试2
  </div>
</template>

标签:style,vue,样式,穿透,scoped,组件
From: https://www.cnblogs.com/yang10086/p/16906252.html

相关文章

  • 【Java】 Springboot+Vue 大文件断点续传
     同事在重构老系统的项目时用到了这种大文件上传 第一篇文章是简书的这个:https://www.jianshu.com/p/b59d7dee15a6 是夏大佬写的vue-uploader组件:https://www......
  • Windows下开发环境的搭建(前端vue后端java)
    0.下载或拷贝jdk(目前项目使用的版本包括1.6,1.7,1.8,11),配置Java环境变量:新建系统变量JAVA_HOME和CLASSPATH变量名:JAVA_HOME变量值:C:\ProgramFiles\Java\jdk1.7.0......
  • VUE模块划分
    bg-extend├──src│ ├──App.vue│ ├──api│ │ ├──tenant│ │ │ └──manager.js│ │ └──vote模块名-活动管理接......
  • vue多界面开发
    1.安装vue-cli,已有的请跳过这一步npminstall-g@vue/cli若已安装旧版vue-cli则需要先卸载vue-clinpmuninstall-gvue-cli2.创建项目vuecreateproject-n......
  • vue脚手架vue-cli的卸载与安装方式
    卸载指令:JavaScript//卸载3.0之前的版本npmuninstall-gvue-cliyarnglobalremovevue-cli//卸载3.0之后的版本(可以统一使用此指令卸载)npm......
  • 【vue】后端接口返回了在预览中展示的png(二进制流)如何展示在前端页面?
    代码created(){axios({url:"http://localhost:8080/img/getimg",responseType:"blob",//关键}).then((res)=>{letdata=newBl......
  • vue3学习笔记(一)
    helloworld<!DOCTYPEhtml><html><head><metacharset="utf-8"/><title>ECharts</title><!--方法有用--><!--<scriptsrc="https://unpkg.c......
  • vue3学习笔记(二)
    应用&组件实例//应用实例constapp=Vue.createApp({data(){return{count:4}}})//组件实例constvm=app.mount('#app')console.log(vm.count......
  • vue tab 切换
    <template><view><!--内容--><viewclass="content_box"><viewclass="content"><!--分类-->......
  • 后端初学Vue
    一、Vue介绍     二、Vue的使用(1)Vue最简单的方法是引入Vue.js,可以在html中混合使用,如下:html里引入<scriptsrc="https://cdn.jsdelivr.net/npm/vue@2"><......