| New file |
| | |
| | | |
| | | /* 许可证横幅样式 - 修改原有样式 */ |
| | | .license-banner { |
| | | position: fixed; /* 改为 fixed 定位,固定在最上方 */ |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 60px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | z-index: 9999; /* 确保在最上层 */ |
| | | font-size: 20px; |
| | | font-weight: bold; |
| | | animation: pulse 2s infinite; |
| | | box-shadow: 0 4px 20px rgba(0,0,0,0.3); |
| | | backdrop-filter: blur(5px); /* 毛玻璃效果 */ |
| | | } |
| | | |
| | | .license-banner.expired { |
| | | background: linear-gradient(135deg, rgba(255, 65, 108, 0.95), rgba(255, 75, 43, 0.95)); |
| | | color: white; |
| | | border-bottom: 3px solid #ff0000; |
| | | animation: pulse 1s infinite, shake 0.5s infinite; |
| | | } |
| | | |
| | | .license-banner.urgent { |
| | | background: linear-gradient(135deg, rgba(255, 153, 102, 0.95), rgba(255, 94, 98, 0.95)); |
| | | color: white; |
| | | border-bottom: 3px solid #ff9800; |
| | | animation: pulse 1.5s infinite; |
| | | } |
| | | |
| | | .license-banner.warning { |
| | | background: linear-gradient(135deg, rgba(246, 211, 101, 0.95), rgba(253, 160, 133, 0.95)); |
| | | color: #333; |
| | | border-bottom: 3px solid #ffc107; |
| | | animation: pulse 2s infinite; |
| | | } |
| | | |
| | | .license-content { |
| | | display: flex; |
| | | align-items: center; |
| | | gap: 15px; |
| | | padding: 0 20px; |
| | | } |
| | | |
| | | .license-content i { |
| | | font-size: 24px; |
| | | animation: iconPulse 2s infinite; |
| | | } |
| | | |
| | | .license-text { |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | text-shadow: 1px 1px 3px rgba(0,0,0,0.3); |
| | | letter-spacing: 1px; |
| | | } |
| | | |
| | | .license-days { |
| | | background: rgba(255, 255, 255, 0.2); |
| | | padding: 5px 12px; |
| | | border-radius: 20px; |
| | | font-size: 16px; |
| | | font-weight: bold; |
| | | backdrop-filter: blur(10px); |
| | | border: 1px solid rgba(255, 255, 255, 0.3); |
| | | } |
| | | |
| | | /* 动画效果 */ |
| | | @keyframes pulse { |
| | | 0% { |
| | | opacity: 0.9; |
| | | box-shadow: 0 4px 20px rgba(0,0,0,0.3); |
| | | } |
| | | 50% { |
| | | opacity: 1; |
| | | box-shadow: 0 4px 30px rgba(0,0,0,0.5); |
| | | } |
| | | 100% { |
| | | opacity: 0.9; |
| | | box-shadow: 0 4px 20px rgba(0,0,0,0.3); |
| | | } |
| | | } |
| | | |
| | | @keyframes shake { |
| | | 0%, 100% { transform: translateX(0); } |
| | | 10%, 30%, 50%, 70%, 90% { transform: translateX(-3px); } |
| | | 20%, 40%, 60%, 80% { transform: translateX(3px); } |
| | | } |
| | | |
| | | @keyframes iconPulse { |
| | | 0%, 100% { transform: scale(1); } |
| | | 50% { transform: scale(1.1); } |
| | | } |
| | | |
| | | /* 为过期的添加更强烈的动画 */ |
| | | .license-banner.expired i { |
| | | animation: iconPulse 0.8s infinite alternate; |
| | | } |
| | | |
| | | .license-banner.urgent i { |
| | | animation: iconPulse 1s infinite alternate; |
| | | } |
| | | |
| | | /* 调整主体布局,为横幅腾出空间 */ |
| | | #app { |
| | | margin-top: 60px; /* 为横幅预留高度 */ |
| | | height: calc(100vh - 60px); /* 调整高度 */ |
| | | overflow: auto; /* 如果需要滚动 */ |
| | | } |
| | | |
| | | /* 如果原有 header 还在使用,也需要调整 */ |
| | | header { |
| | | position: relative; |
| | | z-index: 1; |
| | | margin-top: 60px; /* 如果有 header,也要下移 */ |
| | | } |
| | | |
| | | /* 确保横幅不会影响其他元素的点击事件 */ |
| | | .license-banner { |
| | | pointer-events: auto; /* 允许横幅本身的交互 */ |
| | | } |
| | | |
| | | .license-banner * { |
| | | pointer-events: auto; |
| | | } |
| | | |
| | | /* 响应式调整 */ |
| | | @media (max-width: 768px) { |
| | | .license-banner { |
| | | height: 50px; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .license-text { |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .license-days { |
| | | font-size: 14px; |
| | | padding: 3px 8px; |
| | | } |
| | | |
| | | .license-content i { |
| | | font-size: 20px; |
| | | } |
| | | |
| | | #app { |
| | | margin-top: 50px; |
| | | height: calc(100vh - 50px); |
| | | } |
| | | } |
| | | .task-bar-right1 { |
| | | position: fixed; |
| | | top: 5%; |
| | | width: 25%; |
| | | background-color: rgba(255, 255, 255, 0); |
| | | border-radius: 5px; |
| | | padding: 10px; |
| | | box-shadow: 0 0 10px rgba(0, 0, 0, 0); |
| | | z-index: 1000; /* 修改这一行 */ |
| | | } |
| | | |
| | | /* 新增样式 - 确保任务栏在最上层 */ |
| | | .task-bar-left, |
| | | .task-bar-left1, |
| | | .task-bar-right, |
| | | .task-bar-right1 { |
| | | z-index: 10000 !important; |
| | | } |
| | | |
| | | .task-bar-div1 { |
| | | z-index: 10001 !important; |
| | | } |
| | | |
| | | .el-table { |
| | | z-index: 10002 !important; |
| | | position: relative; |
| | | } |