Skip to content

主题

注意

专业版整体重构了主题的实现方式,阅读时请区分。

基础版

基础版只提供一套主题,但可自行修改关键颜色变量,实现主题自定义,相关代码在 /src/assets/styles/resources/variables.scss 里。

scss
// 应用背景色
$g-app-bg: #fff;
// 主区域背景色
$g-main-bg: #f5f7f9;

// 头部背景色
$g-header-bg: #736477;
// 头部导航文字颜色
$g-header-menu-color: #fff;
// 头部导航选中颜色
$g-header-menu-active-bg: lighten($g-header-bg, 10);

// 主侧边栏背景色
$g-main-sidebar-bg: #736477;
// 主侧边栏文字颜色
$g-main-sidebar-menu-color: #fff;
// 主侧边栏菜单选中背景色
$g-main-sidebar-menu-active-bg: lighten($g-main-sidebar-bg, 10);

// 次侧边栏背景色
$g-sub-sidebar-bg: #ddcdcd;
// 次侧边栏菜单文字颜色
$g-sub-sidebar-menu-color: #89768f;
// 次侧边栏菜单文字选中颜色
$g-sub-sidebar-menu-active-color: darken($g-sub-sidebar-menu-color, 30);
// 次侧边栏菜单选中背景色
$g-sub-sidebar-menu-active-bg: #b5a5a5;
// 应用背景色
$g-app-bg: #fff;
// 主区域背景色
$g-main-bg: #f5f7f9;

// 头部背景色
$g-header-bg: #736477;
// 头部导航文字颜色
$g-header-menu-color: #fff;
// 头部导航选中颜色
$g-header-menu-active-bg: lighten($g-header-bg, 10);

// 主侧边栏背景色
$g-main-sidebar-bg: #736477;
// 主侧边栏文字颜色
$g-main-sidebar-menu-color: #fff;
// 主侧边栏菜单选中背景色
$g-main-sidebar-menu-active-bg: lighten($g-main-sidebar-bg, 10);

// 次侧边栏背景色
$g-sub-sidebar-bg: #ddcdcd;
// 次侧边栏菜单文字颜色
$g-sub-sidebar-menu-color: #89768f;
// 次侧边栏菜单文字选中颜色
$g-sub-sidebar-menu-active-color: darken($g-sub-sidebar-menu-color, 30);
// 次侧边栏菜单选中背景色
$g-sub-sidebar-menu-active-bg: #b5a5a5;

该文件里你还可对布局的宽高进行调整。

scss
// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
$g-header-width: 100%;
// 头部高度
$g-header-height: 70px;
// 面包屑高度(同时也是侧边栏Logo区域的高度)
$g-breadcrumb-height: 50px;
// 侧边栏宽度
$g-main-sidebar-width: 60px;
$g-sub-sidebar-width: 220px;
$g-sidebar-width: var(--real-sidebar-width);
// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
$g-header-width: 100%;
// 头部高度
$g-header-height: 70px;
// 面包屑高度(同时也是侧边栏Logo区域的高度)
$g-breadcrumb-height: 50px;
// 侧边栏宽度
$g-main-sidebar-width: 60px;
$g-sub-sidebar-width: 220px;
$g-sidebar-width: var(--real-sidebar-width);

专业版

框架提供了 5 款主题,在配置文件中就可轻松切换。

js
/**
 * 主题,默认提供 5 款
 * default 默认
 * vue-cli Vue CLI 风格
 * gitee 码云风格
 * freshness 清新
 * elegant 素雅
 */
theme: 'default'
/**
 * 主题,默认提供 5 款
 * default 默认
 * vue-cli Vue CLI 风格
 * gitee 码云风格
 * freshness 清新
 * elegant 素雅
 */
theme: 'default'

如果框架提供的主题风格满足不了你的需求,你还可以自定义新的主题,和基础版不同的是,专业版主题相关代码在 /src/assets/styles/resources/themes.scss 里。由于代码比较多,下面只截取部分。

scss
$themes: (
    default: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #222b45,
        // 头部导航文字颜色
        g-header-menu-color: #ccc,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #fff,
        // 头部导航选中背景色
        g-header-menu-active-bg: #334067,
        ...
    ),
    vue-cli: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #1d2935,
        // 头部导航文字颜色
        g-header-menu-color: #fff,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #42b983,
        // 头部导航选中背景色
        g-header-menu-active-bg: #1f3039,
        ...
    ),
    ...
);
...
$themes: (
    default: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #222b45,
        // 头部导航文字颜色
        g-header-menu-color: #ccc,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #fff,
        // 头部导航选中背景色
        g-header-menu-active-bg: #334067,
        ...
    ),
    vue-cli: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #1d2935,
        // 头部导航文字颜色
        g-header-menu-color: #fff,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #42b983,
        // 头部导航选中背景色
        g-header-menu-active-bg: #1f3039,
        ...
    ),
    ...
);
...

可以看到,所有主题都存放在 $themes 这个变量里,所以如果想创建一个新主题,你可以按照 default 复制一份,其中 new-theme 就是主题的名称,里面主题的配色可以自行修改。

scss
$themes: (
    default: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #222b45,
        // 头部导航文字颜色
        g-header-menu-color: #ccc,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #fff,
        // 头部导航选中背景色
        g-header-menu-active-bg: #334067,
        ...
    ),
    new-theme: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #1d2935,
        // 头部导航文字颜色
        g-header-menu-color: #fff,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #42b983,
        // 头部导航选中背景色
        g-header-menu-active-bg: #1f3039,
        ...
    ),
    ...
);
$themes: (
    default: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #222b45,
        // 头部导航文字颜色
        g-header-menu-color: #ccc,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #fff,
        // 头部导航选中背景色
        g-header-menu-active-bg: #334067,
        ...
    ),
    new-theme: (
        // 主区域背景色
        g-main-bg: #f0f2f5,
        // 【头部】
        // 头部背景色
        g-header-bg: #1d2935,
        // 头部导航文字颜色
        g-header-menu-color: #fff,
        // 头部导航文字选中颜色
        g-header-menu-active-color: #42b983,
        // 头部导航选中背景色
        g-header-menu-active-bg: #1f3039,
        ...
    ),
    ...
);

布局相关的部分宽高变量存放在 /src/assets/styles/resources/layout.scss 文件中。

scss
// 这是一个复合变量
// 当布局设置为 adaption-min-width 时,它代表 最小宽度
// 当布局设置为 center 时,它代表 固定宽度
// 当布局设置为 center-max-width 时,它代表 最大宽度
$g-app-width: 1400px;

// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
$g-header-width: 100%;
// 头部高度
$g-header-height: 70px;
// 面包屑高度(同时也是侧边栏Logo区域的高度)
$g-breadcrumb-height: 50px;
// 标签栏高度
$g-tabbar-height: 40px;
// 侧边栏宽度
$g-main-sidebar-width: 60px;
$g-sub-sidebar-width: 220px;
// 这是一个复合变量
// 当布局设置为 adaption-min-width 时,它代表 最小宽度
// 当布局设置为 center 时,它代表 固定宽度
// 当布局设置为 center-max-width 时,它代表 最大宽度
$g-app-width: 1400px;

// 头部宽度(默认自适应宽度,可固定宽度,固定宽度后为居中显示)
$g-header-width: 100%;
// 头部高度
$g-header-height: 70px;
// 面包屑高度(同时也是侧边栏Logo区域的高度)
$g-breadcrumb-height: 50px;
// 标签栏高度
$g-tabbar-height: 40px;
// 侧边栏宽度
$g-main-sidebar-width: 60px;
$g-sub-sidebar-width: 220px;