WEBLEB
Inicio
Editora de código
Iniciar sesión
Pro
Español
English
Français
Español
Português
Deutsch
Italiano
हिंदी
Una página de inicio extraña
701
Metehan
Abrir en el editor
Publica tu código
Recomendado
19 May 2025
Relojes inteligentes de lujo que redefinen la elegancia y la tecnología
23 February 2024
Plantilla Gratuita de Página de Aterrizaje
28 December 2024
Un código de staticdata256
HTML
Copy
Dev Registration
home
about
services
contact
×
Developer Registration
I agree to the terms && conditions
npm install developer
// Already registered?
Login here
CSS
Copy
/* Main variables and reset */ :root { --bg-dark: #0a192f; --text-primary: #64ffda; --text-secondary: #8892b0; --hover-color: #64ffda33; } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Consolas', 'Courier New', monospace; } /* Body and background styles */ body { min-height: 100vh; display: flex; justify-content: center; align-items: center; background-color: var(--bg-dark); position: relative; color: var(--text-secondary); } /* Matrix background canvas */ .matrix-bg { position: fixed; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; opacity: 0.1; } /* Navigation styles */ .navbar { position: fixed; top: 0; left: 0; right: 0; background: rgba(10, 25, 47, 0.9); padding: 1rem; border-bottom: 1px solid var(--text-primary); z-index: 1000; } .nav-links { display: flex; justify-content: flex-end; gap: 2rem; max-width: 1200px; margin: 0 auto; } .nav-links a { color: var(--text-secondary); text-decoration: none; font-size: 1rem; transition: color 0.3s ease; position: relative; } .nav-links a:hover { color: var(--text-primary); } .nav-links a::before { content: '>'; color: var(--text-primary); margin-right: 5px; opacity: 0; transition: opacity 0.3s ease; } .nav-links a:hover::before { opacity: 1; } /* Registration container styles */ .registration-container { background: rgba(10, 25, 47, 0.95); padding: 2.5rem; border-radius: 8px; border: 1px solid var(--text-primary); width: 90%; max-width: 450px; position: relative; z-index: 10; box-shadow: 0 0 20px var(--hover-color); } /* Close button styles */ .close-btn { position: absolute; top: 1rem; right: 1rem; background: none; border: none; color: var(--text-secondary); cursor: pointer; font-family: monospace; font-size: 1.5rem; } .close-btn:hover { color: var(--text-primary); } /* Heading styles */ h1 { color: var(--text-primary); margin-bottom: 2rem; font-size: 1.5rem; position: relative; } h1::before { content: '// '; color: var(--text-secondary); } /* Form group styles */ .form-group { margin-bottom: 1.5rem; position: relative; } .form-group::before { content: 'const'; position: absolute; left: -45px; color: #ff79c6; font-size: 0.9rem; top: 50%; transform: translateY(-50%); opacity: 0.7; } .form-group input { width: 100%; padding: 0.8rem; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--text-secondary); border-radius: 4px; color: #fff; font-size: 1rem; transition: all 0.3s ease; } .form-group input:focus { outline: none; border-color: var(--text-primary); box-shadow: 0 0 10px var(--hover-color); } .form-group input::placeholder { color: var(--text-secondary); opacity: 0.7; } /* Checkbox group styles */ .checkbox-group { display: flex; align-items: center; gap: 0.5rem; margin: 1.5rem 0; padding-left: 1rem; } .checkbox-group input[type="checkbox"] { width: 1.2rem; height: 1.2rem; background: transparent; border: 1px solid var(--text-secondary); cursor: pointer; } /* Register button styles */ .register-btn { width: 100%; padding: 1rem; background: transparent; color: var(--text-primary); border: 1px solid var(--text-primary); border-radius: 4px; font-size: 1rem; cursor: pointer; transition: all 0.3s ease; position: relative; overflow: hidden; } .register-btn::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: var(--hover-color); transform: translate(-50%, -50%); border-radius: 50%; transition: width 0.6s, height 0.6s; } .register-btn:hover::before { width: 300px; height: 300px; } .register-btn span { position: relative; z-index: 1; } /* Login link styles */ .login-link { text-align: center; margin-top: 1.5rem; font-size: 0.9rem; } .login-link a { color: var(--text-primary); text-decoration: none; } .login-link a:hover { text-decoration: underline; } /* Typing cursor animation */ .typed-cursor { display: inline-block; width: 2px; height: 1.2em; background: var(--text-primary); margin-left: 5px; animation: blink 1s infinite; } @keyframes blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } /* Responsive styles */ @media (max-width: 768px) { .registration-container { padding: 2rem; margin: 1rem; } .form-group::before { display: none; } }
JS
Copy
// Matrix rain effect implementation class MatrixRain { constructor() { this.canvas = document.getElementById('matrix'); this.ctx = this.canvas.getContext('2d'); // Set canvas dimensions this.canvas.width = window.innerWidth; this.canvas.height = window.innerHeight; // Matrix characters this.chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@#$%^&*()*&^%'.split(''); // Configuration this.fontSize = 14; this.columns = this.canvas.width / this.fontSize; this.drops = new Array(Math.floor(this.columns)).fill(1); // Bind methods this.draw = this.draw.bind(this); this.handleResize = this.handleResize.bind(this); // Initialize this.init(); } init() { // Start animation setInterval(this.draw, 50); // Add resize listener window.addEventListener('resize', this.handleResize); } draw() { // Create fade effect this.ctx.fillStyle = 'rgba(10, 25, 47, 0.05)'; this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height); // Set character style this.ctx.fillStyle = '#64ffda'; this.ctx.font = this.fontSize + 'px monospace'; // Draw characters for (let i = 0; i < this.drops.length; i++) { const text = this.chars[Math.floor(Math.random() * this.chars.length)]; this.ctx.fillText(text, i * this.fontSize, this.drops[i] * this.fontSize); // Reset drop when it reaches bottom if (this.drops[i] * this.fontSize > this.canvas.height && Math.random() > 0.975) { this.drops[i] = 0; } this.drops[i]++; } } handleResize() { this.canvas.width = window.innerWidth; this.canvas.height = window.innerHeight; this.columns = this.canvas.width / this.fontSize; this.drops = new Array(Math.floor(this.columns)).fill(1); } } // Form handling class class RegistrationForm { constructor() { this.form = document.getElementById('registrationForm'); this.closeBtn = document.querySelector('.close-btn'); this.init(); } init() { // Add form submit handler this.form.addEventListener('submit', this.handleSubmit.bind(this)); // Add close button handler this.closeBtn.addEventListener('click', this.handleClose.bind(this)); // Add input animations this.addInputEffects(); } handleSubmit(e) { e.preventDefault(); const formData = { username: document.getElementById('username').value, email: document.getElementById('email').value, password: document.getElementById('password').value }; if (this.validateForm(formData)) { this.submitForm(formData); } } validateForm(data) { return data.username && data.email && data.password; } submitForm(data) { // Log registration data in console in a dev-friendly format console.log(` // User Registration Success { username: "${data.username}", email: "${data.email}", timestamp: "${new Date().toISOString()}" }`); // Show success message alert('Registration successful! Check console for details.'); // Reset form this.form.reset(); } handleClose() { document.querySelector('.registration-container').style.display = 'none'; } addInputEffects() { const inputs = this.form.querySelectorAll('input[type="text"], input[type="email"], input[type="password"]'); inputs.forEach(input => { // Add focus effects input.addEventListener('focus', () => { input.parentElement.classList.add('focused'); }); input.addEventListener('blur', () => { input.parentElement.classList.remove('focused'); }); }); } } // Cursor animation class class TerminalCursor { constructor() { this.cursor = document.querySelector('.typed-cursor'); this.init(); } init() { // Cursor is already animated via CSS // This class can be extended to add more terminal-like effects } } // Initialize everything when DOM is loaded document.addEventListener('DOMContentLoaded', () => { const matrixRain = new MatrixRain(); const registrationForm = new RegistrationForm(); const terminalCursor = new TerminalCursor(); });