WEBLEB
Startseite
Editor
Anmelden
Pro
Deutsch
English
Français
Español
Português
Deutsch
Italiano
हिंदी
SEAT Leon Anmeldeseite HTML CSS Vorlage
34
Metehan
Im Editor öffnen
Veröffentlichen Sie Ihren Code
22 June 2025
Beispiel für ein HTML-Anmeldeformular
22 August 2025
PowerZone Fitness: Fitnessstudio, Training und Mitgliedschaft HTML
HTML
Copy
SEAT Leon - Giriş
LEON
E-posta Adresi
Şifre
Giriş Yap
Şifremi Unuttum
Yeni Hesap Oluştur
CSS
Copy
/* Reset ve genel stiller */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Helvetica Neue', Arial, sans-serif; } body { min-height: 100vh; display: flex; justify-content: center; align-items: center; background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('background-image.jpg'); background-size: cover; background-position: center; background-attachment: fixed; } /* Login container stilleri */ .login-container { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); padding: 2.5rem; border-radius: 15px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); width: 100%; max-width: 420px; transition: transform 0.3s ease; } .login-container:hover { transform: translateY(-5px); } /* Logo stilleri */ .logo { text-align: center; margin-bottom: 2rem; } .logo h1 { color: #000; font-size: 2rem; font-weight: 300; letter-spacing: 2px; margin-bottom: 0.5rem; } /* Form grup stilleri */ .form-group { margin-bottom: 1.8rem; position: relative; } .form-group label { position: absolute; left: 45px; top: 50%; transform: translateY(-50%); color: #666; transition: all 0.3s; pointer-events: none; font-size: 0.95rem; } .form-group input { width: 100%; padding: 1.2rem 1rem 1.2rem 45px; border: none; border-radius: 10px; font-size: 1rem; transition: all 0.3s; background: rgba(0, 0, 0, 0.05); } .form-group input:focus { background: rgba(0, 0, 0, 0.08); outline: none; } .form-group input:focus + label, .form-group input:not(:placeholder-shown) + label { top: 0; left: 10px; background: white; padding: 0 5px; font-size: 0.8rem; color: #000; } .form-group i { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #666; } /* Buton stilleri */ .submit-btn { width: 100%; padding: 1.2rem; background: #000; color: white; border: none; border-radius: 10px; font-size: 1rem; cursor: pointer; transition: all 0.3s; font-weight: 500; letter-spacing: 1px; margin-top: 1rem; text-transform: uppercase; } .submit-btn:hover { background: #333; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); } /* Link stilleri */ .links { margin-top: 1.8rem; text-align: center; font-size: 0.9rem; display: flex; justify-content: space-around; } .links a { color: #333; text-decoration: none; transition: all 0.3s; position: relative; padding-bottom: 3px; } .links a::after { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 0; background-color: #000; transition: width 0.3s; } .links a:hover::after { width: 100%; } .links a:hover { color: #000; } /* Responsive tasarım */ @media (max-width: 480px) { .login-container { margin: 1rem; padding: 2rem; } }
JS
Copy
// Form doğrulama ve animasyon işlemleri document.addEventListener('DOMContentLoaded', function() { // Form elementlerini seç const form = document.querySelector('form'); const emailInput = document.querySelector('#email'); const passwordInput = document.querySelector('#password'); const submitBtn = document.querySelector('.submit-btn'); // Form gönderim işlemi form.addEventListener('submit', function(e) { e.preventDefault(); // Form doğrulama if (validateForm()) { // Loading efekti submitBtn.innerHTML = 'Giriş Yapılıyor...'; submitBtn.disabled = true; // API çağrısı simülasyonu setTimeout(() => { submitBtn.innerHTML = 'Giriş Başarılı!'; submitBtn.style.background = '#28a745'; // Yönlendirme simülasyonu setTimeout(() => { window.location.href = '/dashboard'; }, 1000); }, 2000); } }); // Form doğrulama fonksiyonu function validateForm() { let isValid = true; // Email doğrulama if (!emailInput.value || !isValidEmail(emailInput.value)) { showError(emailInput, 'Geçerli bir email adresi giriniz'); isValid = false; } else { removeError(emailInput); } // Şifre doğrulama if (!passwordInput.value || passwordInput.value.length < 6) { showError(passwordInput, 'Şifre en az 6 karakter olmalıdır'); isValid = false; } else { removeError(passwordInput); } return isValid; } // Email format doğrulama function isValidEmail(email) { const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return re.test(email); } // Hata mesajı gösterme function showError(input, message) { const formGroup = input.parentElement; if (!formGroup.querySelector('.error-message')) { const errorDiv = document.createElement('div'); errorDiv.className = 'error-message'; errorDiv.style.color = '#dc3545'; errorDiv.style.fontSize = '0.8rem'; errorDiv.style.marginTop = '5px'; errorDiv.textContent = message; formGroup.appendChild(errorDiv); } input.style.borderColor = '#dc3545'; } // Hata mesajını kaldırma function removeError(input) { const formGroup = input.parentElement; const errorDiv = formGroup.querySelector('.error-message'); if (errorDiv) { formGroup.removeChild(errorDiv); } input.style.borderColor = ''; } // Input focus animasyonları const inputs = document.querySelectorAll('.form-group input'); inputs.forEach(input => { // Focus olduğunda container'a active class ekle input.addEventListener('focus', function() { this.parentElement.classList.add('active'); }); // Focus kaldırıldığında ve input boşsa active class'ı kaldır input.addEventListener('blur', function() { if (!this.value) { this.parentElement.classList.remove('active'); } }); }); }); // Parola göster/gizle fonksiyonu const togglePassword = document.querySelector('.toggle-password'); if (togglePassword) { togglePassword.addEventListener('click', function() { const password = document.querySelector('#password'); const type = password.getAttribute('type') === 'password' ? 'text' : 'password'; password.setAttribute('type', type); this.classList.toggle('fa-eye-slash'); }); }