Subscribe Our Channel

header ads

Search This Blog

Showing posts with label html5. Show all posts
Showing posts with label html5. Show all posts

Saturday, August 1, 2026

Happy Maha Shivratri Greeting Card Animated Pure HTML & CSS Page

Happy Maha Shivratri Greeting Card Animated Pure HTML & CSS Page



In this step-by-step tutorial, learn how to build an animated Happy Maha Shivratri Greeting Card using 100% Pure HTML5 and CSS3—completely without JavaScript, external image assets, or third-party links!

ЁЯМЯ Key Project Features:

  • Dynamic Tricolor Gradient Background: Uses a continuous CSS linear gradient animation (@keyframes gradientShift) that shifts seamlessly between saffron, white, and green tones.

  • Pulsing Glowing Om (реР) Centerpiece: Styled with multi-layered CSS drop-shadows and breathing scale transformations to create a spiritual glow.

  • Glassmorphism Dark Card: Features a semi-transparent backdrop (rgba), gold dashed border accents, and high-contrast typography.

  • Gold Gradient Text & Badge: Uses background text clipping (-webkit-background-clip: text) for gold metallic headings alongside a clean || реР рдирдоः рд╢िрд╡ाрдп || mantra badge.

  • 100% Offline & Pure CSS: Single-file code requiring zero external CDN scripts or JS logic—lightweight, responsive, and easy to customize!

This project is ideal for beginner-to-intermediate web design students wanting to practice modern CSS layouts, text gradients, keyframe animations, and festive greeting web pages!

Don't forget to Like, Share, and Subscribe to Computer Soft Skills for more creative coding tutorials!


 <!-- WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS YT CHANNEL ------>

<!-- Complete, single-file HTML & CSS code to wish Happy Maha Shivratri  ------>


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Happy Maha Shivratri</title>

    

    <style>

        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            min-height: 100vh;

            display: flex;

            justify-content: center;

            align-items: center;

            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

            overflow: hidden;

            

            /* Indian Tricolor Background (Saffron -> White -> Green) */

            background: linear-gradient(135deg, 

                #FF9933 0%, 

                #FFB366 25%, 

                #FFFFFF 50%, 

                #85E085 75%, 

                #138808 100%

            );

            background-size: 200% 200%;

            animation: gradientShift 8s ease infinite alternate;

        }


        /* Animated movement for the tricolor background */

        @keyframes gradientShift {

            0% { background-position: 0% 0%; }

            100% { background-position: 100% 100%; }

        }


        /* ======= MAIN CARD ======= */

        .card {

            position: relative;

            background: rgba(13, 17, 23, 0.85); /* Dark transparent backdrop */

            border: 2px solid rgba(255, 215, 0, 0.5);

            border-radius: 20px;

            padding: 50px 40px;

            text-align: center;

            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6),

                        0 0 30px rgba(255, 153, 51, 0.3);

            max-width: 550px;

            width: 90%;

            z-index: 1;

        }


        /* Decorative Gold Border Accent */

        .card::before {

            content: '';

            position: absolute;

            top: 10px;

            left: 10px;

            right: 10px;

            bottom: 10px;

            border: 1px dashed rgba(255, 215, 0, 0.4);

            border-radius: 15px;

            pointer-events: none;

        }


        /* ======= OM LOGO ======= */

        .om-container {

            position: relative;

            margin: 0 auto 20px auto;

            width: 120px;

            height: 120px;

            display: flex;

            justify-content: center;

            align-items: center;

        }


        .om-symbol {

            font-family: Georgia, 'Times New Roman', serif;

            font-size: 95px;

            font-weight: bold;

            color: #FF9933;

            text-shadow: 

                0 0 10px #FF9933,

                0 0 20px #FF9933,

                0 0 40px #FF6600;

            animation: pulseGlow 2.5s infinite alternate ease-in-out;

        }


        @keyframes pulseGlow {

            0% {

                transform: scale(1);

                filter: drop-shadow(0 0 10px rgba(255, 153, 51, 0.6));

            }

            100% {

                transform: scale(1.08);

                filter: drop-shadow(0 0 25px rgba(255, 215, 0, 0.9));

            }

        }


        /* ======= TYPOGRAPHY ======= */

        .subtitle {

            font-size: 1.1rem;

            letter-spacing: 5px;

            color: #ffd700;

            text-transform: uppercase;

            margin-bottom: 10px;

            font-weight: 800;

        }


        .title {

            font-family: Impact, 'Arial Black', sans-serif;

            font-size: 2.8rem;

            line-height: 1.2;

            letter-spacing: 2px;

            margin-bottom: 15px;

            

            /* Gold Gradient Text */

            background: linear-gradient(180deg, #FFFFFF 0%, #FFD700 100%);

            -webkit-background-clip: text;

            -webkit-text-fill-color: transparent;

            filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.8));

        }


        .divider {

            width: 100px;

            height: 2px;

            background: linear-gradient(90deg, transparent, #FFD700, transparent);

            margin: 20px auto;

        }


        .wishes {

            color: #e0e0e0;

            font-size: 1.05rem;

            line-height: 1.8;

            font-weight: 400;

        }


        .mantra {

            margin-top: 25px;

            font-family: 'Arial Unicode MS', 'Segoe UI', sans-serif;

            font-size: 1.4rem;

            font-weight: bold;

            color: #138808;

            background: rgba(255, 255, 255, 0.95);

            padding: 8px 25px;

            border-radius: 50px;

            display: inline-block;

            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);

        }

    </style>

</head>

<body>


    <div class="card">

        <!-- Om Logo with Glowing Effect -->

        <div class="om-container">

            <div class="om-symbol">реР</div>

        </div>


        <!-- Greeting Content -->

        <div class="subtitle">HAR HAR MAHADEV</div>

        <div class="title">HAPPY MAHA SHIVRATRI</div>

        

        <div class="divider"></div>


        <p class="wishes">

            May Lord Shiva shower his divine blessings upon you and your family. 

            May this auspicious night bring peace, health, and eternal prosperity into your life.

        </p>


        <!-- Sacred Mantra Badge -->

        <div class="mantra">

            || реР рдирдоः рд╢िрд╡ाрдп ||

        </div>

    </div>


</body>

</html>

Fullscreen Glowing Tricolor Om Symbol Animation in Pure HTML & CSS

 Fullscreen Glowing Tricolor Om Symbol Animation in Pure HTML & CSS



In this step-by-step web design tutorial, learn how to create a breathtaking, responsive Fullscreen Glowing Om (реР) Symbol Animation using 100% Pure HTML5 and CSS3—completely without JavaScript or external libraries!

ЁЯМЯ Key Code Features:

  • Tricolor Animated Gradient: Renders vibrant Saffron, White, and Green stripes through CSS linear gradients with flowing @keyframes background shifts.

  • Glowing Upper Bindu: Features a high-contrast saffron and white dot with multi-layered glowing box-shadow animations that pulse independently above the crescent.

  • Fluid Responsive Scaling: Uses viewport-based typography (min(70vh, 70vw)) so the Om symbol automatically fits smartphones, tablets, and large 4K monitors.

  • Gentle Breathing Effect: Smooth scaling transforms create a relaxing, spiritual pulse animation on a dark background.

  • 100% Offline & Pure CSS: Single-file codebase requiring no JavaScript, framework setup, or external dependencies.

This project is perfect for web design beginners and CSS enthusiasts looking to master CSS text gradients, custom background clipping, keyframe animations, and drop shadows!

Don't forget to Like, Share, and Subscribe to Computer Soft Skills for more creative coding tutorials!

<!-- WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS YT CHANNEL ------>

<!-- Complete, single-file HTML & CSS code to display a fullscreen glowing реР (Om) symbol ------>


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Fullscreen Tricolor Om with Visible Bindu</title>

    

    <style>

        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            background-color: #0d1117;

            display: flex;

            justify-content: center;

            align-items: center;

            min-height: 100vh;

            overflow: hidden;

            font-family: Georgia, 'Times New Roman', serif;

        }


        /* ======= FULLSCREEN OM CONTAINER ======= */

        .om-container {

            display: flex;

            justify-content: center;

            align-items: center;

            width: 100vw;

            height: 100vh;

            position: relative;

        }


        /* ======= WRAPPER FOR OM & BINDU ======= */

        .om-wrapper {

            position: relative;

            display: inline-block;

        }


        /* ======= TRICOLOR ANIMATED OM SYMBOL ======= */

        .om-symbol {

            font-size: min(70vh, 70vw);

            font-weight: bold;

            line-height: 1;

            user-select: none;

            display: block;


            /* Indian Flag Tricolor Gradient (Saffron -> White -> Green) */

            background: linear-gradient(

                180deg, 

                #FF9933 0%, 

                #FF9933 35%, 

                #FFFFFF 45%, 

                #FFFFFF 55%, 

                #138808 65%, 

                #138808 100%

            );

            background-size: 100% 200%;

            -webkit-background-clip: text;

            -webkit-text-fill-color: transparent;


            /* Glowing Drop Shadows */

            filter: drop-shadow(0 0 25px rgba(255, 153, 51, 0.6)) 

                    drop-shadow(0 0 45px rgba(19, 136, 8, 0.5));


            /* Smooth Pulse and Gradient Flow Animations */

            animation: 

                gradientMove 4s ease-in-out infinite alternate,

                pulseScale 3s ease-in-out infinite alternate;

        }


        /* ======= HIGHLY VISIBLE CLEAR UPPER BINDU ======= */

        .upper-bindu {

            position: absolute;

            top: -2%;            /* Placed clearly above the Om symbol */

            right: 25%;          /* Centered right above the top crescent curve */

            width: min(7vh, 7vw);

            height: min(7vh, 7vw);

            background: #FF9933; /* Vibrant Saffron Core */

            border: 3px solid #FFFFFF; /* High-contrast white ring */

            border-radius: 50%;

            z-index: 10;

            

            /* Powerful Multi-layer Glow */

            box-shadow: 

                0 0 15px #FF9933, 

                0 0 30px #FFD700, 

                0 0 50px #FFFFFF,

                0 0 70px #FF9933;

            

            animation: binduPulse 1.8s ease-in-out infinite alternate;

        }


        /* ======= GRADIENT ANIMATION ======= */

        @keyframes gradientMove {

            0% {

                background-position: 0% 0%;

            }

            100% {

                background-position: 0% 100%;

            }

        }


        /* ======= GENTLE BREATHING/PULSE ANIMATION ======= */

        @keyframes pulseScale {

            0% {

                transform: scale(0.96);

            }

            100% {

                transform: scale(1.04);

            }

        }


        /* ======= BINDU PULSE & GLOW ANIMATION ======= */

        @keyframes binduPulse {

            0% {

                transform: scale(0.9);

                box-shadow: 

                    0 0 10px #FF9933, 

                    0 0 20px #FFD700, 

                    0 0 35px #FFFFFF;

            }

            100% {

                transform: scale(1.25);

                box-shadow: 

                    0 0 25px #FF9933, 

                    0 0 45px #FFD700, 

                    0 0 70px #FFFFFF,

                    0 0 90px #FF9933;

            }

        }

    </style>

</head>

<body>


    <div class="om-container">

        <div class="om-wrapper">

            <!-- Clear, High-Contrast Upper Bindu -->

            <div class="upper-bindu"></div>

            <!-- Om Symbol -->

            <div class="om-symbol">реР</div>

        </div>

    </div>


</body>

</html>

Happy Raksha Bandhan Greeting Card Animation using HTML& CSS

 Happy Raksha Bandhan Greeting Card Animation using HTML& CSS 



In this step-by-step tutorial, learn how to build a stunning, interactive Happy Raksha Bandhan Greeting Card using 100% Pure HTML5 and CSS3—completely without JavaScript or external libraries!

ЁЯМЯ Key Features Covered:

  • Pure CSS Animated Rakhi: Built with floating CSS animations (@keyframes floatRakhi), a spinning petal ring, and multi-layered radial gradients for the center gem.

  • Glowing Silk Thread (Dhaaga): Rendered using multi-color linear gradients and box-shadow glowing effects.

  • Modern Glassmorphism UI: Features a dark glass card with backdrop-filter: blur(), glowing gold borders, and elegant ambient background radial glows.

  • Gradient Typography: Beautiful gold text styling created with -webkit-background-clip: text and custom fallbacks.

  • Zero External Dependencies: Built entirely with Vanilla HTML and CSS—runs fast, offline, and is fully responsive on mobile and desktop screens.

This project is perfect for web developers and coding enthusiasts wanting to practice modern CSS styling, keyframe animations, glassmorphism UI design, and festive greeting web pages!

Don't forget to Like, Share, and Subscribe to Computer Soft Skills for more creative coding content!


<!-- WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS YT CHANNEL ------>

<!-- Complete, single-file HTML & CSS web page for Raksha Bandhan. ------>


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Happy Raksha Bandhan</title>

    

    <style>

        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            min-height: 100vh;

            display: flex;

            justify-content: center;

            align-items: center;

            background-color: #0c0814;

            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

            overflow-x: hidden;

            padding: 20px;

        }


        /* ======= AMBIENT TRICOLOR BACKGROUND GLOW ======= */

        .glow-bg {

            position: fixed;

            top: 50%;

            left: 50%;

            transform: translate(-50%, -50%);

            width: 600px;

            height: 600px;

            background: radial-gradient(circle, rgba(255, 153, 51, 0.25) 0%, rgba(212, 175, 55, 0.15) 40%, rgba(19, 136, 8, 0.1) 70%, transparent 100%);

            filter: blur(50px);

            z-index: 0;

            pointer-events: none;

            animation: pulseGlow 6s ease-in-out infinite alternate;

        }


        @keyframes pulseGlow {

            0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.8; }

            100% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }

        }


        /* ======= MAIN GLASS CARD ======= */

        .card {

            position: relative;

            z-index: 1;

            background: rgba(22, 16, 34, 0.75);

            border: 2px solid rgba(212, 175, 55, 0.4);

            border-radius: 24px;

            padding: 50px 30px;

            max-width: 650px;

            width: 100%;

            text-align: center;

            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6),

                        0 0 30px rgba(212, 175, 55, 0.2);

            backdrop-filter: blur(15px);

        }


        /* Decorative Gold Corner Borders */

        .card::before {

            content: '';

            position: absolute;

            top: 12px;

            left: 12px;

            right: 12px;

            bottom: 12px;

            border: 1px dashed rgba(212, 175, 55, 0.35);

            border-radius: 18px;

            pointer-events: none;

        }


        /* ======= RAKHI CONTAINER ======= */

        .rakhi-wrapper {

            position: relative;

            width: 100%;

            height: 180px;

            display: flex;

            justify-content: center;

            align-items: center;

            margin-bottom: 25px;

        }


        /* SILK THREAD (DHAAGA) */

        .thread {

            position: absolute;

            width: 100%;

            height: 8px;

            background: linear-gradient(90deg, 

                #ff4500 0%, 

                #ffd700 25%, 

                #ff1493 50%, 

                #ffd700 75%, 

                #ff4500 100%

            );

            border-radius: 4px;

            box-shadow: 0 0 10px rgba(255, 69, 0, 0.8),

                        0 0 15px rgba(255, 215, 0, 0.6);

        }


        /* RAKHI CENTER DIAL */

        .rakhi-dial {

            position: relative;

            width: 140px;

            height: 140px;

            background: radial-gradient(circle, #e6005c 0%, #80002a 100%);

            border-radius: 50%;

            display: flex;

            justify-content: center;

            align-items: center;

            border: 3px solid #ffd700;

            box-shadow: 0 0 25px rgba(255, 215, 0, 0.8),

                        inset 0 0 15px rgba(0, 0, 0, 0.5);

            z-index: 2;

            animation: floatRakhi 4s ease-in-out infinite alternate;

        }


        @keyframes floatRakhi {

            0% { transform: translateY(-5px) rotate(0deg); }

            100% { transform: translateY(5px) rotate(3deg); }

        }


        /* PETALS AROUND RAKHI */

        .petal-ring {

            position: absolute;

            width: 100%;

            height: 100%;

            border-radius: 50%;

            border: 2px dashed #ffd700;

            animation: spinRing 20s linear infinite;

        }


        @keyframes spinRing {

            100% { transform: rotate(360deg); }

        }


        /* INNER FLORAL DESIGN */

        .rakhi-inner {

            width: 90px;

            height: 90px;

            background: radial-gradient(circle, #ffd700 0%, #ff9933 100%);

            border-radius: 50%;

            display: flex;

            justify-content: center;

            align-items: center;

            border: 2px solid #ffffff;

            box-shadow: 0 0 10px rgba(255, 215, 0, 0.9);

        }


        .center-gem {

            width: 35px;

            height: 35px;

            background: radial-gradient(circle, #ffffff 0%, #ff0055 70%, #990033 100%);

            border-radius: 50%;

            border: 2px solid #ffd700;

            box-shadow: 0 0 12px #ff0055;

        }


        /* ======= TYPOGRAPHY ======= */

        .subtitle {

            font-size: 1rem;

            letter-spacing: 5px;

            color: #ffd700;

            text-transform: uppercase;

            font-weight: 700;

            margin-bottom: 8px;

        }


        .title {

            font-family: Georgia, 'Times New Roman', serif;

            font-size: 2.8rem;

            font-weight: bold;

            line-height: 1.2;

            margin-bottom: 20px;


            /* Gold Gradient Text */

            background: linear-gradient(180deg, #FFFFFF 0%, #FFD700 60%, #FF9933 100%);

            -webkit-background-clip: text;

            -webkit-text-fill-color: transparent;

            filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.8));

        }


        .divider {

            width: 120px;

            height: 2px;

            background: linear-gradient(90deg, transparent, #FFD700, transparent);

            margin: 0 auto 25px auto;

        }


        .message {

            color: #e2e0e7;

            font-size: 1.1rem;

            line-height: 1.8;

            font-weight: 300;

            margin-bottom: 30px;

        }


        .highlight {

            color: #ffd700;

            font-weight: bold;

        }


        /* ======= DECORATIVE BADGES ======= */

        .badge-container {

            display: flex;

            justify-content: center;

            gap: 15px;

            flex-wrap: wrap;

        }


        .badge {

            background: rgba(255, 215, 0, 0.1);

            border: 1px solid rgba(255, 215, 0, 0.4);

            color: #ffd700;

            padding: 8px 20px;

            border-radius: 50px;

            font-size: 0.9rem;

            letter-spacing: 1px;

            backdrop-filter: blur(5px);

            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);

        }

    </style>

</head>

<body>


    <!-- Background Ambient Glow -->

    <div class="glow-bg"></div>


    <!-- Main Card -->

    <div class="card">

        

        <!-- Animated Rakhi Display -->

        <div class="rakhi-wrapper">

            <!-- Silk Thread -->

            <div class="thread"></div>


            <!-- Rakhi Centerpiece -->

            <div class="rakhi-dial">

                <div class="petal-ring"></div>

                <div class="rakhi-inner">

                    <div class="center-gem"></div>

                </div>

            </div>

        </div>


        <!-- Greeting Text -->

        <div class="subtitle">CELEBRATING BOND OF LOVE</div>

        <div class="title">HAPPY RAKSHA BANDHAN</div>

        

        <div class="divider"></div>


        <p class="message">

            On this joyous occasion, celebrating the sacred thread that binds brothers and sisters in 

            <span class="highlight">unconditional love, protection, and lifelong memories</span>. 

            May this day bring endless happiness, laughter, and prosperity into your lives!

        </p>


        <!-- Festive Badges -->

        <div class="badge-container">

            <div class="badge">ЁЯМ╕ Love & Protection</div>

            <div class="badge">✨ Sacred Thread</div>

            <div class="badge">ЁЯОЙ Joyful Celebration</div>

        </div>


    </div>


</body>

</html>

Infinite Cosmic Zoom Animation Moon and Star using HTML & CSS Star & Moon Tunnel

Infinite Cosmic Zoom Animation Moon and Star using HTML & CSS Star & Moon Tunnel



In this step-by-step tutorial, learn how to build a hypnotic Infinite Star & Moon Zoom Tunnel Animation using 100% Pure HTML and CSS—with zero JavaScript!

ЁЯМЯ Project Highlights:

  • Seamless Infinite Zoom Loop: Staggers multiple CSS layer animations with calculated negative delays (0s, -3s, -6s) to form a smooth, endless cosmic tunnel.

  • 3D Perspective Scaling: Uses CSS @keyframes with transform: scale() and 3D rotation to create deep space optical illusions.

  • Pure CSS Crescent Moons: Renders detailed glowing crescent moons using CSS box-shadow and filter: drop-shadow().

  • Glowing Cosmic Effects: Features multi-layered text shadows and dashed orbit rings in neon cyan, gold, and purple hues.

  • Zero JavaScript Dependencies: Lightweight, self-contained single-file code that requires no JS libraries or external downloads.

This project is ideal for beginner-to-intermediate web developers looking to master CSS Keyframes, CSS Variables, 3D Transforms, and Box Shadow techniques!

If you enjoyed this tutorial, make sure to Like, Share, and Subscribe to Computer Soft Skills for more creative coding content!


 <!-- WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS YT CHANNEL ------>

<!-- Continuous, seamless infinite zoom effect combining glowing stars and moons into deep space ------>


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Infinite Star & Moon Zoom</title>

    

    <style>

        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            background-color: #030308;

            height: 100vh;

            width: 100vw;

            overflow: hidden;

            display: flex;

            justify-content: center;

            align-items: center;

        }


        /* ======= FULLSCREEN ZOOM CONTAINER ======= */

        .zoom-container {

            position: relative;

            width: 100vw;

            height: 100vh;

            display: flex;

            justify-content: center;

            align-items: center;

            perspective: 1000px;

        }


        /* ======= ZOOM LAYER BASE ======= */

        .zoom-layer {

            position: absolute;

            width: 400px;

            height: 400px;

            display: flex;

            justify-content: center;

            align-items: center;

            

            /* Infinite Scaling Animation */

            animation: infiniteZoom 9s linear infinite;

        }


        /* Offset timings for endless continuous zoom */

        .layer-1 { animation-delay: 0s; }

        .layer-2 { animation-delay: -3s; }

        .layer-3 { animation-delay: -6s; }


        /* ======= MOON & STAR ELEMENTS ======= */

        

        /* Central Crescent Moon */

        .moon {

            position: absolute;

            width: 120px;

            height: 120px;

            border-radius: 50%;

            box-shadow: -22px 12px 0 0 #ffd700;

            filter: drop-shadow(0 0 25px rgba(255, 215, 0, 0.8));

            transform: rotate(-15deg);

        }


        /* Orbiting Glowing Stars around Moon */

        .star {

            position: absolute;

            color: #ffffff;

            font-size: 2rem;

            text-shadow: 0 0 10px #ffffff, 0 0 25px #00e5ff, 0 0 45px #ba55d3;

            user-select: none;

        }


        /* Star Positions on Ring */

        .star-1 { top: 10%; left: 15%; font-size: 2.5rem; }

        .star-2 { top: 20%; right: 10%; font-size: 1.8rem; }

        .star-3 { bottom: 15%; left: 20%; font-size: 2.2rem; }

        .star-4 { bottom: 10%; right: 15%; font-size: 2.8rem; }

        .star-5 { top: -10%; left: 50%; font-size: 1.5rem; }


        /* Outer Orbit Ring */

        .ring {

            position: absolute;

            width: 100%;

            height: 100%;

            border-radius: 50%;

            border: 1px dashed rgba(255, 255, 255, 0.25);

            box-shadow: inset 0 0 30px rgba(0, 229, 255, 0.2), 0 0 30px rgba(186, 85, 211, 0.2);

        }


        /* ======= INFINITE ZOOM ANIMATION ======= */

        @keyframes infiniteZoom {

            0% {

                transform: scale(0.01) rotate(0deg);

                opacity: 0;

            }

            15% {

                opacity: 1;

            }

            85% {

                opacity: 1;

            }

            100% {

                transform: scale(10) rotate(90deg);

                opacity: 0;

            }

        }

    </style>

</head>

<body>


    <div class="zoom-container">

        <!-- Layer 1 -->

        <div class="zoom-layer layer-1">

            <div class="ring"></div>

            <div class="moon"></div>

            <div class="star star-1">✦</div>

            <div class="star star-2">★</div>

            <div class="star star-3">✧</div>

            <div class="star star-4">✦</div>

            <div class="star star-5">★</div>

        </div>


        <!-- Layer 2 -->

        <div class="zoom-layer layer-2">

            <div class="ring" style="border-color: rgba(255, 215, 0, 0.3);"></div>

            <div class="moon" style="box-shadow: -22px 12px 0 0 #ffffff; filter: drop-shadow(0 0 25px rgba(255, 255, 255, 0.9));"></div>

            <div class="star star-1" style="color: #ffd700;">★</div>

            <div class="star star-2" style="color: #ffffff;">✦</div>

            <div class="star star-3" style="color: #ffd700;">✦</div>

            <div class="star star-4" style="color: #ffffff;">✧</div>

            <div class="star star-5" style="color: #ffd700;">★</div>

        </div>


        <!-- Layer 3 -->

        <div class="zoom-layer layer-3">

            <div class="ring" style="border-color: rgba(0, 229, 255, 0.3);"></div>

            <div class="moon" style="box-shadow: -22px 12px 0 0 #00e5ff; filter: drop-shadow(0 0 25px rgba(0, 229, 255, 0.9));"></div>

            <div class="star star-1" style="color: #ba55d3;">✧</div>

            <div class="star star-2" style="color: #00e5ff;">★</div>

            <div class="star star-3" style="color: #ba55d3;">★</div>

            <div class="star star-4" style="color: #00e5ff;">✦</div>

            <div class="star star-5" style="color: #ba55d3;">✧</div>

        </div>

    </div>


</body>

</html>

Interactive Fluid Rainbow Cursor Trail & Glowing Particle Flow in HTML5 Canvas and css & JS

 Interactive Fluid Rainbow Cursor Trail & Glowing Particle Flow in HTML5 Canvas and css and JS



In this step-by-step tutorial, you will learn how to build an interactive fluid rainbow cursor trail animation using HTML5 Canvas, CSS3, and JavaScript!

ЁЯМЯ Key Code Features:

  • HTML5 Canvas & HSL Color Cycling: Smoothly cycles through neon spectrum colors using hsl() as you move your mouse or swipe on touchscreens.

  • Physics & Bouncing Edges: Particles shoot across the viewport at randomized speeds and bounce off screen edges for maximum screen coverage.

  • Glow & Trail Effects: Uses Canvas shadowBlur for glowing particle auras combined with semi-transparent background clearing (rgba) for silky motion tails.

  • Fully Responsive & Mobile-Friendly: Dynamically resizes to fill any window and includes full touch-event support (touchmove).

  • Zero External Dependencies: Built completely with pure Vanilla JavaScript—no libraries, CDNs, or heavy frameworks needed!

This project is fantastic for beginner to intermediate developers looking to learn JavaScript Object-Oriented Programming (OOP) classes, HTML5 Canvas animation loops (requestAnimationFrame), and interactive particle physics.

Don't forget to Like, Share, and Subscribe to Computer Soft Skills for more creative coding tutorials!


<!-- WELCOME ALL OF YOU ON COMPUTER SOFT SKILLS YT CHANNEL ------>

<!-- single-file HTML, CSS and JavaScript web page that creates an interactive fluid rainbow cursor trail. ------>


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="utf-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Fullscreen Multi-Color Flow</title>

    

    <style>

        * {

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }


        body {

            background-color: #030308;

            height: 100vh;

            width: 100vw;

            overflow: hidden;

            cursor: crosshair;

        }


        canvas {

            display: block;

            position: absolute;

            top: 0;

            left: 0;

            width: 100%;

            height: 100%;

        }

    </style>

</head>

<body>


    <canvas id="screenCanvas"></canvas>


    <script>

        const canvas = document.getElementById('screenCanvas');

        const ctx = canvas.getContext('2d');


        // Resize canvas to fill window

        function resizeCanvas() {

            canvas.width = window.innerWidth;

            canvas.height = window.innerHeight;

        }

        resizeCanvas();

        window.addEventListener('resize', resizeCanvas);


        const particles = [];

        let hue = 0;


        // Particle class designed to travel across the whole screen

        class FullscreenParticle {

            constructor(x, y) {

                this.x = x;

                this.y = y;

                // Larger initial particle size

                this.size = Math.random() * 12 + 6;

                

                // High velocity angles to shoot particles across the full screen

                const angle = Math.random() * Math.PI * 2;

                const speed = Math.random() * 8 + 3;

                this.speedX = Math.cos(angle) * speed;

                this.speedY = Math.sin(angle) * speed;


                // Color cycling

                this.color = `hsl(${hue}, 100%, 65%)`;

                this.alpha = 1;

                this.decay = Math.random() * 0.008 + 0.004; // Slow fade so they travel far

            }


            update() {

                this.x += this.speedX;

                this.y += this.speedY;


                // Bounce off screen edges to fill whole screen

                if (this.x <= 0 || this.x >= canvas.width) {

                    this.speedX *= -1;

                }

                if (this.y <= 0 || this.y >= canvas.height) {

                    this.speedY *= -1;

                }


                // Slow decrease in size and alpha transparency

                if (this.size > 0.3) this.size -= 0.04;

                this.alpha -= this.decay;

            }


            draw() {

                ctx.save();

                ctx.globalAlpha = Math.max(0, this.alpha);

                ctx.beginPath();

                ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);

                ctx.fillStyle = this.color;

                

                // Intense glowing aura

                ctx.shadowColor = this.color;

                ctx.shadowBlur = 20;

                

                ctx.fill();

                ctx.restore();

            }

        }


        // Spawn particles across directional vectors

        function spawnFlow(x, y, count = 8) {

            for (let i = 0; i < count; i++) {

                particles.push(new FullscreenParticle(x, y));

            }

        }


        // Mouse movement triggers color waves

        window.addEventListener('mousemove', (e) => {

            spawnFlow(e.x, e.y, 6);

            hue += 2.5; // Color shifting rate

        });


        // Touch support for mobile displays

        window.addEventListener('touchmove', (e) => {

            const touch = e.touches[0];

            spawnFlow(touch.clientX, touch.clientY, 6);

            hue += 2.5;

        });


        // Render animation loop with dark motion trail

        function animate() {

            // Semi-transparent background clear for smooth color trail tails

            ctx.fillStyle = 'rgba(3, 3, 8, 0.15)';

            ctx.fillRect(0, 0, canvas.width, canvas.height);


            for (let i = 0; i < particles.length; i++) {

                particles[i].update();

                particles[i].draw();


                if (particles[i].alpha <= 0 || particles[i].size <= 0.3) {

                    particles.splice(i, 1);

                    i--;

                }

            }


            requestAnimationFrame(animate);

        }


        animate();

    </script>


</body>

</html>

Featured Post

Happy Maha Shivratri Greeting Card Animated Pure HTML & CSS Page

Happy Maha Shivratri Greeting Card Animated Pure HTML & CSS Page In this step-by-step tutorial, learn how to build an animated Happy Mah...

Popular Posts