均为解决CSS全局作用域问题(样式冲突(污染))的一个解决方案。

1.Scoped CSS

当 <style> 标签有 scoped 属性时,相当于在元素中添加了一个唯一属性用来区分

<style scoped>
.example {color: red;
}
</style><template><div class="example">hi</div>
</template>

它通过使用 PostCSS 来实现以下转换,转换结果:

<style>
.example[data-v-f3f3eg9] {color: red;
}
</style><template><div class="example" data-v-f3f3eg9>hi</div>
</template>

2.CSS Modules

通过给样式名加hash字符串后缀的方式,实现特定作用域语境中的样式编译后的样式在全局唯一。

<template><p :class="$style.gray">Im gray</p>
</template>
<style module>
.gray {color: gray;
}
</style>

使用module的结果编译如下:

<p class="gray_3FI3s6uz">Im gray</p>
.gray_3FI3s6uz {color: gray;
}

由此可见,css module直接替换了类名,排除了用户设置类名影响组件样式的可能性。

推荐使用CSS Modules

详细见官方文档:https://vue-loader.vuejs.org/zh/guide/scoped-css.html#混用本地和全局样式

转载于:https://www.cnblogs.com/vickylinj/p/9573395.html

[Vue]Scoped Css与Css Modules的区别相关推荐

  1. [译] Vue: scoped 样式与 CSS Module 对比

    原文:Vue.js - Scoped Styles vs CSS Modules 作者:Michał Sajnóg 发表时间:Aug 28, 2018 译者:西楼听雨 发表时间: 2018/9/10 ...

  2. vue scoped 原理解析

    Vue scoped,原理,涉及到 vue-loader 的处理策略: 一.首先呢,是 VueLoaderPlugin 策略: VueLoaderPlugin 先获取了 webpack 原来的 rul ...

  3. 常见的前端考试面试题目【vue,react,css,six】

    常见的vue,javascript,css前端面试题 1.Vue2和Vue3的区别至少说5点 2.Vue3中组件通信的流程[父传子,子传父] 3.Apply/call/bind的原理是什么? 4.说说 ...

  4. vue中使用hover.css动画

    vue中使用hover.css动画 介绍:一组 CSS3 驱动的悬停效果,可应用于链接.按钮.徽标.SVG.特色图像等.轻松应用于您自己的元素.修改或仅用于灵感.在 CSS.Sass 和 LESS 中 ...

  5. js和html以及css的区别,html、css、js中的区别与关系

    html.css.js中的区别与关系 2020/04/26 作者: 互盟股份 今天小盟给大家分享的是html.css.js中的区别与关系,相信很多人都不太了解,为了让大家更加了解html.css.js ...

  6. vue 导入公共css_HTML+CSS入门 vue引入通用CSS

    本篇教程介绍了HTML+CSS入门 vue引入通用CSS,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 1.在入口 js 文件 main.js 中引入,一些公共的样式文件 ...

  7. CSS: HTML 和 Body 的区别

    在 CSS 中,<html> 和 <body> 的区别往往被忽略,全局样式或者定义在 <html> 上,或者定义在 <body> 上.实际上,两者是有区 ...

  8. Vue 项目部署出现css样式失效的解决方案

    Vue 项目部署出现css样式失效的解决方案 参考文章: (1)Vue 项目部署出现css样式失效的解决方案 (2)https://www.cnblogs.com/Desmondexperience/ ...

  9. Vue中引入swiper插件报错:To install it, you can run: npm install --save swiper/css/swiper.css

    Vue中引入swiper插件报错:To install it, you can run: npm install --save swiper/css/swiper.css 今天在写项目的时候用到了Sw ...

  10. vue.js之过渡效果-css

    2019独角兽企业重金招聘Python工程师标准>>> vue.js之过渡效果-css 概述 vuejs的过渡效果可以让我们的页面元素在出现和消失时实现过渡.官方文档这样描述过渡效果 ...

最新文章

  1. 【leetcode 简单】 第八十九题 赎金信
  2. 如何在MacOS上创建第一个iOS Flutter应用
  3. vijos P1051 送给圣诞夜的极光
  4. Oracle的resetlogs机制浅析
  5. java requestbody map_java-如何将Map转换为RequestBody?
  6. 图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像
  7. python笔记:random模块中的函数
  8. MongoDB使用过程中的报错处理(持续更新)
  9. python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果
  10. IPhone开发从零开始之1-构思你的产品
  11. 通过javaBean反射转换成mybatis映射文件
  12. volte的sip信令流程_VOLTE-SIP完整信令解析
  13. 哈工大车万翔教授:NLPer的核心竞争力是什么?
  14. DGUS组态软件中图标旋转显示如何使用
  15. 北京新房成交10月下旬暴增 二手房均价年内首次微涨
  16. curl伪造ip请求
  17. 【OpenCV 例程300篇】202. 查表快速替换(cv.LUT)
  18. 滚烫出炉:06中国IT十大财经人物
  19. matlab 4轴机器人建模,SCARA机器人运动学分析及MATLAB建模仿真.pdf
  20. 当天开始时间和结束时间,时间戳

热门文章

  1. springboot-添加拦截器
  2. overlay 如何实现跨主机通信?- 每天5分钟玩转 Docker 容器技术(52)
  3. Oracle VM Virtual Box的安装
  4. spring解析配置文件(三)
  5. hadoop集群中客户端修改、删除文件失败
  6. C# mysql 插入数据,中文乱码
  7. Python docs
  8. 简单,方便,功能全的php分页类
  9. RUNOOB python练习题3
  10. java版电子商务spring cloud分布式微服务b2b2c社交电商:服务容错保护(Hystrix断路器)...