WEBLEB
Início
Editor
Entrar
Pro
Português
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Página inicial do plugin Matrix
1805
Metehan
Abrir no Editor
Publique Seu Código
Recomendado
10 July 2025
Exemplo de tela de carregamento animada em HTML com CSS
27 November 2024
gerador de citações
14 September 2024
Alternar Olho do Minion
HTML
Copy
Matrix Kayıt Formu
1
2
3
Sisteme Giriş
E-posta
Şifre
Şifre Tekrar
İLERİ >
Operatör Bilgileri
Ad
Soyad
Kod Adı
< GERİ
İLERİ >
Matrix Bağlantıları
Zion ID
Gemi Kodu
Operatör Seri No
< GERİ
GİRİŞ >
CSS
Copy
/* style.css */ @import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap'); * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Share Tech Mono', monospace; } body { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: #000; padding: 20px; position: relative; overflow: hidden; } canvas { position: fixed; top: 0; left: 0; z-index: 0; } .container { max-width: 500px; width: 100%; background: rgba(0, 20, 0, 0.8); padding: 25px; border-radius: 16px; box-shadow: 0 0 20px #00ff00, 0 0 30px rgba(0, 255, 0, 0.3); position: relative; z-index: 1; backdrop-filter: blur(5px); border: 1px solid rgba(0, 255, 0, 0.2); } .progress-bar { display: flex; justify-content: space-between; margin-bottom: 30px; position: relative; } .progress-bar::before { content: ''; position: absolute; height: 2px; width: 100%; background: #003300; top: 50%; transform: translateY(-50%); z-index: 0; } .progress-step { width: 35px; height: 35px; background: #000; border: 2px solid #00ff00; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 500; position: relative; z-index: 1; transition: all 0.3s ease; color: #00ff00; } .progress-step.active { border-color: #00ff00; background: #003300; box-shadow: 0 0 15px #00ff00; color: #fff; } .form-step { display: none; } .form-step.active { display: block; animation: glitch 0.3s ease; } .input-group { margin-bottom: 20px; } .input-group label { display: block; margin-bottom: 5px; color: #00ff00; font-size: 14px; text-shadow: 0 0 5px #00ff00; } .input-group input { width: 100%; padding: 12px; background: rgba(0, 20, 0, 0.5); border: 1px solid #00ff00; border-radius: 8px; font-size: 15px; transition: all 0.3s ease; color: #00ff00; } .input-group input:focus { outline: none; box-shadow: 0 0 10px #00ff00; background: rgba(0, 40, 0, 0.5); } .btn-group { display: flex; gap: 10px; margin-top: 25px; } .btn { padding: 12px 24px; border: 1px solid #00ff00; border-radius: 8px; font-size: 15px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; background: transparent; color: #00ff00; text-shadow: 0 0 5px #00ff00; } .btn-next { margin-left: auto; } .btn:hover { background: rgba(0, 255, 0, 0.1); box-shadow: 0 0 15px #00ff00; } .form-title { text-align: center; margin-bottom: 25px; color: #00ff00; font-size: 24px; font-weight: 600; text-shadow: 0 0 10px #00ff00; } @keyframes glitch { 0% { transform: translate(0); } 20% { transform: translate(-2px, 2px); } 40% { transform: translate(-2px, -2px); } 60% { transform: translate(2px, 2px); } 80% { transform: translate(2px, -2px); } 100% { transform: translate(0); } } input::placeholder { color: rgba(0, 255, 0, 0.5); }
JS
Copy
// script.js // Matrix yağmur efekti için canvas ayarları const canvas = document.getElementById('matrix'); const ctx = canvas.getContext('2d'); // Canvas boyutlarını pencere boyutuna ayarla function resizeCanvas() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; } resizeCanvas(); // Matrix karakterleri const letters = 'ABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZABCDEFGHIJKLMNOPQRSTUVXYZ'; const numbers = '0123456789'; const characters = letters + numbers; const fontSize = 10; const columns = canvas.width/fontSize; // Her sütun için damla pozisyonları const drops = Array(Math.floor(columns)).fill(1); // Matrix yağmur efekti çizim fonksiyonu function drawMatrix() { ctx.fillStyle = 'rgba(0, 0, 0, 0.05)'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = '#0F0'; ctx.font = fontSize + 'px monospace'; for(let i = 0; i < drops.length; i++) { const text = characters.charAt(Math.floor(Math.random() * characters.length)); ctx.fillText(text, i*fontSize, drops[i]*fontSize); if(drops[i]*fontSize > canvas.height && Math.random() > 0.975) drops[i] = 0; drops[i]++; } } // Matrix animasyonunu başlat setInterval(drawMatrix, 33); // Form işlemleri document.addEventListener('DOMContentLoaded', function() { // Form elementlerini seç const form = document.getElementById('signupForm'); const nextBtns = document.querySelectorAll('.btn-next'); const prevBtns = document.querySelectorAll('.btn-prev'); const formSteps = document.querySelectorAll('.form-step'); const progressSteps = document.querySelectorAll('.progress-step'); let formStepsNum = 0; // İleri butonları için event listener nextBtns.forEach(btn => { btn.addEventListener('click', () => { if (formStepsNum < formSteps.length - 1) { formStepsNum++; updateFormSteps(); updateProgressbar(); } }); }); // Geri butonları için event listener prevBtns.forEach(btn => { btn.addEventListener('click', () => { formStepsNum--; updateFormSteps(); updateProgressbar(); }); }); // Form adımlarını güncelle function updateFormSteps() { formSteps.forEach(step => { step.classList.remove('active'); }); formSteps[formStepsNum].classList.add('active'); } // İlerleme çubuğunu güncelle function updateProgressbar() { progressSteps.forEach((step, idx) => { if (idx <= formStepsNum) { step.classList.add('active'); } else { step.classList.remove('active'); } }); } // Form gönderimi form.addEventListener('submit', (e) => { e.preventDefault(); // Form verilerini işleme const formData = new FormData(form); const data = Object.fromEntries(formData); console.log('Form Data:', data); alert('Matrix\'e hoş geldiniz!'); }); }); // Pencere boyutu değiştiğinde canvas'ı yeniden boyutlandır window.addEventListener('resize', () => { resizeCanvas(); // Damla pozisyonlarını yeni boyuta göre güncelle drops.length = Math.floor(canvas.width/fontSize); drops.fill(1); });