美文网首页
《vue》关于样式中“scoped”边界问题

《vue》关于样式中“scoped”边界问题

作者: BA_凌晨四点 | 来源:发表于2021-04-28 16:32 被阅读0次

众所周知,Vue中样式的scoped,可以划分css模块,形成css作用域。

那么它的作用域边界是哪里呢?

先说结论:

写了 scoped 的style,其作用域是该组件,以及该组件中 子组件的 根节点。

// 父组件 father.vue
<template>
  <div class="father">
    <Son />
  </div>
</template>
<script>
import Son from '@/components/Son.vue'
export default {
  components: {
    Son
  }
}
</script>

<style lang="less" scoped>
.son_wrap {
  background-color: pink;
}
</style>
// 子组件 son.vue
<template>
  <div class="son_wrap">  <!-- 根节点 -->
    很多内容...
 </div>
</template>
<script>
export default {}
</script>

此时,Son.vue 背景颜色会变成 pink!
即使此时的Son.vue中也写了背景颜色

// Son.vue
<style lang="less" scoped>
.son_wrap {
  background-color: blue;
}
</style>

最终显示依然是 pink !!
这是因为Vue tree 的形成是:
父组件 beforeMount ---> 子组件 mounted ---> 父组件 mounted
父组件把子组件的 background-color 覆盖了

所以,一般组件的根节点的样式名称都是文件名+wrap或者文件名+container等,为的就是能快速知道组件的根节点的样式名称。

当然,你也可以直接在使用子组件的时候再加一个样式名字

// 父组件 father.vue
<template>
  <div class="father">
    <Son class="test_wrap"/>
  </div>
</template>
<script>
</script>
审查元素.png

父组件的常规操作只能控制子组件的根节点的样式,如果想控制子组件内部的样式,可以再写一个<style></style>不加scoped,或者使用样式穿透。

相关文章

  • 《vue》关于样式中“scoped”边界问题

    众所周知,Vue中样式的scoped,可以划分css模块,形成css作用域。 那么它的作用域边界是哪里呢? 先说结...

  • 面试中值得深思的问题

    vue scoped的作用是什么? 如何更改element-ui样式? CSS,VUE中 scoped不污染其他...

  • vue样式作用域

    在vue中引入了scoped这个概念 ,scoped的设计思想就是让当前组件的样式不会修改到其它地方的样式 ,使用...

  • vue中的样式

    在element中定义的样式为全局的,而在vue中的style定义的样式为scoped,vue在进行渲染的时候,先...

  • react中样式防止全局污染

    react与vue不同,vue可以通过在script中设置scoped来限制样式的生效范围,不至于样式污染。 CS...

  • vue中如何实现给样式添加作用域?说明其实现原理

    vue中要给样式添加作用域,只需要给style标签添加scoped属性即可. 实现原理: 添加了scoped属性的...

  • 修改Element控件的样式

    我们在vue中使用Element库的时候,vue组件中样式的scoped会导致我们无法修改控件的样式。 解决方法是...

  • 笔记

    Vue Scoped CSS覆盖组件的样式 如果在 style 标签设置 scoped 属性,则它的样式只应用到当...

  • vue 高级技巧

    1.css 局部样式 vue 中style样式添加scoped属性表示它的样式只作用于当前组件,样式私有化。 但是...

  • 修改vant组件样式无法显示的问题

    .vue文件中的style标签内因为scoped的原因,样式只对.vue文件中的template模板标签内的结构有...

网友评论

      本文标题:《vue》关于样式中“scoped”边界问题

      本文链接:https://www.haomeiwen.com/subject/ucivrltx.html