在vue中引入第三方组件库的时候,vue组件中样式的scoped就会阻碍我们修改第三方组件库的样式

在所有需要重新定义样式的element组件上添加自定义class(防止自定义样式影响全局)

1. 在样式外新增一个样式不添加 scoped 的<style>标签

<style>
	/* 这个样式起效果 */
	.myClass .el-input__inner{
		border-radius: 10px;
	}
</style>
<style scoped>
	/* 这个样式不起效果 */
	.myClass .el-input__inner{
		border-radius: 10px; 
	}
</style>

2. 使用 /deep/ 样式穿透 (优雅)

<style scoped>
	/* 这个不起作用 */
	.myClass .el-input__inner{
		border-radius: 10px;
	}
	/* 这个起作用 */
	.myClass /deep/ .el-input__inner{
		border-radius: 10px;
	}
</style>

3. 使用 >>> 穿透(不喜欢用)

<style scoped>
	/* 这个不起作用 */
	.myClass .el-input__inner{
		border-radius: 10px;
	}
	/* 这些起作用 */
	.myClass >>> .el-input__inner{
		border-radius: 10px;
	}
</style>

在更改权重较高的样式时,在使用上述三种方式之一的同时添加上 !important 来增加权重

<style>
	.myClass .el-input__inner{
		width: 300px!important;
	}
</style>
<style scoped>
	.myClass /deep/ .el-input__inner{
		width: 300px!important;
	}
</style>
<style scoped>
	.myClass >>> .el-input__inner{
		width: 300px!important;
	}
</style>
Logo

前往低代码交流专区

更多推荐