@charset "utf-8"; @import url(../lib/layui/css/layui.css); :root { --primary-color: #4361ee; --secondary-color: #3f37c9; --text-color: #2b2d42; --light-text: #8d99ae; --bg-color: #f8f9fa; --card-bg: rgba(255, 255, 255, 0.85); --border-radius: 12px; --box-shadow: 0 8px 32px rgba(31, 38, 135, 0.14); --nav-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08); --transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); } * { margin: 0px; padding: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; } @font-face { font-family: 'CZH'; src: url('/assets/fonts/CZH.ttf'); } @font-face { font-family: 'RM'; src: url('/assets/fonts/RM.ttf'); } a { text-decoration: none; } html { width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; } body { width: 100%; min-height: 100%; background: #f1f1f1; /*background: #fff;*/ } .x-red { color: red; } .layui-form-switch { margin-top: 0px; } .layui-input:focus, .layui-textarea:focus { border-color: #189f92 !important; } .layui-fluid { padding: 15px; } .x-nav { padding: 0 20px; position: relative; z-index: 10000; border-bottom: 1px solid #e5e5e5; line-height: 39px; height: 39px; overflow: hidden; background: #fff; width: -webkit-fill-available; position: sticky; top: 0; } .page { text-align: center; } .page a { display: inline-block; background: #fff; color: #888; padding: 5px; min-width: 15px; border: 1px solid #E2E2E2; } .page span { display: inline-block; padding: 5px; min-width: 15px; border: 1px solid #E2E2E2; } .page span.current { display: inline-block; background: #006fc9; color: #fff; padding: 5px; min-width: 15px; border: 1px solid #006fc9; } .page .pagination li { display: inline-block; margin-right: 5px; text-align: center; } .page .pagination li.active span { background: #006fc9; color: #fff; border: 1px solid #006fc9; } /* 登录样式 */ .container { width: 100%; height: 60px; background: linear-gradient(135deg, #006fc9 0%, #004a8f 100%); box-shadow: var(--nav-shadow); } .container a, .layui-nav .layui-nav-item a { color: #fff; } .container .logo a { background-color: transparent; font-weight: 600; font-size: 20px; } .container .logo a { float: left; font-size: 18px; padding-left: 25px; line-height: 60px; width: 200px; } .container .right { background-color: transparent; float: right; } .container .left_open { height: 60px; float: left; margin-left: 15px; user-select: none; } .container .left_open i { display: block; background: rgba(255, 255, 255, 0.15); width: 36px; height: 36px; line-height: 36px; border-radius: 50%; text-align: center; margin-top: 12px; cursor: pointer; transition: var(--transition); } .container .left_open i:hover { background: rgba(255, 255, 255, 0.3); transform: rotate(90deg); } .container .left { background-color: transparent; float: left; } .container .layui-nav-item { line-height: 60px; } .container .layui-nav-more { top: 25px; } .container .layui-nav-child { top: 60px; border-radius: 0 0 8px 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } .container .layui-nav-child i { margin-right: 10px; } .container .layui-nav-child i { margin-right: 10px; } .layui-nav .layui-nav-item a { outline: none; cursor: pointer; } .layui-nav .layui-nav-child a { color: #333; cursor: pointer; } .left-nav { position: absolute; top: 60px; bottom: 0px; /*bottom: 42px;*/ left: 0; z-index: 2; padding-top: 2px; background-color: #EEEEEE; width: 300px; max-width: 300px; overflow: auto; overflow-x: hidden; /*overflow: hidden;*/ box-shadow: 1px 0 1px rgba(0, 0, 0, 0.08); transition: var(--transition); } .left-nav #nav li:hover>a { /*color: blue;*/ } .left-nav #nav .current { background-color: rgba(0, 0, 0, 0.3); } .left-nav #nav li { display: grid; transition: var(--transition); grid-template-rows: 0fr; transition: grid-template-rows 0.3s; width: 100%; } .left-nav #nav li a { font-size: 14px; padding: 10px 15px 10px 10px; display: block; cursor: pointer; border-left: 4px solid transparent; transition: all 0.3s; margin: 5px 10px; border-radius: 4px; width: 83%; } .left-nav #nav li i { transition: var(--transition); } .left-nav #nav li cite { transition: var(--transition); margin-left: 3px; } .left-nav a:hover { background: #006fc9 !important; color: #fff; border-color: #004570 !important; } .left-nav a.active { background: #006fc9 !important; color: #fff; border-color: #004570 !important; } .left-nav #nav li a cite { font-size: 14px; } .sub-menu { width: 91%; padding: 2px; } .left-nav #nav li .sub-menu { display: none; } .left-nav #nav li .opened { display: block; } .left-nav #nav li .opened:hover { /*background: #fff ;*/ } .left-nav #nav li .opened .current {} .left-nav #nav li .sub-menu li:hover { /*color: blue;*/ /*background: #fff ;*/ } .left-nav #nav li .sub-menu li a { padding: 12px 15px 12px 30px; font-size: 14px; cursor: pointer; } .left-nav #nav li .sub-menu li .sub-menu li a { padding-left: 45px; } /*.left-nav #nav li .sub-menu li a:hover{ color: #148cf1; }*/ .left-nav #nav li .sub-menu li a i { font-size: 12px; } .left-nav #nav li a i { padding-right: 15px; line-height: 14px; } .left-nav #nav li .nav_right { padding-right: 5px; float: right; font-size: 16px; } .x-slide_left { width: 17px; height: 61px; background: url(../images/icon.png) 0 0 no-repeat; position: absolute; top: 200px; left: 300px; cursor: pointer; z-index: 3; } .page-content { position: absolute; top: 60px; right: 0; /*bottom: 42px;*/ bottom: 0px; left: 300px; overflow: hidden; z-index: 1; } .page-content-bg { position: absolute; top: 60px; right: 0; /*bottom: 42px;*/ bottom: 0px; left: 300px; background: rgba(0, 0, 0, 0.5); overflow: hidden; z-index: 100; display: none; } .page-content .tab { height: 100%; width: 100%; /*background: #EFEEF0;*/ margin: 0px; } .page-content .layui-tab-title { /* padding-top: 5px; */ height: 35px; background: #EFEEF0; position: relative; z-index: 100; margin-top: -2px; margin-left: -2px; } .page-content .layui-tab-title li.home i { padding-right: 5px; } .page-content .layui-tab-title li.home .layui-tab-close { display: none; } .page-content .layui-tab-title li { line-height: 35px; position: relative; /* 为伪元素定位做准备 */ transition: background-color 0.3s ease; } .page-content .layui-tab-title li:not(.layui-this):hover { background-color: rgba(255, 255, 255, 0.7); } /* 使用伪元素实现border-top动画 */ .page-content .layui-tab-title li::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 0; background-color: #1f88e5; transition: height 0.3s ease; } .page-content .layui-tab-title .layui-this::before { height: 5px; /* 边框高度 */ } .page-content .layui-tab-title li .layui-tab-close { border-radius: 10%; transition: background-color 0.3s ease; } .page-content .layui-tab-title .layui-this { background: #fff; } .page-content .layui-tab-bar { height: 34px; line-height: 35px; } /* 修改Tab内容区域样式 */ .page-content .layui-tab-content { position: relative; bottom: 0; width: 100%; padding: 0; overflow: hidden; height: calc(100% - 36px); } /* 修改Tab项基本样式 */ .page-content .layui-tab-content .layui-tab-item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease; will-change: transform, opacity; backface-visibility: hidden; } /* 默认状态 - 隐藏 */ .page-content .layui-tab-content .layui-tab-item:not(.layui-show) { opacity: 0; pointer-events: none; } /* 当前显示的Tab项 */ .page-content .layui-tab-content .layui-tab-item.layui-show { transform: translateX(0); opacity: 1; pointer-events: auto; z-index: 1; } /* 准备向左滑入的项 (从右侧进入) */ .page-content .layui-tab-content .layui-tab-item.slide-in-right { transform: translateX(100%); opacity: 1; } /* 准备向右滑入的项 (从左侧进入) */ .page-content .layui-tab-content .layui-tab-item.slide-in-left { transform: translateX(-100%); opacity: 1; } /* 向左滑出的项 (当前项向左移出) */ .page-content .layui-tab-content .layui-tab-item.slide-out-left { transform: translateX(-100%); opacity: 0.8; } /* 向右滑出的项 (当前项向右移出) */ .page-content .layui-tab-content .layui-tab-item.slide-out-right { transform: translateX(100%); opacity: 0.8; } /* 确保iframe充满整个Tab项 */ .page-content .layui-tab-content .layui-tab-item iframe { width: 100%; height: 100%; border: none; } .x-admin-carousel, .layui-carousel, .x-admin-carousel>[carousel-item]>* { background-color: #fff } .x-admin-backlog .x-admin-backlog-body { display: block; padding: 10px 15px; background-color: #f8f8f8; color: #999; border-radius: 2px; transition: all .3s; -webkit-transition: all .3s } .x-admin-backlog-body h3 { padding-bottom: 10px; font-size: 12px } .x-admin-backlog-body p cite { font-style: normal; font-size: 30px; font-weight: 300; color: #006fc9 } .x-admin-backlog-body:hover { background-color: #CFCFCF; color: #888 } .layui-table { border-radius: var(--border-radius); overflow: hidden; } .layui-table td, .layui-table th { min-width: 80px; padding: 12px 15px; } /*table th, table td { word-break: break-all; }*/ /*404页面样式*/ .fly-panel { margin-bottom: 15px; border-radius: 2px; /*background-color: #fff;*/ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); } .fly-none { min-height: 600px; text-align: center; padding-top: 50px; color: #999; } .fly-none .layui-icon { line-height: 300px; font-size: 300px; color: #393D49; } .fly-none p { margin-top: 50px; padding: 0 15px; font-size: 20px; color: #999; font-weight: 300; } #tab_right { display: none; width: 80px; position: absolute; top: 35px; left: 0px; } #tab_right dl { top: 0px; } #tab_show { position: absolute; top: 36px; bottom: 0px; width: 100%; background: rgb(255, 255, 255, 0); padding: 0px; overflow: hidden; display: none; } /* 优化表格样式 */ .layui-table thead tr { background: linear-gradient(to right, #f8f9fa, #e9ecef); } .layui-table tbody tr:hover { background-color: rgba(0, 111, 201, 0.05) !important; } /* 按钮组优化 */ .layui-btn-group .layui-btn { margin: 0; border-radius: 0; } .layui-btn-group .layui-btn:first-child { border-radius: 4px 0 0 4px; } .layui-btn-group .layui-btn:last-child { border-radius: 0 4px 4px 0; } @media screen and (max-width: 768px) { .layui-table-responsive { width: 100%; overflow-x: auto; } .fast-add { display: none; } .layui-nav .to-index { display: none; } .container .logo a { width: 140px; } .container .left_open { /*float: right;*/ } .left-nav { width: 60px; } .left-nav #nav li a i { font-size: 18px; } /*.left-nav cite, .left-nav .nav_right { display: none; }*/ .left-nav .UserHead-card .avatar { width: 25px; height: 25px; } .page-content { left: 60px; } .page-content .layui-tab-content .layui-tab-item { -webkit-overflow-scrolling: touch; overflow-y: scroll; } .x-so input.layui-input { width: 100%; margin: 10px; } } /*精细版样式*/ .x-admin-sm { font-size: 12px; } .x-admin-sm body { font-size: 12px; } /*登录页面样式*/ .x-admin-sm .login input[type=submit], .x-admin-sm .login input[type=button] { font-size: 14px; } .x-admin-sm .login input[type=text], .x-admin-sm .login input[type=file], .x-admin-sm .login input[type=password], .x-admin-sm .login input[type=email], .x-admin-sm select { font-size: 12px; } .x-admin-sm .login .message { font-size: 14px; } .x-admin-sm .layui-table td, .x-admin-sm .layui-table th { font-size: 12px; } .x-admin-sm .layui-elem-field legend { font-size: 18px; } .x-admin-sm .x-admin-backlog-body p cite { font-size: 24px; } .x-admin-sm .left-nav #nav li a cite { font-size: 12px; } .x-admin-sm .iconfont { font-size: 14px; } .x-admin-sm .layui-tab-title li { font-size: 12px; } .x-admin-sm .layui-icon { font-size: 14px; } .x-admin-sm .layui-nav * { font-size: 12px; } .x-admin-sm .layui-breadcrumb>* { font-size: 12px; } .x-admin-sm .layui-btn, .x-admin-sm .layui-btn-xs, .x-admin-sm .layui-btn-sm { font-size: 12px; } .x-admin-sm .layui-laydate { font-size: 12px; } .x-admin-sm .layui-btn { height: 30px; line-height: 30px; padding: 0 10px; margin-bottom: 10px; } .x-admin-sm .layui-btn-lg { height: 38px; line-height: 38px; padding: 0 18px; font-size: 14px; } .x-admin-sm .layui-layer-title, .x-admin-sm .layui-layer-dialog .layui-layer-content { font-size: 12px; } .x-admin-sm .layui-input, .x-admin-sm .layui-select, .x-admin-sm .layui-textarea { height: 30px; } .x-admin-sm .layui-form-pane .layui-form-label { height: 30px; line-height: 14px; } .x-admin-sm .layui-form-checkbox span { font-size: 12px; } .x-admin-sm .fly-none .layui-icon { line-height: 300px; font-size: 300px; color: #393D49; } .el-button--primary.is-plain { color: #409eff; background: #ecf5ff; border-color: #b3d8ff; } .el-button--primary { color: #fff; background-color: #409eff; border-color: #409eff; } .el-button { display: inline-block; line-height: 1; white-space: nowrap; cursor: pointer; background: #fff; border: 1px solid #dcdfe6; color: #606266; -webkit-appearance: none; text-align: center; box-sizing: border-box; outline: 0; margin: 0; transition: .1s; font-weight: 500; padding: 12px 20px; font-size: 14px; border-radius: 4px; } .el-button, .el-checkbox, .el-checkbox-button__inner, .el-empty__image img, .el-radio { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; } .layui-n-p { display: inline-flex; /* 水平居中 */ justify-content: center; /* 垂直居中 */ align-items: center; padding: 0 5px; background-color: #009688; color: #fff; white-space: normal; text-align: center; font-size: 12px; border: none; border-radius: 2px; cursor: default; user-select: text; margin: 1px 1px; min-height: 25px; max-width: 100%; word-wrap: break-word; word-break: break-all; box-sizing: border-box; } .layui-n-p:hover { background-color: #009688; } .layui-btn { margin: 1px 1px; } .xadmin-left-nav { position: absolute; top: 60px; bottom: 0px; left: 0px; z-index: 2; padding-top: 10px; background-color: rgb(238, 238, 238); width: 320px; max-width: 320px; overflow: hidden; } #side-nav { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 300px; } /* 头像样式 */ .avatar-container { position: relative; width: 200px; height: 200px; cursor: pointer; margin-bottom: 20px; } .avatar-img { width: 100%; height: 100%; object-fit: cover; } .avatar-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); color: white; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; border-radius: 50%; } .avatar-container:hover .avatar-overlay { opacity: 1; } /* 头像样式完 */ /* CARD 圆角 & 阴影 & 分割线 */ .layui-card-header { border-bottom: 1px solid #ddd; } .layui-card-round { background: var(--card-bg); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: var(--border-radius); box-shadow: var(--box-shadow); overflow: hidden; transform: translateY(20px); transition: var(--transition); } /* CARD 圆角 & 阴影完 */ /* 子居中 */ .c-container { width: 100%; max-width: 1200px; padding: 60px 40px; display: flex; flex-direction: column; align-items: center; } /* 子居中完 */ /* x-nav补充 */ .x-nav-btn { margin: 10px; } .x-nav-i { font-size: 17px !important; } /* x-nav补充完 */ /* x-nav头像框 */ .UserHead-card { width: 260px; margin: 10px; padding: 10px; display: flex; border-radius: 5px; align-items: center; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease; } .UserHead-card:hover { transform: translateY(-5px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } .UserHead-card .avatar { width: 50px; height: 50px; border-radius: 50%; margin-right: 15px; margin-left: 5px; background-color: #1E9FFF; display: flex; justify-content: center; align-items: center; color: white; font-size: 20px; transition: all 0.3s ease; } .UserHead-card .text-content { flex: 1; white-space: nowrap; overflow: hidden; } .UserHead-card .title { font-size: 16px; color: #333; font-weight: bold; margin-bottom: 5px; overflow: hidden; text-overflow: ellipsis; } .UserHead-card .subtitle { font-size: 14px; color: #999; overflow: hidden; text-overflow: ellipsis; } .layui-card { border-radius: 6px; border: 1px solid #f0f0f0; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 1px rgba(0, 0, 0, 0.03); transition: transform 0.2s ease, box-shadow 0.2s ease; position: relative; } .layui-card:hover { box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.05); } .layui-card-header { border-bottom: 1px solid rgba(0, 0, 0, 0.03); font-weight: normal; border-radius: 6px 6px 0 0; } .layui-card-body { padding: 12px 15px; } /* 响应式调整 */ @media (max-width: 480px) { .UserHead-card { width: 100%; } } /* 添加Tab切换动画效果 */ .layui-tab-content { position: relative; overflow: hidden; } .layui-tab-item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: transform 0.3s ease-in-out; will-change: transform; } .layui-tab-item.layui-show { transform: translateX(0); z-index: 1; } .layui-tab-item:not(.layui-show) { display: block !important; visibility: visible !important; } .layui-tab-item.slide-left { transform: translateX(-100%); } .layui-tab-item.slide-right { transform: translateX(100%); } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes spinReverse { 0% { transform: rotate(0deg); } 100% { transform: rotate(-360deg); } } /* 优化滚动条样式 - 适用于Webkit浏览器(Chrome, Safari, Edge等) */ ::-webkit-scrollbar { width: 12px; height: 12px; background-color: rgba(240, 240, 240, 0.8); border-radius: 10px; } /* 滚动条轨道 */ ::-webkit-scrollbar-track { background-color: transparent; border-radius: 10px; margin: 4px 0; } /* 滚动条滑块 */ ::-webkit-scrollbar-thumb { background-color: #c1c1c1; border-radius: 10px; border: 3px solid transparent; background-clip: content-box; transition: all 0.3s ease-in-out; } /* 鼠标悬停时的滚动条滑块 */ ::-webkit-scrollbar-thumb:hover { background-color: #a8a8a8; transform: scaleX(1.1); } /* 点击时的滚动条滑块 */ ::-webkit-scrollbar-thumb:active { background-color: #888888; transform: scaleX(1.15); } /* 滚动条角落 */ ::-webkit-scrollbar-corner { background-color: transparent; } /* 火狐浏览器滚动条样式 */ * { scrollbar-width: thin; scrollbar-color: #c1c1c1 rgba(240, 240, 240, 0.8); transition: scrollbar-color 0.3s ease-in-out; } /* 火狐浏览器悬停效果 */ *:hover { scrollbar-color: #a8a8a8 rgba(240, 240, 240, 0.8); } /* 火狐浏览器点击效果 */ *:active { scrollbar-color: #888888 rgba(240, 240, 240, 0.8); } /* 平滑滚动效果 */ html { scroll-behavior: smooth; }