在修改表单组件时,想让表单的l<el-form-item>组件的able字体不加粗,
找到字体所在表单css元素设置字体粗细,但是因为没有生效所以加了!important,加上之后还是不生效,检查代码发现,<style lang="scss" scoped> 设置了scoped属性。
.el-form-item__label {
font-weight: 400 !important;
}
因为设置了soped属性所以只能用deep,样式穿透改变样式。
::v-deep .el-form-item__label {
font-weight: 400 ;
}
或者把scoped属性去掉,就算不使用样式穿透也可以改变elementui组件样式。
总结:在 Vue 单文件组件中,scoped
样式只会影响当前组件内部的元素,而不会影响引入的第三方组件,当在一个 Vue 单文件组件中使用 scoped
样式时,样式规则只会应用于当前组件内部的元素,而不会泄漏到引入的第三方组件中。设置了 scoped
样式作用域想要改变第三方组件的样式需要使用::v-deep或者
>>> 来穿透。在uniapp和vue3中使用可使用/deep/,需要注意的是::v-deep在vue3中已经被废弃。