scss中如何修改全局样式

发布于 2022-09-12 03:26:49 字数 736 浏览 16 评论 0

项目使用的scss写css
因为业务问题,后台管理系统的首页需要修改layout的样式
问题是在scoped里修改layout的样式无效,试着修改body的样式也无效
如果不写scoped的话,无论改body还是layout样式都可以生效
使用过 /deep/ 以及 ::v-deep 都无效
贴代码

<style lang="scss" scoped>
.progress-list li >>> .el-col div {
  text-align: left !important;
}
::v-deep body {
  border: 1px solid red !important;
}
/deep/ body {
  padding: 0;
  border: 1px solid red !important;
}
<style>

只要带scoped怎么写都无效

然后不带scoped
就可以用

<style lang="scss">
 body {
   border: 1px solid blue;
 }
.el-col div {
  text-align: left !important;
}
</style>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

猫弦 2022-09-19 03:26:49

单文件中的scoped会给当前文件样式加上标识,这样就能起到不污染全局的一些样式,只在单个文件中生效,你的body在当前文件中并没有这样的标识所以不会生效。而在单文件style中,deep是针对修改其他组件或第三方组件的样式

这种建议提出统一的公共样式。

沒落の蓅哖 2022-09-19 03:26:49

这类全局统一处理样式不建议在单组件里去写,一般是写公共scss文件,去处理这些问题;
deep是为了在加了scoped的组件里去修改比如第三方控件或者其他组件之类的样式

短暂陪伴 2022-09-19 03:26:49

当style标签具有该scoped属性时,其CSS将仅应用于当前组件的元素
你可以在app.vue里写全局样式,修改的时候在app.vue的页面改就行了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文