| | |
| | | gap: 12px; |
| | | height: 100%; |
| | | box-sizing: border-box; |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* 预警面板角落装饰 */ |
| | | .warn-panel::before, |
| | | .warn-panel::after { |
| | | content: ''; |
| | | position: absolute; |
| | | width: 15px; |
| | | height: 15px; |
| | | border-color: rgba(255, 77, 79, 0.5); |
| | | border-style: solid; |
| | | pointer-events: none; |
| | | } |
| | | |
| | | .warn-panel::before { |
| | | top: -1px; |
| | | left: -1px; |
| | | border-width: 2px 0 0 2px; |
| | | } |
| | | |
| | | .warn-panel::after { |
| | | bottom: -1px; |
| | | right: -1px; |
| | | border-width: 0 2px 2px 0; |
| | | } |
| | | |
| | | /* 预警脉冲背景 */ |
| | | .warn-panel::after { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | background: radial-gradient(circle at 50% 50%, rgba(255, 77, 79, 0.05) 0%, transparent 70%); |
| | | pointer-events: none; |
| | | animation: warnPulse 4s ease-in-out infinite; |
| | | z-index: 0; |
| | | } |
| | | |
| | | @keyframes warnPulse { |
| | | 0%, 100% { opacity: 0.3; } |
| | | 50% { opacity: 0.6; } |
| | | } |
| | | |
| | | .warn-header { |
| | |
| | | #007eff 78%, |
| | | #007eff 100%) 1; |
| | | padding: 10px 0 6px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .warn-header-left { |
| | |
| | | background: linear-gradient(180deg, #2aa8ff 0%, #4ee4ff 100%); |
| | | clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); |
| | | box-shadow: 0 0 12px rgba(78, 228, 255, 0.25); |
| | | animation: badgePulse 2s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes badgePulse { |
| | | 0%, 100% { transform: scale(1); box-shadow: 0 0 12px rgba(78, 228, 255, 0.25); } |
| | | 50% { transform: scale(1.1); box-shadow: 0 0 20px rgba(78, 228, 255, 0.5); } |
| | | } |
| | | |
| | | .warn-title { |
| | |
| | | -webkit-text-fill-color: transparent; |
| | | background-clip: text; |
| | | line-height: 24px; |
| | | animation: titleGlow 3s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes titleGlow { |
| | | 0%, 100% { filter: brightness(1); } |
| | | 50% { filter: brightness(1.2); } |
| | | } |
| | | |
| | | .warn-range { |
| | |
| | | background: linear-gradient(180deg, rgba(51, 120, 255, 1) 0%, rgba(0, 164, 237, 1) 100%); |
| | | border: 1px solid rgba(78, 228, 255, 0.25); |
| | | cursor: pointer; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .warn-range:hover { |
| | | background: linear-gradient(180deg, rgba(51, 140, 255, 1) 0%, rgba(0, 184, 237, 1) 100%); |
| | | box-shadow: 0 0 15px rgba(0, 212, 255, 0.4); |
| | | transform: translateY(-1px); |
| | | } |
| | | |
| | | .warn-body { |
| | |
| | | gap: 18px; |
| | | align-items: stretch; |
| | | min-height: 260px; |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .warn-list { |
| | |
| | | line-height: 1.2; |
| | | padding: 8px 0; |
| | | border-radius: 4px; |
| | | transition: background-color 0.2s, color 0.2s; |
| | | transition: all 0.3s ease; |
| | | position: relative; |
| | | animation: itemFadeIn 0.5s ease-out both; |
| | | } |
| | | |
| | | @keyframes itemFadeIn { |
| | | from { |
| | | opacity: 0; |
| | | transform: translateX(20px); |
| | | } |
| | | to { |
| | | opacity: 1; |
| | | transform: translateX(0); |
| | | } |
| | | } |
| | | |
| | | .warn-item::before { |
| | | content: ''; |
| | | position: absolute; |
| | | left: 0; |
| | | right: 0; |
| | | bottom: 0; |
| | | height: 1px; |
| | | background: linear-gradient(90deg, transparent, rgba(255, 77, 79, 0.2), transparent); |
| | | opacity: 0; |
| | | transition: opacity 0.3s; |
| | | } |
| | | |
| | | .warn-item:hover { |
| | | color: #ff4d4f; |
| | | background-color: rgba(255, 77, 79, 0.06); |
| | | background-color: rgba(255, 77, 79, 0.08); |
| | | } |
| | | |
| | | .warn-item:hover::before { |
| | | opacity: 1; |
| | | } |
| | | |
| | | .warn-item:hover .warn-text { |
| | |
| | | justify-content: center; |
| | | font-weight: 700; |
| | | color: #ffffff; |
| | | transition: all 0.3s ease; |
| | | position: relative; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | /* 标签发光效果 */ |
| | | .warn-tag::after { |
| | | content: ''; |
| | | position: absolute; |
| | | top: 0; |
| | | left: -100%; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); |
| | | animation: tagShine 3s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes tagShine { |
| | | 0% { left: -100%; } |
| | | 50%, 100% { left: 100%; } |
| | | } |
| | | |
| | | .warn-item:hover .warn-tag { |
| | | transform: scale(1.02); |
| | | box-shadow: 0 0 15px currentColor; |
| | | } |
| | | |
| | | .tag-raw { |
| | |
| | | font-weight: 700; |
| | | white-space: nowrap; |
| | | cursor: pointer; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .warn-item:hover .warn-action { |
| | | text-shadow: 0 0 10px rgba(255, 77, 79, 0.5); |
| | | } |
| | | |
| | | .warn-date { |
| | |
| | | mask: radial-gradient(circle, transparent 62%, #000 63%); |
| | | opacity: 0.5; |
| | | pointer-events: none; |
| | | animation: ringRotate 20s linear infinite; |
| | | } |
| | | |
| | | @keyframes ringRotate { |
| | | from { transform: rotate(0deg); } |
| | | to { transform: rotate(360deg); } |
| | | } |
| | | |
| | | /* 十字辅助线 */ |
| | |
| | | background-repeat: no-repeat; |
| | | opacity: 0.35; |
| | | pointer-events: none; |
| | | animation: crossPulse 3s ease-in-out infinite; |
| | | } |
| | | |
| | | @keyframes crossPulse { |
| | | 0%, 100% { opacity: 0.35; } |
| | | 50% { opacity: 0.5; } |
| | | } |
| | | </style> |