前端UI库样式穿透问题解决

文章目录


前言

随着前端框架的兴起,程序员是越来越懂得利用工具,各种层出不穷的前端UI组件库应运而生,大大减少了程序员对于制作页面需要花费的时间,把时间更专注于业务的逻辑开发,但是应该定制好的组件库固然方便,但是这样大家就会开到千篇一律的组件,高度定制的网站设计反而少了许多,因此为了解决这个问题,初学者对组件内的样式进行修改的问题是非常有必要的!!


目录

文章目录

前言

一、样式穿透是什么?

二、使用步骤

1.引入库(以Ant design VueUI库为例)

2.使用组件

3.修改方式

1.只需部分单页面组件修改,在scoped下

         2.全局引入

总结


一、样式穿透是什么?

样式穿透,即对封装好的组件的样式进行修改,目的是为了使互联网公司推出的UI组件库能完美得适配自己的产品,开发出自制程度高的页面设计。

二、使用步骤

1.引入库(以Ant design VueUI库为例)

代码如下(示例):

cmd命令进入项目根目录:

yarn add antd

//main.ts中

import { createApp } from "vue";

import { Switch } from "ant-design-vue";

import 'ant-design-vue/dist/antd.less';

import App from "./App.vue";

import "./registerServiceWorker";

import router from "./router";

import store from "./store";

2.使用组件

代码如下(示例):

 <a-switch v-model:checked="deliveryAI" />

未进行样式穿透时页面效果:(十分突兀)

对样式进行修改(在全局修改的方式下:在App.vue文件下进行样式调整。)

.ant-switch-checked {
  background-color: #6c5321;
}

样式穿透后页面效果:(与UI小姐姐画的图融为一体的感觉真好!)

3.修改方式

1.只需部分单页面组件修改,在scoped下

样式穿透的写法有三种:>>>/deep/::v-deep

注意:深度作用选择器 >>> (只作用于css)

但如果是sass/less的话可能无法识别,这时候需要使用 /deep/ 选择器。

2.全局引入

即在App.vue或其他的外部css,不包含scoped的style标签中写样式,这种写法会导致整个项目所用到的该类型的组件均受到影响,慎用。

总结

以上就是今天要讲的样式穿透内容,本文仅仅简单介绍了样式穿透产生的背景和基本使用,组件库方便了开发,但同时也少了许多喜欢去钻研高度定制化页面设计的程序猿,组件虽好,不可多用,学好前端三件套,走到哪儿都不怕。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Element-UI是一个流行的Vue.js组件,它采用预打包的CSS样式。然而,如果你想直接在Scss层面上定制Element-UI样式,可以利用scss的嵌套规则和变量覆盖功能。 1. **基础路径导入**:首先,你需要将Element-UI样式文件引入到项目中,通常是`element-ui/packages/theme-chalk/index.scss`。然后,在你的项目的`sass`目录下创建一个`_custom.scss` 或者自定义名称的文件,接着通过`@import`将其导入: ```scss // _custom.scss @import '~element-ui/packages/theme-chalk/index.scss'; ``` 2. **修改变量**:Element-UI有许多可配置的全局变量(如颜色、字体大小等),你可以通过修改这些变量来改变默认样式。例如,要改变主标题的颜色: ```scss $el-icon-color: red; // 将颜色更改为红色 ``` 3. **添加/覆盖样式**:如果你需要自定义组件的某个特定部分,可以在当前文件里选择对应的组件并添加或覆盖其样式。比如,想修改`el-button`的边框颜色: ```scss .el-button { border-color: currentColor; // 更改边框颜色 } ``` 4. **使用 Mixins 和 Mixins 的 Nesting**:如果想复用某些样式,可以创建Mixins并在需要的地方应用它们。 5. **编译SCSS**:最后,使用像`Node-Sass`或`Dart-Sass`这样的工具编译SCSS到CSS,并链接到你的HTML文件中。 注意:尽管可以这样做,但不建议大幅度地修改Element-UI的核心样式,因为这可能会导致升级版本时出现问题。最好是针对你的项目需求对样式做最小化调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

因忍而解

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值