文章目录
导致原因:全局样式来回覆盖导致单页面样式由于优先级被覆盖
解决方案:
1.自定义element-ui样式单独抽取,用到自定义UI的页面直接引入。
// 引入自定义el样式模板(表格、下拉框、输入框、form表单、分页等组件样式)
@import '../assets/styles/AviationCustomUI.scss';
2.单页面特有的样式只在单页面中定义,并将样式进行局部处理限制只对当前页面生效。
<style lang="scss" scoped>
</style>
3.其他页面定义样式只允许定义一个样式范围,不建议定义多个样式范围,这里指的是单页面使用多个style标签定义很多种类的样式。
4.如果想修改或者自定义element-ui内置样式统一采用::v-deep前缀进行样式穿透处理。
5.单页面使用范例:
1>定义样式范围标签
2>统一使用scss编译
3>添加scoped样式局部限制处理
4>自定义样式穿透使用
<style lang="scss" scoped>
// 表格样式
::v-deep .el-table {
background-color: RGB(231, 240, 252);
}
</style>
二、页面样式统一调整
2.1.将开发的页面严格按照以上规范开发,不符合规范的样式统一按照以上规范进行调整。
2.2. 自定义样式element-ui内置样式先建议使用已经封装好的/assets/styles/AviationCustomUI.scss文件。
没有的组件样式可以添加到组件中,已经有的组件样式不允许修改,如果该文件中的样式不满足具体做法如下:
1.先引入封装好的样式文件
// 引入自定义el样式模板(表格、下拉框、输入框、form表单、分页等组件样式)
@import '../assets/styles/AviationCustomUI.scss';
2.在下面对于某个样式不满足的情况下,可以格努具体页面要求进行要是自定义
比如:表格样式要的不是该组件中的样式
// 表格样式
::v-deep .el-table {
background-color: RGB(231, 240, 252);
}
这样就会将该组件中的表格样式进行覆盖。
这样做的好处是:大部分页面都满足,某几个页面不满足也支持定制化,不会造成样式泛滥的现象。