This commit is contained in:
kk
2026-07-08 18:00:33 +08:00
commit e66b4a3680
312 changed files with 54718 additions and 0 deletions

133
src/styles/common.scss Normal file
View File

@@ -0,0 +1,133 @@
// 全局变量
@use './variables.scss' as variables;
@use './mixin.scss' as *;
// ele样式覆盖
@use './element-ui.scss';
// 顶部右侧显示
@use './top.scss';
// 导航标签
@use './tags.scss';
// 工具类函数
@use './mixin.scss';
// 侧面导航栏
@use './sidebar.scss';
//主题
@use './theme/index.scss';
//通用配置
@use './normalize.scss';
//图标配置
@use './iconfont.scss';
//登录样式
@use "./login.scss";
//适配
@use './media.scss';
//滚动条样式
@include scrollBar;
a {
text-decoration: none;
color: #333;
}
* {
outline: none;
}
.avue-sidebar,
.avue-top,
.avue-logo,
.avue-layout,
.login-logo,
.avue-main {
transition: all .3s;
}
.avue-layout {
display: flex;
height: 100%;
overflow: hidden;
&--horizontal {
flex-direction: column;
.avue-sidebar {
width: 100%;
height: variables.$top_height;
display: flex;
.avue-menu, .el-menu-item, .el-sub-menu__title {
height: variables.$top_height;
line-height: variables.$top_height;
}
.is-active:before {
display: none;
}
}
.avue-logo {
width: variables.$sidebar_width
}
}
}
.avue-contail {
width: 100%;
height: 100%;
background: #f0f2f5;
background-size: 100%;
background-repeat: no-repeat;
}
.avue--collapse {
.avue-sidebar,
.avue-logo {
width: variables.$sidebar_collapse;
}
}
.avue-main {
position: relative;
display: flex;
flex-direction: column;
height: 100%;
flex: 1;
box-sizing: border-box;
overflow: hidden;
background: #f0f2f5;
}
#avue-view {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
margin-bottom: 10px;
}
.avue-view {
width: 100%;
box-sizing: border-box;
}
.avue-footer {
width: 100%;
position: absolute;
bottom: 0;
text-align: center;
.copyright {
color: #666;
font-size: 12px;
}
}
.mac_bg {
background-image: url("/img/bg.jpg");
background-color: #000;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
}

View File

@@ -0,0 +1,82 @@
.el-card.is-always-shadow {
box-shadow: none;
border: none !important;
}
.el-menu {
border-right: none;
}
.el-message__icon,
.el-message__content {
display: inline-block;
}
.el-date-editor .el-range-input,
.el-date-editor .el-range-separator {
height: auto;
overflow: hidden;
}
.el-dialog__wrapper {
z-index: 2048;
}
.el-col {
margin-bottom: 8px;
}
.el-main {
padding: 0 !important;
}
.el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-sub-menu .el-sub-menu__title:hover {
background-color: transparent;
}
.el-dropdown-menu__item--divided:before, .el-menu, .el-menu--horizontal > .el-menu-item:not(.is-disabled):focus, .el-menu--horizontal > .el-menu-item:not(.is-disabled):hover, .el-menu--horizontal > .el-sub-menu .el-sub-menu__title:hover {
background-color: transparent !important;
}
.el-collapse-item__header {
height: auto;
overflow: hidden;
}
.el-button.is-text:not(.is-disabled):active {
background-color: transparent;
}
.el-button.is-text:not(.is-disabled):focus, .el-button.is-text:not(.is-disabled):hover {
background-color: transparent;
}
.el-dropdown{
display: inline-block;
line-height: inherit;
.el-button.is-text:not(.is-disabled):focus-visible{
outline: none;
}
}
.avue-icon i, .avue-icon svg {
line-height: 20px;
}
.avue--detail .el-form-item {
background-color: #fafafa;
}
// 统一 avue-crud 表头背景色
.avue-crud .el-table th.el-table__cell,
.avue-crud .el-table__header-wrapper tr th.el-table-fixed-column--left,
.avue-crud .el-table__header-wrapper tr th.el-table-fixed-column--right {
background-color: #fafafa;
}
// 统一 avue-crud 行 hover 背景色
.avue-crud .el-table__body-wrapper tr.hover-row td.el-table-fixed-column--left,
.avue-crud .el-table__body-wrapper tr.hover-row td.el-table-fixed-column--right {
background-color: var(--el-table-row-hover-bg-color);
}

24
src/styles/iconfont.scss Normal file
View File

@@ -0,0 +1,24 @@
[class^="icon-"] {
font-family: "iconfont" !important;
font-size: 18px !important;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.el-menu-item [class^=icon-] {
margin-right: 5px;
width: 24px;
text-align: center;
font-size: 18px;
vertical-align: middle;
}
.el-sub-menu [class^=icon-] {
vertical-align: middle;
margin-right: 5px;
width: 24px;
text-align: center;
font-size: 18px;
}

177
src/styles/login.scss Normal file
View File

@@ -0,0 +1,177 @@
.login-container {
position: relative;
display: flex;
align-items: center;
width: 100%;
height: 100%;
// background-color: #fff;
background: linear-gradient(110deg, rgb(2, 40, 85) 0%, rgb(44, 119, 241) 50%, rgb(255,255,255) 50%, rgb(240,240,240) 100%);
overflow: hidden;
&::before{
// content:' ';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
margin-left: -48%;
background-image: url(/img/login-bg.svg);
background-position: 100%;
background-repeat: no-repeat;
background-size: auto 100%;
}
}
.login-weaper {
margin: 0 auto;
width:100%;
}
.login-left,
.login-border {
position: relative;
min-height: 500px;
align-items: center;
display: flex;
}
.login-left {
padding-top: 100px;
justify-content: center;
flex-direction: column;
color: #fff;
float: left;
width: 50%;
position: relative;
box-sizing: border-box;
}
.login-left .img {
width: 200px;
}
.login-time {
position: absolute;
left: 25px;
top: 25px;
width: 100%;
color: #fff;
font-weight: 200;
opacity: 0.9;
font-size: 18px;
overflow: hidden;
font-weight: bold;
}
.login-left .title {
margin-top: 60px;
text-align: center;
color: #fff;
font-weight: 300;
letter-spacing: 2px;
font-size: 28px;
font-weight: bold;
}
.login-border {
border-left: none;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
color: #fff;
width: 50%;
float: left;
box-sizing: border-box;
}
.login-main {
margin: 0 auto;
padding: 30px 50px;
width: 70%;
//box-shadow: -4px 5px 10px rgba(255, 255, 255, 0.4);
box-sizing: border-box;
}
.login-main > h3 {
margin-bottom: 20px;
}
.login-title {
color: #000;
margin-bottom: 50px;
font-weight: bold;
font-size: 28px;
text-align: center;
letter-spacing: 4px;
}
.login-menu {
margin-top: 40px;
width: 100%;
text-align: center;
a {
color: #999;
font-size: 12px;
margin: 0px 8px;
}
}
.login-submit {
width: 100%;
height: 45px;
font-size: 18px;
letter-spacing: 2px;
font-weight: 300;
cursor: pointer;
margin-top: 30px;
transition: 0.25s;
background-color: #2C77F1;
}
.register-submit {
width: 100%;
height: 45px;
font-size: 18px;
letter-spacing: 2px;
font-weight: 300;
cursor: pointer;
margin-top: 30px;
margin-left: 0!important;
transition: 0.25s;
}
.login-form {
margin: 10px 0;
i {
color: #333;
}
.el-input {
input {
text-indent: 5px;
}
.el-input__wrapper{
padding:5px 10px;
border-radius: 0;
}
.el-input__suffix,.el-input__prefix{
display: flex;
align-items: center;
text-align: center;
}
.el-input__prefix{
margin-left: 8px;
}
}
}
.login-code {
width: 100%;
height: 100%;
.el-input-group__append{
background-color: #fff;
}
}
.login-code-box{
display: flex;
align-items: center;
}
.login-code-img {
cursor: pointer;
min-width: 100px;
padding: 0 5px;
height: 30px;
color: #333;
font-size: 20px;
font-weight: bold;
letter-spacing: 3px;
line-height: 38px;
text-indent: 5px;
text-align: center;
box-sizing: border-box;
}

68
src/styles/media.scss Normal file
View File

@@ -0,0 +1,68 @@
@use './variables.scss' as variables;
@media screen and (max-width: 992px) {
.avue-sidebar {
position: fixed;
top: 0;
left: -265px;
z-index: 1024;
}
.avue--collapse {
.avue-sidebar {
left: 0;
width: variables.$sidebar_width;
}
.avue-logo {
width: variables.$sidebar_width;
}
.avue-main {
margin-left: variables.$sidebar_width;
}
}
// ele的自适应
.el-dialog,
.el-message-box {
width: 98%;
}
//登录页面
.login-left {
width: 100%;
min-height: auto;
.title {
margin-top: 20px;
font-size: 20px;
text-shadow: #000 1px 0 0, #000 0 1px 0, #000 -1px 0 0, #000 0 -1px 0;
}
.img {
width: 50px;
}
}
.login-logo {
padding-top: 30px;
margin-left: -30px;
}
.login-border {
border-radius: 5px;
padding: 20px;
margin: 0 auto;
width: 100%;
}
.login-main {
width: 100%;
background-color: #fff;
padding: 10px 20px;
box-shadow: none
}
.login-container {
&::before {
margin-left: 0
}
}
.top-bar__item {
display: none;
}
}

70
src/styles/mixin.scss Normal file
View File

@@ -0,0 +1,70 @@
@mixin clearfix {
&:after {
content: "";
display: table;
clear: both;
}
}
@mixin scrollBar {
::-webkit-scrollbar-track-piece {
background-color: transparent;
}
::-webkit-scrollbar {
width: 7px;
height: 7px;
background-color: transparent;
}
::-webkit-scrollbar-thumb {
border-radius: 5px;
background-color: hsla(220, 4%, 58%, .3);
}
}
@mixin radius($width, $size, $color) {
width: $width;
height: $width;
line-height: $width;
border-radius: $width;
text-align: center;
border-width: $size;
border-style: solid;
border-color: $color;
}
@mixin relative {
position: relative;
width: 100%;
height: 100%;
}
@mixin pct($pct) {
width: #{$pct};
position: relative;
margin: 0 auto;
}
@mixin triangle($width, $height, $color, $direction) {
$width: $width/2;
$color-border-style: $height solid $color;
$transparent-border-style: $width solid transparent;
height: 0;
width: 0;
@if $direction==up {
border-bottom: $color-border-style;
border-left: $transparent-border-style;
border-right: $transparent-border-style;
} @else if $direction==right {
border-left: $color-border-style;
border-top: $transparent-border-style;
border-bottom: $transparent-border-style;
} @else if $direction==down {
border-top: $color-border-style;
border-left: $transparent-border-style;
border-right: $transparent-border-style;
} @else if $direction==left {
border-right: $color-border-style;
border-top: $transparent-border-style;
border-bottom: $transparent-border-style;
}
}

501
src/styles/normalize.scss vendored Normal file
View File

@@ -0,0 +1,501 @@
/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
/*
/*! 我就是自己看看,然后翻译下下,让大家看看 */
/* ==========================================================================
HTML5 display definitions
HTML5 新增元素定义
========================================================================== */
/**
* Correct `block` display not defined in IE 8/9.
*
* 修正IE 8/9 中未定义的块级元素。
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 8/9.
*
* 修正在 IE 8/9 中未定义的 'inline-block' 元素。
*/
audio,
canvas,
video {
display: inline-block;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*
* 阻止现在浏览器显示未定义 control 播放控件的 'audio' 声音元素。
* 删除 IOS 5 设备中显示的多余的高度。
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*
* 处理 IE 8/9 中不存在的样式。
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
基本设置
========================================================================== */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*
* 1. 设置默认字体类型为 sans-serif.
* 2. 当用户放大或缩小页面时不改变字体大小。
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*
* 删除默认边距。
*/
body {
margin: 0;
}
/* ==========================================================================
Links
链接
========================================================================== */
/**
* Address `outline` inconsistency between Chrome and other browsers.
*
* 处理 Chrome 与其它浏览器中关于 'outline' 的不一致性。
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*
* 为所有浏览器改善当激活或悬停在元素上时元素内容的可读性。
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
排版
========================================================================== */
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*
* 处理多变的 'h1' 字体大小及其在 Firefox 4+, Safari 5, 及 Chrome时浏览器中的
* 'section' 与 'article' 元素中的边距。
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*
* 处理在 IE 8/9, Safari 5, 及 Chrome 没有的样式。
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*
* 处理 Firefox 4+, Safari 5, 及 Chrome 中默认的 'bolder' 样式为 'bold'.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari 5 and Chrome.
*
* 处理在 Safari 5 和 Chrome 没有的样式。
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
*
* 处理 Firefox 与其它浏览器的差异。
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 8/9.
*
* 处理在 IE 8/9 中没有的样式。
*/
mark {
background: #ff0;
color: #000;
}
/**
* Correct font family set oddly in Safari 5 and Chrome.
*
* 修正确 Safari 5 和 Chrome 中古怪的默认字体。
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*
* 为所有浏览器改善预格式化文本的可读性。
*/
pre {
white-space: pre-wrap;
}
/**
* Set consistent quote types.
*
* 设置一致的引用格式。
*/
q {
quotes: "\201C" "\201D" "\2018" "\2019";
}
/**
* Address inconsistent and variable font size in all browsers.
*
* 处理所有浏览器中字体大小的不一致性[译者注:原文直译为:处理所有
* 浏览器中的不一致和多变的字体大小]。
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*
* 阻止所有浏览器中 'sub' 和 'sup' 元素影响 'line-height'.
* [译者注:就是不让上标与下标影响行高。]
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Embedded content
嵌入的内容
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9.
*
* 删除 IE 8/9 中当内容位于 'a' 中出现的边框。
*/
img {
border: 0;
}
/**
* Correct overflow displayed oddly in IE 9.
*
* 修正 IE 9 中显示古怪的溢出内容。
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
Figure 图像/图表/代码等
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari 5.
*
* 处理在 IE 8/9 和 Safari 5 没有的边距。
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Define consistent border, margin, and padding.
*
* 定义一致的边框、外边距及内边距。
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
* 1. 修正在 IE 8/9 中没有继承的 'color'.
*
* [译者注:说是修正颜色嘛,可下面没有关于颜色的呀,这也行?求大神解释!]
* 2. 去掉内边距,避免当用户清空表单组时认为出错了。
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Correct font family not being inherited in all browsers.
* 2. Correct font size not being inherited in all browsers.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*
* 1. 修正所有浏览器中未被继承的字体类型。
* 2. 修正所有浏览器中未被继承的字体大小。
* 3. 处理 Firefox 4+, Safari 5, 及 Chrome 中默认设置不同的外边距。
*/
button,
input,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 2 */
margin: 0; /* 3 */
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*
* 处理 Firefox 4+ 中的客户端样式表里使用 '!important' 设置的 'line-height'.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*
* 处理 'button' 和 'select' 的 'text-transform' 继承的不一致性。
* 所有其它表单控件元素不继承 'text-transform' 的值。
* 修正 Chrome, Safari 5+, 及 IE 8+ 中 'button' 的继承样式。
* 修正 Firefox 4+ 和 Opera 中 'select' 的继承样式。
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*
* 1. 避免 Android 4.0.* 中 WebKit 的一个bug, 防止 'audio' 与 'video' 的播放控件失效。
* 2. 修正 iOS 中不可点击的 'input' 样式。
* 3. 改善图片类型的 'input' 等光标样式的可用性与一致性。
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*
* 重置不可用元素的默认光标样式。
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to `content-box` in IE 8/9.
* 2. Remove excess padding in IE 8/9.
*
* 1. 处理 IE 8/9 中设置为 'content-box' 的盒子模型。
* 2. 删除 IE 8/9 中多余的内边距。
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*
* 1. 处理 Safari 5 和 Chrome 中默认设置为 'appearance' 的 'searchfield'.
* 2. 处理 Safari 5 和 Chrome 中默认设置为 'box-sizing' 的 'border-box'
* (包括不会过时的 '-moz').
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*
* 删除 Safari 5 和 OS X 上的 Chrome 中的输入框上的内边距和搜索取消按钮。
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 4+.
*
* 删除 Firefox 4+ button 与 input 上的内边距。
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 8/9.
* 2. Improve readability and alignment in all browsers.
*
* 1. 删除 IE8/9 中默认的垂直滚动条。
* 2. 改善所有浏览器中的可读性并使文本垂直对齐。
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
表格
========================================================================== */
/**
* Remove most spacing between table cells.
*
* 删除表格里单元格间的间距。
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

74
src/styles/sidebar.scss Normal file
View File

@@ -0,0 +1,74 @@
@use './variables.scss' as variables;
.avue-sidebar {
width: variables.$sidebar_width;
height: 100%;
user-select: none;
position: relative;
background-color: #031527;
transition: width .2s;
box-sizing: border-box;
box-shadow: 2px 0 6px rgba(0, 21, 41, .35);
.el-scrollbar__wrap {
overflow-x: hidden;
}
.avue-menu {
height: calc(100% - #{variables.$top_height});
}
&--tip {
width: 90%;
height: 140px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 5px;
position: absolute;
top: 5px;
left: 5%;
color: #ccc;
z-index: 2;
text-align: center;
font-size: 14px;
background-color: rgba(0, 0, 0, .4);
}
.el-menu-item, .el-sub-menu__title {
i {
margin-right: 5px;
}
i, span {
color: hsla(0, 0%, 100%, .7);
}
&:hover {
background: transparent;
i, span {
color: #fff;
}
}
&.is-active {
&:before {
content: '';
top: 0;
left: 0;
bottom: 0;
width: 4px;
background: var(--el-color-primary);
position: absolute;
}
background-color: rgba(0, 0, 0, .8);
i, span {
color: #fff;
}
}
}
}

101
src/styles/tags.scss Normal file
View File

@@ -0,0 +1,101 @@
.avue-tags {
user-select: none;
position: relative;
padding: 0 10px;
margin-bottom: 10px;
box-sizing: border-box;
border-top: 1px solid #f6f6f6;
background-color: #fff;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
.el-tabs--card > .el-tabs__header {
margin: 0;
}
.el-tabs--card > .el-tabs__header .el-tabs__nav,
.el-tabs--card > .el-tabs__header .el-tabs__item,
.el-tabs--card > .el-tabs__header {
border: none;
}
.el-tabs--card > .el-tabs__header .el-tabs__item:first-child {
border-left-width: 1px
}
.el-tabs--card > .el-tabs__header .el-tabs__item {
margin: 0 3px;
height: 40px;
line-height: 40px;
font-size: 13px;
font-weight: normal;
color: #ccc;
&.is-active {
color: var(--el-color-primary);
border-bottom: 3px solid var(--el-color-primary);
}
}
.el-tabs__nav-prev,
.el-tabs__nav-next {
width: 20px;
line-height: 40px;
font-size: 18px;
text-align: center;
}
&__box {
position: relative;
box-sizing: border-box;
padding-right: 106px;
width: 100%;
.el-tabs__item {
&:first-child {
.is-icon-close {
display: none;
}
}
}
}
&__contentmenu {
position: fixed;
width: 120px;
background-color: #fff;
z-index: 1024;
border-radius: 5px;
box-shadow: 1px 2px 10px #ccc;
.item {
cursor: pointer;
font-size: 14px;
padding: 8px 20px 8px 15px;
color: #606266;
&:first-child {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
&:last-child {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
&:hover {
background-color: var(--el-color-primary);
color: #fff;
}
}
}
&__menu {
position: absolute !important;
top: 3px;
right: 0;
padding: 1px 0 0 15px;
box-sizing: border-box;
}
}

View File

@@ -0,0 +1,55 @@
.theme-beautiful {
.avue-sidebar {
background: linear-gradient(90deg, #006cff, #399efd) !important;
.el-menu-item, .el-sub-menu__title {
background: linear-gradient(90deg, #006cff, #399efd) !important;
}
.el-menu-item, .el-sub-menu__title {
i, span {
color: #fff
}
.is-active {
background: #399efd !important;
}
&:hover, &.is-active {
background: #399efd !important;
i, span {
background: #399efd !important;
}
}
}
}
.avue-logo {
background: linear-gradient(90deg, #006cff, #399efd) !important;
}
.avue-tags {
.el-tabs__item {
font-size: 14px !important;
color: #303133 !important;
font-weight: 500 !important;
border: 1px solid #dcdfe6 !important;
border-radius: 3px;
height: 35px !important;
line-height: 35px !important;
margin: 5px 3px 8px 3px !important;
&:hover {
color: var(--el-color-primary) !important;
border-color: var(--el-color-primary) !important;
}
}
.is-active {
color: var(--el-color-primary) !important;
border-color: var(--el-color-primary) !important;
}
}
}

View File

@@ -0,0 +1,53 @@
.theme-bule {
.avue-top, .avue-logo {
background: #004ca7;
}
.avue-sidebar {
background: #004ca7;
.el-menu-item.is-active, .el-sub-menu__title.is-active {
background-color: rgba(0, 0, 0, 0.2);
}
}
.el-dropdown {
color: #fff;
}
.avue-logo {
.avue-logo_title {
color: #fff;
}
}
.avue-breadcrumb {
i {
color: #fff;
}
}
.top-bar__item {
i {
color: #fff;
}
}
.avue-top {
.el-menu-item {
i,
span {
color: #fff;
}
&:hover {
i,
span {
color: #fff;
}
}
}
}
}

175
src/styles/theme/cool.scss Normal file
View File

@@ -0,0 +1,175 @@
.theme-cool {
.el-menu--popup {
.el-menu-item {
background-color: #fff;
i, span {
color: #666;
}
&:hover {
i, span {
color: #333;
}
}
&.is-active {
background-color: var(--el-color-primary);
&:before {
content: '';
top: 0;
left: 0;
bottom: 0;
width: 4px;
background: var(--el-color-primary);
position: absolute;
}
i, span {
color: #fff;
}
}
}
}
.avue-top {
background: linear-gradient(120deg, #25aff3, #008ad3);
}
.avue-tags {
padding: 0 3px;
margin: 8px 0;
box-shadow: none;
background-color: transparent;
.el-tabs__header .el-tabs__item {
padding: 0 10px !important;
background-color: #fff;
margin-right: 5px;
color: #909399;
border-radius: 3px;
height: 30px;
font-size: 12px;
line-height: 30px;
&.is-active {
border: none;
color: #008ad3;
}
}
}
.avue-logo {
background: #fff;
box-shadow: none;
}
.avue-sidebar--tip {
background-color: transparent;
color: #333;
}
.el-dropdown {
color: #fff;
}
.avue-logo_title {
font-weight: 400;
color: #008ad3;
}
.logo_title,
.avue-breadcrumb {
color: #fff;
i {
color: #fff;
}
}
.avue-top {
.el-menu-item {
i,
span {
color: #fff;
}
&:hover {
i,
span {
color: #fff;
}
}
}
}
.avue-sidebar {
box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15);
background-color: #fff;
.el-menu-item, .el-sub-menu__title {
font-size: 13px;
i, span {
color: #000;
}
&:hover {
background: transparent;
i, span {
color: #000;
}
}
&.is-active {
background-color: #e5f1fb;
&::before {
width: 0;
}
i, span {
color: #25aff3;
}
}
}
}
.top-search {
.el-input__inner {
color: #333;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
/* WebKit browsers */
color: #fff;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: #fff;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: #fff;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
/* Internet Explorer 10+ */
color: #fff;
}
}
.top-bar__item {
i {
color: #fff;
}
}
}

68
src/styles/theme/d2.scss Normal file
View File

@@ -0,0 +1,68 @@
.theme-d2 {
.avue-logo {
color: var(--el-color-primary);
background-color: #ebf1f6;
box-shadow: none;
.avue-logo_title {
font-size: 20px;
font-weight: 400;
}
}
.avue-top {
background-color: #ebf1f6;
box-shadow: none;
}
.avue-main {
padding: 0 5px;
}
.avue-tags {
margin-left: 6px;
padding: 0;
border: 1px solid #e4e7ed;
border-radius: 3px;
background-color: #ebf1f6;
box-shadow: none;
.el-tabs__item {
border-left: 1px solid #cfd7e5 !important;
margin: 0 !important;
background-color: rgba(0, 0, 0, .03) !important;
color: #606266 !important;
font-size: 14px !important;
font-weight: 500 !important;
&:first-child {
border-left: none !important;
}
}
.is-active {
border-bottom: 1px solid #fff !important;
background-color: #fff !important;
color: var(--el-color-primary) !important;
}
}
.avue-sidebar {
background-color: #ebf1f6;
box-shadow: none;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #606266
}
&:hover, &.is-active {
background: hsla(0, 0%, 100%, .5);
i, span {
color: var(--el-color-primary);
}
}
}
}
}

View File

@@ -0,0 +1,70 @@
.theme-dark {
.avue-logo {
color: #fff;
background-color: #2c3643;
box-shadow: none;
.avue-logo_title {
font-size: 20px;
font-weight: 400;
}
}
.avue-top {
background-color: #2c3643;
box-shadow: none;
color: #ccc;
i, span {
color: #ccc;
}
}
.avue-main {
padding: 0 5px;
}
.avue-tags {
padding-left: 0;
background-color: #2c3643;
border-color: transparent;
.el-tabs__item {
margin: 0 !important;
background-color: #262d37;
&.is-active {
color: #262d37 !important;
background-color: #fff !important;
border-color: #262d37 !important;
}
}
}
.avue-main {
background-color: #2c3643;
}
.avue-sidebar {
background-color: #2c3643;
box-shadow: none;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #ccc;
}
&:hover, &.is-active {
background: #262d37;
i, span {
color: #fff;
}
&:before {
background-color: #000;
}
}
}
}
}

128
src/styles/theme/go.scss Normal file
View File

@@ -0,0 +1,128 @@
.theme-go {
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;
.el-table .el-table__row td .cell {
line-height: 32px;
--tw-text-opacity: 1;
color: rgb(75 85 99 / var(--tw-text-opacity));
}
.el-table tr th .cell {
line-height: 25px;
--tw-text-opacity: 1;
color: rgb(55 65 81 / var(--tw-text-opacity));
}
.avue-sidebar {
background:#fff !important;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #333;
}
&:hover {
background: transparent;
i, span {
color: var(--el-color-primary);
}
}
&.is-active {
&:before {
left: auto;
right: 0;
}
background-color: #f0f6ff;
i, span {
color: var(--el-color-primary);
}
}
}
}
.avue-logo {
width:100%;
height:50px;
line-height: 50px;
background:#fff;
color:#333;
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
}
.avue-top{
height:50px;
line-height: 50px;
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
.top-bar__left i, .top-bar__right i{
line-height: 50px;
}
.el-menu--horizontal.el-menu{
border:none
}
.el-menu-item{
i,span{
font-size: 15px;
}
}
.top-bar__title{
padding-left: 50px;
}
}
.avue-main{
background-color: rgb(249,250,251);
}
.avue-tags {
margin: 5px 6px 8px 6px;
padding-bottom: 2px;
.el-tabs__nav-prev,
.el-tabs__nav-next {
width: 20px;
line-height: 50px;
font-size: 18px;
text-align: center;
}
&__box {
position: relative;
box-sizing: border-box;
padding-right: 70px;
width: 100%;
.el-tabs__item {
&:first-child {
.is-icon-close {
display: none;
}
}
}
}
.el-tabs__item {
font-size: 14px !important;
color: rgb(75,85,99) !important;
font-weight: 500 !important;
border: 1px solid rgb(205,218,214) !important;
border-radius: 3px;
height: 30px !important;
line-height: 35px !important;
margin: 8px 3px 8px 3px !important;
&:hover {
color: var(--el-color-primary) !important;
border-color: var(--el-color-primary) !important;
}
}
.is-active {
color: var(--el-color-primary) !important;
border-color: var(--el-color-primary) !important;
}
}
}

71
src/styles/theme/hey.scss Normal file
View File

@@ -0,0 +1,71 @@
.theme-hey {
.avue-sidebar {
background-color: #fff;
box-shadow: 0 1px 4px rgba(0, 21, 41, .08);
.el-menu-item, .el-sub-menu__title {
i, span {
color: rgba(49, 58, 70, .8);
}
&:hover {
background: transparent;
i, span {
color: var(--el-color-primary);
}
}
&.is-active {
&:before {
left: auto;
right: 0;
}
background-color: #f0f6ff;
i, span {
color: var(--el-color-primary);
}
}
}
}
.avue-logo {
background-color: #fff;
box-shadow: none;
.avue-logo_title {
color: var(--el-color-primary);
font-size: 20px;
}
}
.avue-tags {
background: #f3f6f8;
&__box {
position: relative;
box-sizing: border-box;
padding-right: 70px;
width: 100%;
.el-tabs__item {
&:first-child {
.is-icon-close {
display: none;
}
}
}
}
.el-tabs__item {
color: rgba(0, 0, 0, .65) !important;
}
.is-active {
background-color: #fff;
border-bottom: none !important;
}
}
}

View File

@@ -0,0 +1,35 @@
// white
@use './white.scss';
// star
@use './star.scss';
// vip
@use './vip.scss';
// d2
@use './d2.scss';
// bule
@use './bule.scss';
//iview
@use './iview.scss';
//go
@use 'go';
//heyui
@use './hey.scss';
//dark
@use './dark.scss';
//lte
@use 'lte';
//cool
@use './cool.scss';
//beautiful
@use './beautiful.scss';

View File

@@ -0,0 +1,87 @@
.theme-iview {
.avue-logo {
background: #001529;
box-shadow: none;
text-align: center;
.avue-logo_title {
padding: 5px 8px 8px 8px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
font-size: 20px;
color: #fff;
font-weight: 500;
display: inline;
background-color: var(--el-color-primary);
}
}
.avue-tags {
padding: 3px 5px 5px 0;
background: #f0f0f0;
box-shadow: inset 0 0 3px 2px hsla(0, 0%, 39.2%, .1);
.is-active {
&:before {
background: var(--el-color-primary) !important;
}
}
.el-tabs__item {
padding: 0 15px !important;
position: relative;
height: 32px !important;
line-height: 32px !important;
border: 1px solid #e8eaec !important;
color: #515a6e !important;
background: #fff !important;
border-radius: 3px;
&:before {
content: '';
display: inline-block;
width: 12px;
height: 12px;
margin-right: 10px;
border-radius: 50%;
background: #e8eaec;
}
}
}
.avue-sidebar {
background: #001529;
.el-menu-item {
&.is-active {
background-color: #000c17;
&:before {
display: none;
}
i, span {
color: var(--el-color-primary);
}
}
}
.el-sub-menu {
.el-menu-item {
&.is-active {
background-color: var(--el-color-primary);
&:before {
display: none;
}
i, span {
color: #fff;
}
}
}
}
}
}

44
src/styles/theme/lte.scss Normal file
View File

@@ -0,0 +1,44 @@
.theme-lte {
.avue-logo {
background-color: var(--el-color-primary);
.avue-logo_title {
font-weight: 500;
font-size: 20px;
color: #fff;
}
}
.avue-tags {
.el-tabs__item {
font-size: 12px !important;
font-weight: 500 !important;
}
}
.avue-sidebar {
background-color: #263238;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #8a979e;
}
&:hover {
background-color: #2b373d;
}
&.is-active {
&:before {
display: none;
}
background-color: #2b373d;
i, span {
color: #fff;
}
}
}
}
}

116
src/styles/theme/star.scss Normal file
View File

@@ -0,0 +1,116 @@
.theme-star {
.avue-main {
background: transparent;
}
.avue-contail {
background-image: url("/img/star-squashed.jpg");
background-size: 100% 100%;
}
.avue-logo {
color: #fff;
}
.avue-top,
.avue-logo,
.tags-container {
background-color: transparent;
}
.el-card, .error-page {
opacity: .9;
}
.avue-tabs {
padding: 0 20px;
}
.avue-tags {
background-color: transparent;
border-top: none;
}
.avue-top {
.avue-breadcrumb {
color: #fff;
}
.el-menu-item {
i, span {
color: #fff;
}
&.is-active {
background-color: rgba(0, 0, 0, .4)
}
}
.el-dropdown {
color: #fff;
}
}
.avue-sidebar {
box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15);
background-color: transparent;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #fff
}
&:hover {
background: transparent;
i, span {
color: var(--el-color-primary);
}
}
&.is-active {
background-color: rgba(0, 0, 0, .4);
i, span {
color: #fff;
}
}
}
}
.top-search {
.el-input__inner {
color: #333;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
/* WebKit browsers */
color: #fff;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: #fff;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: #fff;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
/* Internet Explorer 10+ */
color: #fff;
}
}
.top-bar__item {
i {
color: #fff;
}
}
}

109
src/styles/theme/vip.scss Normal file
View File

@@ -0,0 +1,109 @@
.theme-vip {
$color: rgba(246, 202, 157, .7);
$is_active_color: #f6ca9d;
.avue-top {
background-color: #20222a;
}
.el-dropdown {
color: $color;
}
.avue-logo {
.avue-logo_title {
background-image: -webkit-gradient(linear, left top, left bottom, from($color), to($is_active_color));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 400;
}
}
.avue-breadcrumb {
i {
color: $color;
}
}
.avue-sidebar {
.el-menu-item {
&.is-active {
&:before {
background: $color;
}
i, span {
color: $is_active_color;
}
}
}
}
.avue-tags {
.el-tabs__item {
color: rgba(0, 0, 0, 0.4) !important;
&.is-active {
color: $is_active_color !important;
border-color: $is_active_color !important;
}
&:before {
background: $is_active_color;
}
}
}
.top-search {
.el-input__inner {
color: $color;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
/* WebKit browsers */
color: $color;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: $color;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: $color;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
/* Internet Explorer 10+ */
color: $color;
}
}
.top-bar__item {
i {
color: $color;
}
}
.avue-top {
.el-menu-item {
i,
span {
color: $color;
}
&:hover {
i,
span {
color: $is_active_color;
}
}
}
}
}

143
src/styles/theme/white.scss Normal file
View File

@@ -0,0 +1,143 @@
.theme-white {
.el-menu--popup {
.el-menu-item {
background-color: #fff;
i, span {
color: #666;
}
&:hover {
i, span {
color: #333;
}
}
&.is-active {
background-color: var(--el-color-primary);
&:before {
content: '';
top: 0;
left: 0;
bottom: 0;
width: 4px;
background: var(--el-color-primary);
position: absolute;
}
i, span {
color: #fff;
}
}
}
}
.avue-top,
.avue-logo,
.tags-container {
background-color: var(--el-color-primary);
}
.avue-sidebar--tip {
background-color: transparent;
color: #333;
}
.el-dropdown {
color: #fff;
}
.avue-logo_title {
font-weight: 400;
color: #fff;
}
.logo_title,
.avue-breadcrumb {
color: #fff;
i {
color: #fff;
}
}
.avue-top {
.el-menu-item {
i,
span {
color: #fff;
}
&:hover {
i,
span {
color: #fff;
}
}
}
}
.avue-sidebar {
box-shadow: 2px 0 6px rgba(0, 21, 41, 0.15);
background-color: #fff;
.el-menu-item, .el-sub-menu__title {
i, span {
color: #666
}
&:hover {
background: transparent;
i, span {
color: #333;
}
}
&.is-active {
background-color: var(--el-color-primary);
i, span {
color: #fff;
}
}
}
}
.top-search {
.el-input__inner {
color: #333;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
/* WebKit browsers */
color: #fff;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: #fff;
}
input::-moz-placeholder,
textarea::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: #fff;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
/* Internet Explorer 10+ */
color: #fff;
}
}
.top-bar__item {
i {
color: #fff;
}
}
}

143
src/styles/top.scss Normal file
View File

@@ -0,0 +1,143 @@
@use './variables.scss' as variables;
.avue-top {
position: relative;
background-color: #fff;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
color: rgba(0, 0, 0, .65);
font-size: 28px;
height: variables.$top_height;
line-height: variables.$top_height;
box-sizing: border-box;
white-space: nowrap;
.el-menu-item {
i, span {
font-size: 13px;
}
}
}
.avue-breadcrumb {
height: 100%;
i {
font-size: 30px !important;
}
&--active {
transform: rotate(90deg);
}
}
.top-user {
margin-left: 20px;
display: flex;
align-items: center;
cursor: pointer;
}
.top-menu {
.el-menu-item {
padding: 0 10px;
border: none;
}
}
.top-search {
line-height: variables.$top_height;
position: absolute !important;
right: 200px;
top: 0;
width: 300px;
.el-input__wrapper {
font-size: 13px;
border: none;
box-shadow: none;
background-color: transparent;
}
}
.top-bar__img {
margin: 0 5px;
padding: 2px;
width: 30px;
height: 30px;
border-radius: 100%;
box-sizing: border-box;
border: 1px solid #eee;
vertical-align: middle;
}
.top-bar__left,
.top-bar__right {
height: variables.$top_height;
position: absolute;
margin-top: 2px;
top: 0;
i {
line-height: variables.$top_height;
}
}
.top-bar__left {
left: 10px;
}
.top-bar__right {
right: 10px;
display: flex;
align-items: center;
}
.top-bar__item {
position: relative;
display: inline-block;
height: variables.$top_height;
margin: 0 7px;
font-size: 16px;
.el-badge__content.is-fixed {
top: 12px;
right: 5px;
}
}
.top-bar__title {
height: 100%;
padding-left: 50px;
box-sizing: border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: inherit;
font-weight: 400;
}
.avue-logo {
height: variables.$top_height;
line-height: variables.$top_height;
background-color: #031527;
font-size: 20px;
overflow: hidden;
box-sizing: border-box;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
color: #fff;
&_title {
display: block;
text-align: center;
font-weight: bold;
font-size: 20px;
}
&_subtitle {
display: block;
text-align: center;
font-size: 18px;
font-weight: bold;
color: #fff;
}
}

View File

@@ -0,0 +1,3 @@
$sidebar_width: 230px;
$sidebar_collapse: 60px;
$top_height: 50px;