Appearance
实际开发中经常会遇到一种情况,一个功能需求例如表格,可以直接使用element等组件库的表格组件,但实际需求总不会是和组件完全一样的,UI会有各种天马行空的样式给你,我们只需要改改组件样式即可使用。
为了保证每个组件的css唯一性,避免污染全局或者被全局污染,vue提供了scoped作用域,这样在打包的时候会生成一个独一无二hash值,这样父组件的样式就不会影响到子组件了。
因此在scope
作用下,我们直接覆盖组件样式是无效的,而使用 !important
会产生组件间样式穿透等各种问题,我们使用deep解决这个问题,在vue3中deep使用方式如下
scss
:deep(样式名称) {
}
例如
scss
:deep(.el-form-item) {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(0, 0, 0, 0.1);
border-radius: 5px;
color: #454545;
}