lingxixue-web/src/styles/variate.scss
2026-05-09 11:52:09 +08:00

351 lines
7.2 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 主题
$theme-color: #ffe60f; // 品牌色/主操作按钮/按钮移入/文字链
$theme-minor-color: #fffbd2; // 品牌色/主操作按钮/按钮移入/文字链
// 主题色背景
$theme-color-bg: #D4E0F5;
// 辅助颜色
$success-color: #07cc89;
$success-color-1: #bdf6e3;
$success-color-2: #e7fef8;
$warning-color: #ffa200;
$warning-color-1: #ffd282;
$warning-color-2: #fff2dc;
$error-color: #f00a0a;
$error-color-1: #ffaa9c;
$error-color-2: #ffece9;
$aux-color: #5170fe;
$info-color: #999;
$label-color: #00c1f6;
$other-color: #b03afe;
$warning-fill: #fff3d4;
$aux-fill: #e7ebff;
// 文字
$font-color: #4b4b68; // 主要颜色
$font-tag-color: #4b4b68; // 标签
$font-main-color: #333; // 正文
$font-aux-color: #666; // 辅助色
$font-minor-color: #999; // 次要颜色
$font-hover-color: #ccc; // 提示文字
// $font-disabled-color: #291010; // 禁用文字
// $font-reverse-color: #fff; // rgba(#fff, 0.85); // 反差色
// $font-size-1: 20px;
// $font-size-1_h: 1.67vh;
// $font-size-2: 22px;
// $font-size-2_h: 1.83vh;
// $font-size-3: 24px;
// $font-size-3_h: 2vh;
// $font-size-4: 26px;
// $font-size-4_h: 2.17vh;
// $font-size-5: 28px;
// $font-size-5_h: 2.33vh;
// $font-size-6: 30px;
// $font-size-6_h: 2.5vh;
// $font-size-7: 32px;
// $font-size-7_h: 2.67vh;
$font-size-1: 1.67vh;
$font-size-2: 1.83vh;
$font-size-3: 2vh;
$font-size-4: 2.17vh;
$font-size-5: 2.33vh;
$font-size-6: 2.5vh;
$font-size-7: 2.67vh;
$font-cn: Oppo Sans;
$font-en: droid-serif;
$font-num: Oppo Sans;
$font-text: AlibabaHealth;
// $font-text: AlimamaShuHeiTi;
$font-special: AlimamaShuHeiTi;
$font-weight: 500;
// 书本的标签颜色
$book-tag-bg: #56d6f0;
$book-tag-color: #fff;
// 书架的颜色
$book-shelf-color: #6a8cf4;
// 分割色
$split-color: #e6e6e6;
// 边框色
$border-color: $split-color;
$border-input-color: #e8eaec;
// 背景色
$gradient: linear-gradient(180deg, #4de798 0%, #a2fb6e 100%); // 主渐变
$gray_bg: $theme-color-bg; // 灰系背景
$grey-gradient: $theme-color-bg; // 灰系背景
$white-gradient: $theme-color-bg; // 白系背景
$blue-gradient: #7CABFF;// 蓝色背景
$page-fill: #fafafa;
$bg-fill: #fff;
$bg-aux-fill: #f5f5f5;
$bg-theme-aux-fill: #fffdee;
$input-fill: #fafafa;
$menuItem-hover-fill: #f7f7f7;
$hover-fill: #f9f9f9;
$error-fill: $error-color;
$hover-theme-fill: #eed715;
$disabled-theme-fill: #fff387;
$bg-minor-theme-fill: #fffde9;
// 按钮
$btn-fill: #eeeeee; //#f5f5f5;
$btn-hover-fill: #e6e6e6;
$btn-disabled-fill: #dbdbdb; //#f5f5f5;
$btn-error-fill: #ffefec;
$btn-primary-fill: $theme-color;
$btn-primary-hover-fill: #f8e00e; //#eed715;
$btn-primary-disabled-fill: #fff387;
// 滚动条颜色
$scroll-color: #f5f5f5;
// 图标
$icon-color: #4d4d4d;
$icon-minor-color: #999;
$icon-aux-color: #ccc;
$icon-hover-fill: $hover-fill;
// 间隔
$space-1: 8px;
$space-1_h: 0.67vh;
$space-2: 16px;
$space-2_h: 1.33vh;
$space-3: 24px;
$space-3_h: 2vh;
$space-4: 32px;
$space-4_h: 2.67vh;
$space-5: 40px;
$space-5_h: 3.33vh;
$space-6: 48px;
$space-6_h: 3vh;
$space-7: 56px;
$space-7_h: 4.67vh;
$space-8: 64px;
$space-8_h: 5.33vh;
$space-70: 70px;
$space-70_h: 5.83vh;
// 圆角
// $radius-1: 4px;
$radius-1: 0.33vh;
// $radius-2: 8px;
$radius-2: 0.67vh;
// $radius-3: 12px;
$radius-3: 1vh;
// $radius-4: 16px;
$radius-4: 1.33vh;
// $radius-5: 20px;
$radius-5: 1.67vh;
// $radius-6: 24px;
$radius-6: 2vh;
// $radius-7: 28px;
$radius-7: 2.33vh;
// 单行省略
@mixin single_ellipsis {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
// 多行省略
@mixin multiple_ellipsis($line: 3) {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: $line;
}
@mixin scroll_bar {
&::-webkit-scrollbar {
width: 4px;
height: 0.33vh;
}
&::-webkit-scrollbar-thumb {
border-radius: 0.67vh;
background-color: $scroll-color;
}
&::-webkit-scrollbar-track {
border-radius: 0.67vh;
background-color: transparent;
}
}
@mixin hidden_scroll {
overflow-y: auto;
scrollbar-width: none;
scrollbar-color: transparent transparent;
::-webkit-scrollbar {
width: 0;
}
}
// 字体描边
@mixin font-stroke($color: #424155, $stroke: 3px) {
position: relative;
z-index: 0;
&::after {
width: 100%;
content: attr(data-content);
-webkit-text-stroke: $stroke * 2 $color;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
z-index: -1;
}
}
// 渐变边框
@mixin gradient($color1, $color2) {
background: $color1, $color2; // 背景叠两层颜色,一层用于背景,一层用于边框
background-repeat: no-repeat;
background-origin: border-box;
background-clip: content-box, border-box; // 使用clip切出对应的背景应用场景
}
@mixin checkbox {
/* 修改复选框背景和形状 */
:deep(.el-checkbox__input) {
.el-checkbox__inner {
width: 3.33vh;
height: 3.33vh;
border-radius: 50% !important; /* 圆形样式 */
background: rgba(0, 0, 0, 0.65);
border: 0.25vh solid #a2fb6e;
&::after {
border-width: 0.25vh;
height: 1.25vh;
left: 0.92vh;
top: 0.42vh;
width: 0.67vh;
border-color: #a2fb6e;
}
&::before {
height: 0.67vh;
top: 1.08vh;
background-color: #a2fb6e;
}
}
}
}
/* 公共动画 */
.animate__breath {
animation-name: breath;
animation-timing-function: ease-in-out;
}
.animate__slideInLeft {
animation-name: slideInLeft;
}
.animate__slideInRight {
animation-name: slideInRight;
}
.animate__animated {
animation-duration: 1s;
animation-fill-mode: both;
}
.animate__animated.animate__infinite {
animation-iteration-count: infinite;
}
.animate__shakeX {
animation: shake 0.6s linear forwards;
}
@keyframes shake {
0% {
transform: translateX(0px);
}
12% {
transform: translateX(7px);
}
25% {
transform: translateX(-7px);
}
50% {
transform: translateX(7px);
}
62% {
transform: translateX(-7px);
}
75% {
transform: translateX(7px);
}
100% {
transform: translateX(0px);
}
}
@keyframes breath {
0% {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.2, 1.2, 1.2);
}
100% {
transform: scale3d(1, 1, 1);
}
}
@keyframes slideInLeft {
0% {
transform: translate3d(-100%, 0, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
@keyframes slideInRight {
0% {
transform: translate3d(100%, 0, 0);
visibility: visible;
}
100% {
transform: translate3d(0, 0, 0);
}
}
/* 骨架屏公用动画
$name动画名
$color渐变颜色
*/
@mixin animation($name, $color, $rotate: 120deg) {
animation-name: #{$name};
animation-duration: 1.6s;
animation-timing-function: ease;
animation-iteration-count: infinite;
// fcf37a
@keyframes #{$name} {
0% {
background-size: 300% 100%;
background-image: linear-gradient($rotate, transparent 40%, $color 50%, transparent 60%);
background-position: 100% 50%;
}
100% {
background-size: 300% 100%;
background-image: linear-gradient($rotate, transparent 40%, $color 50%, transparent 60%);
background-position: 0 50%;
}
}
}
// 背景
@mixin main_bg {
background: $theme-color-bg;
}
@mixin gray_bg {
background: $theme-color-bg;
}