<style>和<style scope>的区别和影响
1. <style>
(全局样式)
特点:
样式会 全局生效,影响当前组件及其所有子组件。
直接写入的样式会污染全局 CSS 命名空间。
使用场景:
需要全局共享的样式(如重置样式、公共变量、字体等)。
第三方组件的样式覆盖(需谨慎,可能影响其他组件)。
2. <style scoped>
(局部样式)
特点:
通过 属性选择器 自动限定样式作用域,仅对当前组件生效。
Vue 会为当前组件的 DOM 元素添加唯一的
data-v-xxxxx
属性,样式会被编译为类似.text-red[data-v-xxxxx]
。
使用场景:
组件私有样式,避免污染全局。
需要样式隔离的组件化开发。