新手 vue3 样式问题

207 天前
 zhuoyue100

新手学习 vue3 请求几个样式问题:

  1. 组件样式是写在全局文件里面,通过 main.js 引入好一些,还是写在组件里面,使用 scope
  2. 为什么全局样式( scss 写的)会生成一个带有 data-v-hash 的样式,它是 scss 解析成 css 时自动识别 dom 上是否有 data-v-hash 属性的吗?
  3. 现在我的父组件下面有 5 个层级的后代组件,因为它是一个独立模块我想统一把样式写在这个父组件里面,这个时候是使用样式穿透/deep/还是写到全局样式文件里面好一些?
1455 次点击
所在节点    Vue.js
8 条回复
zerodli
207 天前
取决于样式是仅仅作用于这个组件文件还是会影响其他地方。个人项目可以放到单文件组件的 style 标签里,若是库项目,倾向于整理成对应的 style 文件放到另一个位置。

scope 是启用作用域样式,它会生成组件元素上的 data-v-hash 。
zhuoyue100
207 天前
@zerodli 好的,感谢~
vinsony
207 天前
不是全局需要的样式就用 scope
zhuoyue100
207 天前
@vinsony 我全局引入的样式优先级高于 scope, 我在浏览器上看到全局样式会自动加上 data-v-hash 属性,这是为什么
frankyuu
207 天前
@zhuoyue100 为了让样式私有化啊,不然的话有些样式相同会被覆盖, css 是有层叠性的
zhuoyue100
207 天前
@frankyuu 好的,谢谢~
wingzhingling
207 天前
单文件组件 CSS 功能 https://cn.vuejs.org/api/sfc-css-features.html
文档能解决你的大部分问题
baolinliu442k
202 天前
用 tailwind 不考虑这些问题了 😃

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1036333

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX