产生原因:
由于组件之间需要做样式隔离(也就是<style scoped >中的scoped属性)
所以我们定义的样式类在打包时会在后面自动带一个不重复的后缀,以防止组件之间的样式相互影响,这样我们如果要通过组件内部的类名来修改样式就会出问题,
因为我们定义的类名总是会被修改
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLxkjN4UTM1ETM4ATMwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
例如我们要修改el-input组件,它内部的类名有一个是el-input__inner
如果我们要修改他,直接定义一个 .el-input__inner类,由于组件样式隔离的原因是作用不上去的
解决办法:
通过 /deep/深度选择器
/deep/.el-input__inner {
height: 32px;
line-height: 32px;
}
或者 >>>
如果/deep/深度选择器使用报错:
:deep(.el-input__inner){
height: 50px;
line-height: 50px;
}
//或者
::v-deep .el-input__inner {
height: 50px;
line-height: 50px;
}