Tech Hero Section
Home
Snippets
Tech Hero Section
HTML
CSS
JS
<nav> <div class="logo"><div class="logo-dot"></div>INTEGRA</div> <div class="nav-links"> <a href="#">Platform</a> <a href="#">Solutions</a> <a href="#">Enterprise</a> <a href="#">Pricing</a> </div> </nav> <canvas id="particle-canvas"></canvas> <main class="hero-container"> <div class="badge animate-fade-up" style="animation-delay: 0s;"> <span style="display:inline-block; width:6px; height:6px; background:#10b981; border-radius:50%;"></span> v3.2 Platform Update Available </div> <h1 class="animate-fade-up" style="animation-delay: 0.1s;"> Scale network infrastructure with precision intelligence. </h1> <p class="subtitle animate-fade-up" style="animation-delay: 0.2s;"> Automate telemetry analytics, identify database anomalies, and deploy secure distributed architecture instantly. </p> <div class="cta-group animate-fade-up" style="animation-delay: 0.3s;"> <a href="#" class="btn btn-primary">Start Free Trial</a> <a href="#" class="btn btn-secondary">Schedule Architecture Demo</a> </div> </main>
:root { --bg: #0b0f19; --text-main: #ffffff; --text-muted: #8fa0dd; --primary: #2563eb; --primary-hover: #1d4ed8; --surface: rgba(17, 24, 39, 0.7); --border: rgba(255, 255, 255, 0.05); } body { margin: 0; background-color: var(--bg); color: var(--text-main); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; overflow-x: hidden; min-height: 100vh; display: flex; flex-direction: column; } canvas { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; pointer-events: none; } nav { position: relative; z-index: 10; display: flex; justify-content: space-between; align-items: center; padding: 24px 40px; max-width: 1400px; width: 100%; margin: 0 auto; box-sizing: border-box; } .logo { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 18px; letter-spacing: -0.5px; } .logo-dot { width: 8px; height: 8px; background: var(--primary); border-radius: 50%; } .nav-links { display: flex; gap: 32px; font-size: 14px; font-weight: 500; } .nav-links a { color: #94a3b8; text-decoration: none; transition: color 0.2s; } .nav-links a:hover { color: var(--text-main); } .hero-container { position: relative; z-index: 5; flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 40px 24px 80px; max-width: 1000px; margin: 0 auto; box-sizing: border-box; } .animate-fade-up { opacity: 0; transform: translateY(20px); animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; } @keyframes fadeUp { to { opacity: 1; transform: translateY(0); } } .badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; margin-bottom: 24px; background: rgba(37, 99, 235, 0.1); border: 1px solid rgba(37, 99, 235, 0.2); border-radius: 100px; font-size: 13px; font-weight: 500; color: #60a5fa; } h1 { max-width: 850px; margin: 0 auto 20px; font-size: clamp(36px, 7vw, 64px); font-weight: 700; letter-spacing: -1.5px; line-height: 1.15; } p.subtitle { max-width: 600px; margin: 0 auto 32px; font-size: clamp(16px, 3vw, 19px); line-height: 1.6; color: #94a3b8; } .cta-group { display: flex; gap: 16px; justify-content: center; } .btn { display: inline-block; padding: 12px 28px; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: all 0.2s ease; } .btn-primary { background: var(--primary); color: #ffffff; border: none; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); } .btn-primary:hover { background: var(--primary-hover); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(37, 99, 235, 0.4); } .btn-secondary { background: transparent; color: #f1f5f9; border: 1px solid rgba(255, 255, 255, 0.15); } .btn-secondary:hover { background: rgba(255, 255, 255, 0.05); border-color: rgba(255, 255, 255, 0.3); } @media (max-width: 768px) { nav { padding: 20px 24px; } .nav-links { display: none; } .hero-container { padding-top: 60px; } .cta-group { flex-direction: column; width: 100%; max-width: 300px; } .btn { text-align: center; } }
const canvas = document.getElementById('particle-canvas'); const ctx = canvas.getContext('2d'); let particles = []; const particleCount = 45; let mouse = { x: null, y: null, maxDist: 150 }; function init() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; particles = []; for (let i = 0; i < particleCount; i++) { particles.push({ x: Math.random() * canvas.width, y: Math.random() * canvas.height, vx: (Math.random() - 0.5) * 0.4, vy: (Math.random() - 0.5) * 0.4, radius: Math.random() * 1.5 + 1 }); } } function animate() { ctx.clearRect(0, 0, canvas.width, canvas.height); particles.forEach((p, index) => { p.x += p.vx; p.y += p.vy; if (p.x < 0 || p.x > canvas.width) p.vx *= -1; if (p.y < 0 || p.y > canvas.height) p.vy *= -1; ctx.fillStyle = 'rgba(148, 163, 184, 0.15)'; ctx.beginPath(); ctx.arc(p.x, p.y, p.radius, 0, Math.PI * 2); ctx.fill(); for (let j = index + 1; j < particles.length; j++) { const p2 = particles[j]; const dx = p.x - p2.x; const dy = p.y - p2.y; const dist = Math.sqrt(dx * dx + dy * dy); if (dist < 120) { ctx.strokeStyle = `rgba(37, 99, 235, ${0.15 * (1 - dist / 120)})`; ctx.lineWidth = 0.8; ctx.beginPath(); ctx.moveTo(p.x, p.y); ctx.lineTo(p2.x, p2.y); ctx.stroke(); } } }); requestAnimationFrame(animate); } window.addEventListener('resize', init); init(); animate();
Ad #1
Ad #2
Scroll to Top