/
DriveVision
/
Smart-Column-S3
Обзор
Документация
Войти
/
DriveVision
/
Smart-Column-S3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
data/column-animation.css
233 строки
5 KB
Claude
Import Smart-Column S3 implementation from rectification-controller
06 дек 2025, 10:00
06 дек 2025, 10:00
54e4312
Код
Авторство
О чём код?
/* Animated Rectification Column Styles */ #column-scheme { max-width: 100%; height: auto; background: transparent; } /* ========== CUBE HEATING ANIMATION ========== */ .cube.heating { animation: cubeGlow 2s ease-in-out infinite; } @keyframes cubeGlow { 0%, 100% { filter: brightness(1) drop-shadow(0 0 0px #ff0000); } 50% { filter: brightness(1.3) drop-shadow(0 0 20px #ff6600); } } .heat-indicator { animation: heatPulse 1.5s ease-in-out infinite; } @keyframes heatPulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } } /* ========== VAPOR BUBBLES RISING ========== */ .vapor-bubble { animation: riseUp 3s ease-in infinite; } .v1 { animation-delay: 0s; } .v2 { animation-delay: 0.6s; } .v3 { animation-delay: 1.2s; } .v4 { animation-delay: 1.8s; } .v5 { animation-delay: 2.4s; } @keyframes riseUp { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 0.8; } 90% { opacity: 0.8; } 100% { transform: translateY(-150px); opacity: 0; } } /* ========== COOLING RINGS ROTATION ========== */ .cooling-ring { transform-origin: center; animation: coolRotate 4s linear infinite; } .r1 { animation-delay: 0s; } .r2 { animation-delay: 0.5s; } .r3 { animation-delay: 1s; } .r4 { animation-delay: 1.5s; } @keyframes coolRotate { 0% { stroke: #007bff; stroke-width: 8; } 50% { stroke: #00bfff; stroke-width: 10; } 100% { stroke: #007bff; stroke-width: 8; } } /* ========== CONDENSATION DROPS ========== */ .condensation-drop { animation: dropFall 2s ease-in infinite; } .d1 { animation-delay: 0s; } .d2 { animation-delay: 0.7s; } .d3 { animation-delay: 1.4s; } @keyframes dropFall { 0% { transform: translateY(0); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translateY(30px); opacity: 0; } } /* ========== POWER BUTTON ========== */ .power-btn.active .power-circle { fill: #28a745; animation: powerGlow 1.5s ease-in-out infinite; } .power-btn.active .power-icon { stroke: #fff; animation: powerSpin 3s linear infinite; } @keyframes powerGlow { 0%, 100% { filter: drop-shadow(0 0 5px #28a745); } 50% { filter: drop-shadow(0 0 15px #00ff00); } } @keyframes powerSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* ========== TAP DRIPPING ========== */ .tap.dripping .tap-drop { animation: tapDrip 1.5s ease-in infinite; } @keyframes tapDrip { 0% { transform: translateY(0) scale(1); opacity: 0; } 10% { opacity: 1; } 80% { transform: translateY(40px) scale(1); opacity: 1; } 100% { transform: translateY(50px) scale(0.5); opacity: 0; } } /* ========== FRACTION INDICATOR ========== */ .fraction-badge.active { animation: badgePulse 1s ease-in-out infinite; } @keyframes badgePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .fraction-arrow { animation: arrowBlink 1s ease-in-out infinite; } @keyframes arrowBlink { 0%, 100% { opacity: 0.3; } 50% { opacity: 1; } } /* ========== PUMP WHEEL ROTATION ========== */ .pump-wheel { transform-origin: 40px 30px; } .pump-wheel.running { animation: wheelSpin 2s linear infinite; } @keyframes wheelSpin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* ========== JAR FILLING ANIMATION ========== */ .jar-liquid { transition: height 0.5s ease-out, y 0.5s ease-out; } /* Анимация наполнения - управляется через JS */ .jar-filling { animation: liquidRipple 2s ease-in-out infinite; } @keyframes liquidRipple { 0%, 100% { opacity: 0.7; } 50% { opacity: 0.9; } } /* ========== FLOW PIPE ANIMATION ========== */ .flow-pipe.flowing { stroke-dasharray: 10 5; animation: flowMove 1s linear infinite; } @keyframes flowMove { 0% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 15; } } /* ========== TEMPERATURE LABELS ========== */ .temp-label { font-family: 'Courier New', monospace; font-weight: bold; } .temp-label tspan { fill: #007bff; } /* ========== JAR VOLUME LABELS ========== */ .jar-volume { font-family: 'Courier New', monospace; font-weight: bold; } /* ========== RESPONSIVE ========== */ @media (max-width: 768px) { #column-scheme { max-width: 100%; height: auto; } } /* ========== DARK THEME ========== */ [data-theme="dark"] .temp-label, [data-theme="dark"] .jar-volume { fill: #ccc; } [data-theme="dark"] #column-scheme { filter: brightness(0.9); }