scss中如何修改全局样式
项目使用的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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
单文件中的
scoped
会给当前文件样式加上标识,这样就能起到不污染全局的一些样式,只在单个文件中生效,你的body
在当前文件中并没有这样的标识所以不会生效。而在单文件style
中,deep
是针对修改其他组件或第三方组件的样式这种建议提出统一的公共样式。
这类全局统一处理样式不建议在单组件里去写,一般是写公共scss文件,去处理这些问题;
deep
是为了在加了scoped
的组件里去修改比如第三方控件或者其他组件之类的样式当style标签具有该scoped属性时,其CSS将仅应用于当前组件的元素
你可以在app.vue里写全局样式,修改的时候在app.vue的页面改就行了