twitch / index.html
hackerGamer5's picture
Add 3 files
88a7518 verified
Raw History Blame Contribute Delete
8.1 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Volto Ja Twitch Banner</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
@keyframes float {
0%, 100% { transform: translateY(0) rotate(-1deg); }
50% { transform: translateY(-15px) rotate(1deg); }
}
@keyframes pulse {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.05); }
}
@keyframes shine {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
@keyframes border-glow {
0%, 100% { box-shadow: 0 0 15px 5px rgba(0, 122, 255, 0.5); }
50% { box-shadow: 0 0 25px 8px rgba(0, 122, 255, 0.8); }
}
@keyframes text-float {
0%, 100% {
transform: translateY(0) rotate(-1deg) scale(1);
text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
}
25% {
transform: translateY(-15px) rotate(2deg) scale(1.05);
text-shadow: 0 5px 20px rgba(255, 255, 255, 0.8);
}
50% {
transform: translateY(0) rotate(3deg) scale(1);
text-shadow: 0 0 15px rgba(255, 255, 255, 0.6);
}
75% {
transform: translateY(10px) rotate(-2deg) scale(1.03);
text-shadow: 0 -5px 20px rgba(255, 255, 255, 0.8);
}
}
@keyframes letter-wobble {
0%, 100% { transform: translateY(0) rotate(0deg); }
25% { transform: translateY(-10px) rotate(5deg); }
50% { transform: translateY(0) rotate(-5deg); }
75% { transform: translateY(5px) rotate(3deg); }
}
@keyframes color-shift {
0% { color: #ffffff; }
25% { color: #a5d8ff; }
50% { color: #ffffff; }
75% { color: #74c0fc; }
100% { color: #ffffff; }
}
.streamer-name {
background: linear-gradient(90deg, #fff, #f0f0f0, #fff);
background-size: 200% auto;
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: shine 3s linear infinite, text-float 4s ease-in-out infinite;
display: inline-block;
transform-origin: center;
}
.letter-animation {
display: inline-block;
animation: letter-wobble 3s ease-in-out infinite, color-shift 5s linear infinite;
}
.twitch-blue {
background-color: #007aff;
}
.neon-border {
border: 3px solid #007aff;
box-shadow: 0 0 10px #007aff, inset 0 0 10px #007aff;
}
.follow-btn {
transition: all 0.3s ease;
}
.follow-btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 122, 255, 0.4);
}
.twitch-logo {
filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7));
}
.sparkle {
position: absolute;
background: white;
border-radius: 50%;
pointer-events: none;
transform: translate(-50%, -50%);
animation: sparkle-fade 1s forwards;
}
@keyframes sparkle-fade {
0% { transform: translate(-50%, -50%) scale(0); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(1); opacity: 0; }
}
</style>
</head>
<body class="bg-gray-900 min-h-screen flex items-center justify-center p-4">
<!-- Main banner container -->
<div class="relative w-full max-w-4xl h-64 bg-gradient-to-br from-blue-800 via-blue-900 to-blue-800 rounded-xl overflow-hidden border-2 border-blue-700 shadow-2xl banner-container" style="animation: border-glow 3s ease-in-out infinite;">
<!-- Background pattern -->
<div class="absolute inset-0 opacity-10" style="background-image: radial-gradient(circle, #007aff 1px, transparent 1px); background-size: 20px 20px;"></div>
<!-- Floating elements -->
<div class="absolute top-1/4 left-1/4 w-8 h-8 bg-blue-400 rounded-full opacity-30" style="animation: float 6s ease-in-out infinite;"></div>
<div class="absolute bottom-1/3 right-1/4 w-6 h-6 bg-cyan-400 rounded-full opacity-30" style="animation: float 7s ease-in-out infinite 1s;"></div>
<!-- Content container -->
<div class="relative h-full flex flex-col justify-between p-6">
<!-- Top section with Twitch logo -->
<div class="flex justify-between items-start">
<!-- Twitch logo box -->
<div class="flex items-center bg-black bg-opacity-70 px-4 py-2 rounded-lg neon-border">
<i class="fab fa-twitch text-white text-2xl mr-2 twitch-logo"></i>
<span class="text-white font-bold">Twitch</span>
</div>
</div>
<!-- Center section with streamer name -->
<div class="flex-grow flex items-center justify-center">
<div class="text-center">
<h1 class="text-7xl font-bold mb-2" id="streamer-name">
<span class="letter-animation" style="animation-delay: 0s">V</span>
<span class="letter-animation" style="animation-delay: 0.1s">O</span>
<span class="letter-animation" style="animation-delay: 0.2s">L</span>
<span class="letter-animation" style="animation-delay: 0.3s">T</span>
<span class="letter-animation" style="animation-delay: 0.4s">O</span>
<span class="letter-animation" style="animation-delay: 0.5s"> </span>
<span class="letter-animation" style="animation-delay: 0.6s">J</span>
<span class="letter-animation" style="animation-delay: 0.7s">A</span>
</h1>
</div>
</div>
<!-- Bottom section with follow button -->
<div class="flex justify-center">
<!-- Follow button -->
<button class="follow-btn bg-blue-600 hover:bg-blue-700 text-white font-bold py-3 px-8 rounded-full flex items-center transition-all duration-300" style="animation: pulse 2s ease-in-out infinite;">
<i class="fas fa-heart mr-2"></i>
Follow
</button>
</div>
</div>
<!-- Interactive sparkles (added with JavaScript) -->
<div id="sparkle-container" class="absolute inset-0 pointer-events-none"></div>
</div>
<script>
// Add sparkle effect on click
document.querySelector('.banner-container').addEventListener('click', function(e) {
const sparkle = document.createElement('div');
sparkle.className = 'sparkle';
sparkle.style.left = (e.pageX - this.getBoundingClientRect().left) + 'px';
sparkle.style.top = (e.pageY - this.getBoundingClientRect().top) + 'px';
sparkle.style.width = sparkle.style.height = Math.random() * 20 + 5 + 'px';
document.getElementById('sparkle-container').appendChild(sparkle);
// Remove sparkle after animation
setTimeout(() => {
sparkle.remove();
}, 1000);
});
// Follow button animation
const followBtn = document.querySelector('.follow-btn');
followBtn.addEventListener('mouseenter', () => {
followBtn.style.animation = 'none';
setTimeout(() => {
followBtn.style.animation = 'pulse 2s ease-in-out infinite';
</html>