定制皮肤

场景描述

满足业务和品牌上多样化的视觉需求,包括但不限于全局样式(主色、圆角、边框)和指定组件的视觉定制

实现思路

antd 的样式使用了 Less 作为开发语言,并定义了一系列全局/组件的样式变量,可以根据需求进行相应调整。所有样式变量可以在 这里 找到。

实现步骤

下面以修改全局主色、按钮组件的样式为例说明

1 写less文件

定义一个名为antd-theme.less的文件,文件可以包括两部分内容:变量和样式定义,如下所示。

    //公共变量
    @primary-color: #0081cc;
    @primary-5: #00AAFF;
    @primary-color-hover:#00AAFF;
    @primary-color-active:#00AAFF;
    @border-radius-base: 2px;
    @border-color-base: rgba(0, 0, 0, 0.15);
    @disabled-bg: rgba(0, 0, 0, 0.04);
    @background-color-base:rgba(0, 0, 0, 0.04);
    @disabled-color: rgba(0, 0, 0, 0.25);
    @text-color: rgba(0, 0, 0, 0.85);
    @item-hover-bg: rgba(0, 162, 255, 0.1);
    @border-color-split: rgba(0, 0, 0, 0.15);

    //Button 
    @btn-disable-border: transparent;
    @btn-border-radius-base: 4px;

    .ant-btn {
        padding: 4px 16px;;
    }
    .ant-btn.ant-btn-icon-only{
        padding: 2.4px 0;
    }
    .ant-btn-sm{
        padding: 0 7px;
    }
    .ant-btn:hover {
        color: #00AAFF;
        border-color: #00AAFF;
    }
    .ant-btn.ant-btn-primary:hover {
        color: #ffffff;
        border-color: #00AAFF;
        background: #00AAFF;
    }
    .ant-btn.ant-btn-link:hover {
        color: #00AAFF;
        border-color: transparent;
    }
    .ant-btn.ant-btn-primary.ant-btn-dangerous:hover {
        color: #fff;
        border-color: #ff7875;
        background: #ff7875;
    }
    .ant-btn.ant-btn-dangerous:hover {
        color: #ff7875;
        border-color: #ff7875;
        background: #fff;
    }

2 生成css文件

在资源管理器中打开本地ide的\newdao-ide-windows\tools\uix-web\scripts\antd目录,将antd-theme.less文件复制到这个目录下,执行目录中的theme.bat,在当前目录下生成antd-theme.css文件,内容如下图所示。

  • 通过import引用css时,需要使用:global{}包围,如下图所示
  • 通过require引用css时,不需要使用:global{}包围,如上图所示

3 引用css文件

在js中引用css文件,使样式生效。

  • 使用本地ide,将antd-theme.css文件复制到UI2/pcx目录下
  • 使用云ide,将antd-theme.css文件上传到UI2/pcx目录下

在云ide中上传文件的做法是,切换到企业桌面端,点击文件右侧的上传图标,打开上传文件对话框,拖动文件完成上传

上传后,可看到上传的文件

打开UI2/pcx/app.js(即文件目录下的app.js),在app.js文件中添加下面的代码引用antd-theme.css文件。注意使用的是import的方式引用,css文件需要使用:global{}包围。

    import './pcx/antd.theme.css';

使样式生效,需要在我的开发中,重启应用

4 预览查看效果

添加一个页面,放3个按钮,分别设置为主按钮,默认按钮和链接按钮。

预览查看效果,按钮的主色已经改变。

5 应用于门户

上面介绍的方法是单独访问应用时,皮肤生效的做法。如果要在从门户运行时生效,需要下面的做法。

定制企业门户,打开企业门户的ide,按照3的做法引用css文件。

发布门户应用。从门户运行效果如下图所示。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""