scss项目element-ui按需加载且自定义主题

第一步,安装element-ui 

npm i element-ui -S

第二步按需引入安装:

npm install babel-plugin-component -D

更改.babelrc文件
	"plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]

第三步,在main.js中:

import { Button, Select } from 'element-ui';
Vue.use(Button)
Vue.use(Select)

那么如何自定义主题呢

前提,已经在Vue项目中使用了scss,则可以直接创建一个element-variables.scss文件:

$--color-primary: #409EFF;
$--color-success: #03C78C;
$--color-warning: #FFBE2D;
$--color-danger: #FF2660;
$--color-info: #727FC5;
$--color-text-primary: #333333;
$--color-text-regular: #666666;
$--color-text-secondary: #999999;
$--color-text-placeholder: #CCCCCC;
$--font-path:"~element-ui/lib/theme-chalk/fonts";/* 改变 icon 字体路径变量,必需 */
@import" ~element-ui/packages/theme-chalk/src/index";

然后直接在main.js中引入:

注意:index.js和scss样式的前后加载顺序,一定是index.js在scss之前。

import "./element-ui-setting/index.js";
import "./element-ui-setting/element-variables.scss";

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`这样的工具编译SCSSCSS,并链接到你的HTML文件中。 注意:尽管可以这样做,但不建议大幅度地修改Element-UI的核心样式,因为这可能会导致升级库版本时出现问题。最好是针对你的项目求对样式做最小化调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值