scoped

这是一个非常好用的方法
eg

<template>
    <div class="nav">
        <router-link to="/money">记账</router-link>|
        <router-link to="/labels">标签</router-link>|
        <router-link to="/statistics">数据</router-link>
    </div>
</template>

<script>
    export default {
        name: "Nav"
    }
</script>

<style scoped lang="scss">

      .nav{border: 1px red solid}

</style>

这里的scoped可以使得class为nav的这个div与众不同

拥有神秘代码

让后面出现data-v-65af85a3,这个是vue的scoped组件帮我们完成的一个东西。

  1. 让我们可以起非常简单的class名字也不怕重复。

  2. 让我们的样式只作用于当前组件

原理剖析

这个可选 scoped 属性会自动添加一个唯一的属性 (比如 data-v-65af85a3) 为组件内 CSS 指定作用域,

编译的时候 .nav{border: 1px red solid} 会被编译成类似 .nav[data-v-65af85a3]:{border: 1px red solid}

而上面的<div class="nav" >后面则会自动变成<div class="nav" data-v-65af85a3>

所以才会匹配成功。

文档提到,Vue 的单文件组件里的样式设置是非常灵活的。通过 vue-loader,你可以使用任意预处理器、后处理器,甚至深度集成 CSS Modules——全部都在 <style> 标签内。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本文发布在我的博客vue中慎用style的scoped属性许可协议: 署名-非商业性使用-禁止演绎4.0国际 ...
    2ue阅读 9,256评论 2 7
  • 在现代化的 Web 开发中,CSS 还远未完美,这一点应该没有什么意外。 现今的项目通常都相当复杂,而 css 样...
    Vicky丶Amor阅读 1,280评论 0 7
  • 一个web应用是离不开html、css与js,其中css充斥的整个web项目中。css它有一个特定,它是全局的。这...
    午后一小憩阅读 4,556评论 3 12
  • 需求: 微信二维码扫描的特效: 就是一条横线上下来回扫描的动画。 本人vue 是初学者,只想记录开发过程中记录点点...
    Double_winter阅读 1,421评论 0 0
  • Scoped CSS 当 标签有scoped属性时,它的 CSS 只作用于当前组件中的元素。这类似于 Shadow...
    坤嬷嬷阅读 1,042评论 0 0

友情链接更多精彩内容