WEBLEB
Inicio
Editora de código
Iniciar sesión
Pro
Español
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Un código de ytr3d3
590
ytr3d3
Abrir en el editor
Publica tu código
Recomendado
28 May 2025
Un código de alejandrob.f2012
30 November 2024
Arte de texto
15 May 2025
Un código de nasmacadic
HTML
Copy
Document
Вход
Войти
Забыли пароль?
Регистрация
Зарегистрироваться
Восстановление
Отправить
Вернуться назад
Подтверждение
Подтвердить
Вернуться назад
CSS
Copy
:root { --bg: #101010; --auth-bg: #101010; --auth-text: #fff; } body { margin: 0; padding: 0; min-height: 100vh; background: linear-gradient( 350deg, #5b72f3, #8B9BFA, #6B7280, #4B5563, #395375, #373d80, #203552, #1E3A8A, #3c65d6, #33569c, #162b53, #18243a, #3b5996, #375daa, #103c94, #2c426d ); background-size: 400% 400%; animation: gradient 30s ease infinite; } @keyframes gradient { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .auth-form{ background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 24px; margin: 0 8rem 0 8rem; padding: 40px; transform-style: preserve-3d; transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), inset 0 0 80px rgba(255, 255, 255, 0.05), inset 0 0 20px rgba(255, 255, 255, 0.05), 0 0 0 1px rgba(255, 255, 255, 0.1); position: relative; } .auth-container{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: space-between; perspective: 2000px; } .card-content{ display: flex; flex-direction: column; align-items: center; justify-content: center; } .auth-button{ position: relative; width: 200px; margin: 25px 0; padding: 15px 30px; font-size: 1.1rem; font-weight: 500; color: #ffffff; background: linear-gradient(135deg, #ff6b6b, #ff4757); border: none; border-radius: 12px; cursor: pointer; transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1); box-shadow: 0 5px 15px rgba(255, 71, 87, 0.3), inset 0 0 15px rgba(255, 255, 255, 0.1); overflow: hidden; } .auth-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.2), transparent ); transition: 0.5s; } .auth-button:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(255, 71, 87, 0.4), inset 0 0 20px rgba(255, 255, 255, 0.2); } .auth-button:hover::before { left: 100%; } #forgot-password { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; text-decoration: none; margin-top: 15px; transition: all 0.3s ease; position: relative; display: inline-block; cursor: pointer; } #forgot-password::after { content: ''; position: absolute; width: 100%; height: 1px; bottom: -2px; left: 0; background: rgba(255, 255, 255, 0.3); transform: scaleX(0); transition: transform 0.3s ease; } #forgot-password:hover { color: #ffffff; text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); } #forgot-password:hover::after { transform: scaleX(1); } .auth-card{ padding: 20px; position: relative; transform-style: preserve-3d; z-index: 1; transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1); backface-visibility: hidden; } .recovery-card h2, .verification-card h2, .auth-card h2 { color: #ffffff; font-size: 2rem; margin-bottom: 30px; text-align: center; font-weight: 600; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); letter-spacing: 1px; } .auth-input{ display: flex; flex-direction: column; flex-wrap: nowrap; } .auth-input input{ width: calc(100% - 20px); font-size: 1rem; margin: 12px 0; padding: 16px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 12px; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(5px); color: #fff; transition: all 0.3s ease; } .auth-input input::placeholder{ color: #fff; } .auth-input input:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); } .auth-input input:focus{ outline: none; background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.5); box-shadow: 0 0 20px rgba(255, 255, 255, 0.1), inset 0 0 10px rgba(255, 255, 255, 0.05); transform: translateZ(5px); } .login-form { transform: rotateY(25deg) translateZ(-100px) translateX(-50px); } .register-form { transform: rotateY(-25deg) translateZ(-100px) translateX(50px); } .login-form:hover { transform: rotateY(15deg) translateZ(50px) translateX(30px); box-shadow: -20px 20px 40px rgba(0, 0, 0, 0.3); background: rgba(25, 25, 25, 0.3); border: 1px solid rgba(255, 255, 255, 0.15); } .register-form:hover { transform: rotateY(-15deg) translateZ(50px) translateX(-30px); box-shadow: 20px 20px 40px rgba(0, 0, 0, 0.3); background: rgba(25, 25, 25, 0.3); border: 1px solid rgba(255, 255, 255, 0.15); } /* Обновляем стили для карточек */ .auth-card { padding: 20px; position: relative; transform-style: preserve-3d; z-index: 1; transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1); backface-visibility: hidden; } /* Стили для основной карточки */ .main-card { transform: translateZ(0); } /* Добавляем анимации для карточек */ @keyframes endpoint-recovery { 0% { opacity: 0; visibility: visible; transform: translate(-50%, -50%) rotateY(0deg) translateZ(-100px); } 100% { opacity: 1; visibility: visible; transform: rotateY(-25deg) translateZ(-100px) translateX(100%) translateY(-50%); } } @keyframes endpoint-verification { 0% { opacity: 0; visibility: visible; transform: translate(50%, -50%) rotateY(0deg) translateZ(-100px); } 100% { opacity: 1; visibility: visible; transform: rotateY(25deg) translateZ(-100px) translateX(-50px) translateY(-50%); } } /* Обновляем стили для карточки восстановления */ .recovery-card { position: absolute; top: 50%; left: 35%; /* Центрируем карточку */ padding: 40px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 24px; opacity: 0; visibility: hidden; transform: translate(-50%, -50%) rotateY(0deg) translateZ(-100px); transition: none; /* Убираем transition, будем использовать animation */ border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), inset 0 0 80px rgba(255, 255, 255, 0.05); } /* Обновляем стили для карточки верификации */ .verification-card { position: absolute; top: 50%; left: 35%; /* Центрируем карточку */ padding: 40px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 24px; opacity: 0; visibility: hidden; transform: translate(-50%, -50%) rotateY(0deg) translateZ(-100px); transition: none; /* Убираем transition, будем использовать animation */ border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), inset 0 0 80px rgba(255, 255, 255, 0.05); } /* Применяем анимации при показе карточек */ .show-recovery .recovery-card { animation: endpoint-recovery 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards; } .show-verification .verification-card { animation: endpoint-verification 0.8s cubic-bezier(0.23, 1, 0.32, 1) forwards; } /* Обновляем поведение карточки восстановления при показе верификации */ .show-verification .recovery-card { transform: rotateY(-35deg) translateZ(-100px) translateX(50%) translateY(-50%); } /* Стили для кнопки "Вернуться назад" */ .back-to-login { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; text-decoration: none; margin-top: 15px; transition: all 0.3s ease; position: relative; display: inline-block; cursor: pointer; } .back-to-login::after { content: ''; position: absolute; width: 100%; height: 1px; bottom: -2px; left: 0; background: rgba(255, 255, 255, 0.3); transform: scaleX(0); transition: transform 0.3s ease; } .back-to-login:hover { color: #ffffff; text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); } .back-to-login:hover::after { transform: scaleX(1); } /* Стили для кнопки "Вернуться к восстановлению" */ .back-to-recovery { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; text-decoration: none; margin-top: 15px; transition: all 0.3s ease; position: relative; display: inline-block; cursor: pointer; } .back-to-recovery::after { content: ''; position: absolute; width: 100%; height: 1px; bottom: -2px; left: 0; background: rgba(255, 255, 255, 0.3); transform: scaleX(0); transition: transform 0.3s ease; } .back-to-recovery:hover { color: #ffffff; text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); } .back-to-recovery:hover::after { transform: scaleX(1); }
JS
Copy
/* Replace with your JS Code (Leave empty if not needed) */