rwadurian/frontend/admin-web/src/app/globals.scss

102 lines
2.3 KiB
SCSS

@use '../styles/variables' as vars;
@import '../styles/reset.scss';
@import '../styles/typography.scss';
@import '../styles/animations.scss';
// CSS 变量(用于运行时主题切换)
:root {
// 主色调
--color-primary: #{vars.$primary-color};
--color-primary-light: #{vars.$primary-light};
--color-primary-dark: #{vars.$primary-dark};
// 辅助色
--color-success: #{vars.$success-color};
--color-warning: #{vars.$warning-color};
--color-error: #{vars.$error-color};
--color-info: #{vars.$info-color};
// 中性色
--color-text-primary: #{vars.$text-primary};
--color-text-secondary: #{vars.$text-secondary};
--color-text-disabled: #{vars.$text-disabled};
--color-border: #{vars.$border-color};
--color-background: #{vars.$background-color};
--color-card: #{vars.$card-background};
--color-sidebar: #{vars.$sidebar-background};
// 语义色
--color-increase: #{vars.$increase-color};
--color-decrease: #{vars.$decrease-color};
// 字体
--font-family-base: #{vars.$font-family-base};
--font-family-number: #{vars.$font-family-number};
// 布局尺寸
--sidebar-width: #{vars.$sidebar-width};
--sidebar-collapsed-width: #{vars.$sidebar-collapsed-width};
--header-height: #{vars.$header-height};
--page-padding: #{vars.$page-padding};
}
// 基础样式
* {
box-sizing: border-box;
}
html {
font-size: 16px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
font-family: var(--font-family-base);
font-size: vars.$font-size-base;
line-height: vars.$line-height-base;
color: var(--color-text-primary);
background-color: var(--color-background);
}
// 自定义滚动条
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background-color: vars.$border-color;
border-radius: 4px;
&:hover {
background-color: vars.$text-secondary;
}
}
// 选中文本颜色
::selection {
background-color: rgba(vars.$primary-color, 0.2);
color: vars.$text-primary;
}
// 焦点样式
:focus-visible {
outline: 2px solid vars.$primary-color;
outline-offset: 2px;
}
// 链接样式
a {
color: vars.$primary-color;
text-decoration: none;
&:hover {
text-decoration: underline;
}
}