feat: 会员中心全局暗色主题重构
All checks were successful
continuous-integration/drone/push Build is passing

阶段一:全局覆盖
- 新增 dark-override.css (450+ 行),覆盖所有 Element UI 组件暗色样式
  - 输入框、表格、Tabs、弹窗、按钮、分页、复选框、下拉框等
  - 侧边栏、顶栏、主内容区暗色背景
  - 滚动条、日期选择器、消息面板等
- header.php 引入 dark-override.css

阶段二:页面独立 CSS 暗色化(22 个文件)
- 白色背景 #fff → #161b22
- 浅灰背景 #F3F5F9 → #0d1117
- 深色文字 #171725/#1E2736 → #E6E8EB
- 灰色文字 #8692B0 → #8B949E
- 浅色边框 #E6E7EB → rgba(255,255,255,0.06)
- 悬停背景 #F5F7FA → #21262d
This commit is contained in:
yiqiu
2026-03-19 19:49:49 +08:00
parent 63facc24d6
commit 0b845b2075
20 changed files with 789 additions and 193 deletions

View File

@@ -0,0 +1,595 @@
/*
* ========================================
* 会员中心全局暗色主题覆盖
* dark-override.css
* ========================================
* 覆盖 common.css 和 Element UI 默认的浅色样式
* 在 header.php 中引入,影响所有登录后页面
*/
/* ============ 基础层 ============ */
html, body {
background-color: #0d1117 !important;
color: #E6E8EB !important;
}
#mainLoading {
background: #0d1117 !important;
}
#mainLoading.pro-des::before {
background: #0d1117 !important;
}
.template:first-child {
display: none;
}
/* ============ 侧边栏 ============ */
.el-aside {
background: #0d1117 !important;
border-right: 1px solid rgba(255,255,255,0.04);
}
.ali-logo {
filter: brightness(1.1);
}
/* ============ 顶栏 ============ */
.el-header {
background: rgba(13, 17, 23, 0.85) !important;
backdrop-filter: blur(12px) !important;
box-shadow: 0 1px 0 rgba(255,255,255,0.04) !important;
border-bottom: 1px solid rgba(255,255,255,0.04);
}
.el-header .search-value,
.el-header .search-name {
color: #8B949E !important;
}
.header-right .header-right-item .el-dropdown-header .head-box {
background: #1c2028 !important;
}
.header-right .header-right-item .un-login {
color: #8B949E !important;
}
.header-right .header-right-item .cloum-line {
border-color: rgba(255,255,255,0.08) !important;
}
.header-left .el-input input {
background: transparent !important;
color: #E6E8EB !important;
}
/* ============ 主内容区 ============ */
.el-main {
background: #0d1117 !important;
}
.main-card {
background: #0d1117 !important;
color: #E6E8EB !important;
}
.main-card-title {
color: #E6E8EB !important;
}
/* ============ Element UI 输入框 ============ */
.el-input__inner {
background-color: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.06) !important;
color: #E6E8EB !important;
transition: border-color 0.2s;
}
.el-input__inner:hover {
border-color: rgba(22, 93, 255, 0.2) !important;
}
.el-input__inner:focus {
border-color: #165DFF !important;
box-shadow: 0 0 0 2px rgba(22, 93, 255, 0.15) !important;
}
.el-input__inner::placeholder {
color: rgba(139, 148, 158, 0.5) !important;
}
.el-input.is-disabled .el-input__inner {
background-color: rgba(28, 32, 40, 0.6) !important;
color: rgba(139, 148, 158, 0.5) !important;
}
.el-input__prefix,
.el-input__suffix {
color: #8B949E !important;
}
.el-textarea__inner {
background-color: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.06) !important;
color: #E6E8EB !important;
}
.el-textarea__inner:focus {
border-color: #165DFF !important;
}
/* ============ Element UI 选择器 ============ */
.el-select-dropdown {
background-color: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.08) !important;
}
.el-select-dropdown__item {
color: #E6E8EB !important;
}
.el-select-dropdown__item:hover,
.el-select-dropdown__item.hover {
background-color: #21262d !important;
}
.el-select-dropdown__item.selected {
color: #165DFF !important;
}
.el-select-dropdown__empty {
color: #8B949E !important;
}
.el-popper[x-placement^=bottom] .popper__arrow::after {
border-bottom-color: #1c2028 !important;
}
.el-popper[x-placement^=top] .popper__arrow::after {
border-top-color: #1c2028 !important;
}
/* ============ Element UI 表格 ============ */
.el-table {
background-color: transparent !important;
color: #E6E8EB !important;
}
.el-table::before,
.el-table::after {
background-color: rgba(255,255,255,0.04) !important;
}
.el-table th,
.el-table th.el-table__cell {
background-color: #161b22 !important;
color: #8B949E !important;
border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}
.el-table tr {
background-color: #0d1117 !important;
}
.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
background-color: #161b22 !important;
}
.el-table td,
.el-table td.el-table__cell {
border-bottom: 1px solid rgba(255,255,255,0.04) !important;
color: #E6E8EB !important;
}
.el-table__body tr:hover > td.el-table__cell {
background-color: #21262d !important;
}
.el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell {
background-color: #21262d !important;
}
.el-table__empty-block {
background-color: transparent !important;
}
.el-table__empty-text {
color: #8B949E !important;
}
/* ============ Element UI Tabs ============ */
.el-tabs__header {
border-bottom-color: rgba(255,255,255,0.06) !important;
}
.el-tabs__item {
color: #8B949E !important;
}
.el-tabs__item:hover {
color: #E6E8EB !important;
}
.el-tabs__item.is-active {
color: #165DFF !important;
}
.el-tabs__active-bar {
background-color: #165DFF !important;
}
.el-tabs__nav-wrap::after {
background-color: rgba(255,255,255,0.06) !important;
}
/* ============ Element UI 弹窗 ============ */
.el-dialog {
background-color: #161b22 !important;
border: 1px solid rgba(255,255,255,0.06);
box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
}
.el-dialog__header {
border-bottom: 1px solid rgba(255,255,255,0.06);
}
.el-dialog__title {
color: #E6E8EB !important;
}
.el-dialog__headerbtn .el-dialog__close {
color: #8B949E !important;
}
.el-dialog__body {
color: #E6E8EB !important;
}
.dialog-title {
color: #E6E8EB !important;
}
.dialog-footer .btn-ok {
background: #165DFF !important;
color: #FFFFFF !important;
border: none !important;
}
.dialog-footer .btn-ok:hover {
background: #0E42D2 !important;
}
.dialog-footer .btn-no {
background: #21262d !important;
color: #E6E8EB !important;
border: 1px solid rgba(255,255,255,0.08) !important;
}
/* ============ Element UI 按钮 ============ */
.el-button {
background-color: #21262d !important;
border: 1px solid rgba(255,255,255,0.08) !important;
color: #E6E8EB !important;
}
.el-button:hover,
.el-button:focus {
background-color: #2a313a !important;
border-color: rgba(255,255,255,0.12) !important;
color: #FFFFFF !important;
}
.el-button--primary {
background-color: #165DFF !important;
border-color: #165DFF !important;
color: #FFFFFF !important;
}
.el-button--primary:hover,
.el-button--primary:focus {
background-color: #0E42D2 !important;
border-color: #0E42D2 !important;
}
.el-button--primary.is-plain {
background-color: rgba(22, 93, 255, 0.1) !important;
border-color: rgba(22, 93, 255, 0.3) !important;
color: #165DFF !important;
}
.el-button--text {
background: transparent !important;
border: none !important;
color: #165DFF !important;
}
.el-button.is-disabled,
.el-button.is-disabled:hover {
background-color: rgba(33, 38, 45, 0.5) !important;
color: rgba(139, 148, 158, 0.4) !important;
border-color: rgba(255,255,255,0.04) !important;
}
/* ============ Element UI 分页 ============ */
.el-pagination {
color: #8B949E !important;
}
.el-pagination button {
background-color: transparent !important;
color: #8B949E !important;
}
.el-pagination button:hover {
color: #165DFF !important;
}
.el-pager li {
background-color: transparent !important;
color: #8B949E !important;
border-color: rgba(255,255,255,0.08) !important;
}
.el-pager li:hover {
color: #165DFF !important;
}
.el-pager li.active {
color: #165DFF !important;
background: rgba(22, 93, 255, 0.1) !important;
border-color: rgba(22, 93, 255, 0.3) !important;
}
.el-pagination .el-select .el-input .el-input__inner {
color: #8B949E !important;
}
.el-pagination__jump {
color: #8B949E !important;
}
/* ============ Element UI 复选框/单选框 ============ */
.el-checkbox__inner {
background-color: #1c2028 !important;
border-color: rgba(255,255,255,0.15) !important;
}
.el-checkbox__input.is-checked .el-checkbox__inner {
background-color: #165DFF !important;
border-color: #165DFF !important;
}
.el-checkbox__label {
color: #E6E8EB !important;
}
.el-radio__inner {
background-color: #1c2028 !important;
border-color: rgba(255,255,255,0.15) !important;
}
.el-radio__input.is-checked .el-radio__inner {
background-color: #165DFF !important;
border-color: #165DFF !important;
}
.el-radio__label {
color: #E6E8EB !important;
}
/* ============ Element UI 提示/警告 ============ */
.el-alert--error {
background-color: rgba(240, 20, 46, 0.08) !important;
border: 1px solid rgba(240, 20, 46, 0.15);
color: #F0142F !important;
}
.el-alert--error .el-alert__title {
color: #F0142F !important;
}
.el-alert--success {
background-color: rgba(61, 213, 152, 0.08) !important;
border: 1px solid rgba(61, 213, 152, 0.15);
}
.el-alert--info {
background-color: rgba(22, 93, 255, 0.08) !important;
border: 1px solid rgba(22, 93, 255, 0.15);
color: #E6E8EB !important;
}
/* ============ Element UI 加载 ============ */
.el-loading-mask {
background-color: rgba(13, 17, 23, 0.8) !important;
}
/* ============ Element UI 分割线 ============ */
.el-divider {
background-color: rgba(255,255,255,0.06) !important;
}
.el-divider--vertical {
background-color: rgba(255,255,255,0.06) !important;
}
/* ============ Element UI Switch ============ */
.el-switch__core {
border-color: rgba(255,255,255,0.1) !important;
background-color: #21262d !important;
}
.el-switch.is-checked .el-switch__core {
background-color: #165DFF !important;
border-color: #165DFF !important;
}
/* ============ Element UI Popover ============ */
.el-popover {
background: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.08) !important;
color: #E6E8EB !important;
}
/* ============ Element UI Form ============ */
.el-form-item__label {
color: #8B949E !important;
}
/* ============ Element UI Tag ============ */
.el-tag {
background-color: rgba(22, 93, 255, 0.1) !important;
border-color: rgba(22, 93, 255, 0.2) !important;
color: #165DFF !important;
}
/* ============ Element UI Dropdown ============ */
.el-dropdown-menu {
background-color: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.08) !important;
}
.el-dropdown-menu__item {
color: #E6E8EB !important;
}
.el-dropdown-menu__item:hover,
.el-dropdown-menu__item--divided:hover {
background-color: #21262d !important;
color: #FFFFFF !important;
}
.el-dropdown-menu__item--divided::before {
background-color: rgba(255,255,255,0.06) !important;
}
/* ============ Element UI Message Box ============ */
.el-message-box {
background-color: #161b22 !important;
border: 1px solid rgba(255,255,255,0.08) !important;
}
.el-message-box__title {
color: #E6E8EB !important;
}
.el-message-box__message {
color: #8B949E !important;
}
/* ============ Element UI Popconfirm ============ */
.el-popconfirm {
color: #E6E8EB !important;
}
/* ============ Element UI Progress ============ */
.el-progress__text {
color: #E6E8EB !important;
}
/* ============ Element UI Badge ============ */
.el-badge__content {
border: none !important;
}
/* ============ 公共组件样式覆盖 ============ */
/* 搜索框 */
.com-search .el-input__suffix {
color: #8B949E !important;
}
/* 消息面板 */
.top-msg-box {
background: #1c2028 !important;
}
.top-msg-box .msg-top .msg-top-left {
color: #E6E8EB !important;
}
.top-msg-box .msg-list .msg-item:hover {
background: #21262d !important;
}
.top-msg-box .msg-list .msg-item .msg-item-right .msg-item-right-top {
color: #E6E8EB !important;
}
.top-msg-box .msg-list .msg-item .msg-item-right .msg-item-right-bottom {
color: #8B949E !important;
}
/* 支付弹窗 */
.pay-dialog .dia-title {
background: #161b22 !important;
color: #E6E8EB !important;
}
/* 蓝色文字链接 */
.bule-text,
.a-text {
color: #165DFF !important;
}
/* 通用卡片标题 */
.title-text {
color: #E6E8EB !important;
}
/* 优惠码弹窗 */
.discount-content {
background: #1c2028 !important;
}
/* 滚动条暗色 */
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: transparent;
}
::-webkit-scrollbar-thumb {
background: rgba(255,255,255,0.1);
border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
background: rgba(255,255,255,0.2);
}
/* ============ Element UI DatePicker ============ */
.el-date-picker,
.el-picker-panel {
background: #1c2028 !important;
border: 1px solid rgba(255,255,255,0.08) !important;
color: #E6E8EB !important;
}
.el-date-picker .el-picker-panel__header,
.el-date-range-picker .el-picker-panel__header {
color: #E6E8EB !important;
}
.el-date-table th {
color: #8B949E !important;
border-bottom-color: rgba(255,255,255,0.06) !important;
}
.el-date-table td.normal span,
.el-date-table td span {
color: #E6E8EB !important;
}
.el-date-table td.disabled span {
color: rgba(139,148,158,0.3) !important;
}
.el-picker-panel__footer {
background: #161b22 !important;
border-top-color: rgba(255,255,255,0.06) !important;
}