dynamic-tag

Von $1

    Inhaltsverzeichnis
    keine Gliederung

    Version seit 20:34, 11 Aug 2026

    zu dieser Version.

    Zurück zu Versionshistorie.

    Zeige aktuelle Version

    /* TAG SPHERE - GROSSE SCHRIFT + AUTO-EXPLODE */
    #tagSphere {
        position: fixed;
        top: 50%;
        left: 20px;
        transform: translateY(-50%);
        width: 280px;
        height: 280px;
        z-index: 999;
        cursor: move;
        cursor: -webkit-grab;
        cursor: -moz-grab;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.4s ease, visibility 0.4s ease, width 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55), height 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55), top 0.7s ease, left 0.7s ease, transform 0.7s ease, z-index 0s;
        background: transparent;
        border: none;
        user-select: none;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
    }
    
    #tagSphere.visible {
        opacity: 1;
        visibility: visible;
    }
    
    #tagSphere.exploded {
        width: 90vmin;
        height: 90vmin;
        max-width: 900px;
        max-height: 900px;
        top: 50vh;
        left: 50vw;
        transform: translate(-50%, -50%);
        z-index: 2147483647;
    }
    
    @media (orientation: landscape) and (min-width: 1024px) {
        #tagSphere.exploded {
            width: 80vw;
            height: 70vh;
            max-width: 1200px;
            max-height: 750px;
        }
    }
    
    #tagSphereBackdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.3);
        z-index: 2147483646;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    #tagSphereBackdrop.visible {
        opacity: 1;
        visibility: visible;
    }
    
    @media (max-width: 768px) {
        #tagSphere {
            width: 250px;
            height: 250px;
            left: 50vw;
            top: 50vh;
            transform: translate(-50%, -50%);
        }
        
        #tagSphere.exploded {
            width: 100vw !important;
            height: 100vh !important;
            max-width: none !important;
            max-height: none !important;
            top: 50vh !important;
            left: 50vw !important;
            transform: translate(-50%, -50%) !important;
            background: rgba(255, 255, 255, 0.95);
        }
        
        #tagSphereBackdrop {
            display: none;
        }
    }
    
    #tagSphere.dragging {
        cursor: -webkit-grabbing !important;
        cursor: -moz-grabbing !important;
    }
    
    #tagSphere .close-btn {
        position: absolute;
        top: 20px;
        right: 20px;
        width: 56px;
        height: 56px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        color: #CC0000;
        border: 2px solid rgba(204, 0, 0, 0.2);
        border-radius: 50%;
        font-size: 32px;
        font-weight: bold;
        line-height: 52px;
        text-align: center;
        cursor: pointer;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        user-select: none;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    }
    
    #tagSphere.exploded .close-btn {
        opacity: 1;
        visibility: visible;
    }
    
    #tagSphere .close-btn:hover {
        background: #CC0000;
        color: #FFFFFF;
        border-color: #CC0000;
        transform: scale(1.1);
        box-shadow: 0 6px 24px rgba(204, 0, 0, 0.4);
    }
    
    #tagSphere .close-btn:active {
        transform: scale(0.95);
    }
    
    #tagSphere .back-btn {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 56px;
        height: 56px;
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        color: #0066CC;
        border: 2px solid rgba(0, 102, 204, 0.2);
        border-radius: 50%;
        font-size: 28px;
        font-weight: bold;
        line-height: 52px;
        text-align: center;
        cursor: pointer;
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
        user-select: none;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    }
    
    #tagSphere.mode-pages.exploded .back-btn {
        opacity: 1;
        visibility: visible;
    }
    
    #tagSphere .back-btn:hover {
        background: #0066CC;
        color: #FFFFFF;
        border-color: #0066CC;
        transform: scale(1.1);
        box-shadow: 0 6px 24px rgba(0, 102, 204, 0.4);
    }
    
    #tagSphere .back-btn:active {
        transform: scale(0.95);
    }
    
    @media (orientation: landscape) and (min-width: 1024px) {
        #tagSphere.exploded .close-btn {
            top: 35px;
            right: 45px;
            width: 64px;
            height: 64px;
            font-size: 38px;
            line-height: 60px;
        }
        
        #tagSphere.exploded .back-btn {
            top: 35px;
            left: 45px;
            width: 64px;
            height: 64px;
            font-size: 34px;
            line-height: 60px;
        }
    }
    
    @media (orientation: portrait) {
        #tagSphere .close-btn {
            width: 72px;
            height: 72px;
            font-size: 40px;
            line-height: 68px;
            top: 25px;
            right: 25px;
        }
        
        #tagSphere .back-btn {
            width: 72px;
            height: 72px;
            font-size: 36px;
            line-height: 68px;
            top: 25px;
            left: 25px;
        }
    }
    
    @media (max-width: 768px) and (orientation: portrait) {
        #tagSphere .close-btn {
            width: 80px;
            height: 80px;
            font-size: 48px;
            line-height: 76px;
            top: 20px;
            right: 20px;
            box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
        }
        
        #tagSphere .back-btn {
            width: 80px;
            height: 80px;
            font-size: 42px;
            line-height: 76px;
            top: 20px;
            left: 20px;
            box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
        }
    }
    
    @media (max-width: 768px) and (orientation: landscape) {
        #tagSphere .close-btn {
            width: 64px;
            height: 64px;
            font-size: 36px;
            line-height: 60px;
        }
        
        #tagSphere .back-btn {
            width: 64px;
            height: 64px;
            font-size: 32px;
            line-height: 60px;
        }
    }
    
    #tagSphere .tag-item {
        position: absolute;
        padding: 18px 32px;
        white-space: nowrap;
        font-size: 20px;
        font-weight: 700;
        text-decoration: none;
        background: #FFFFFF;
        border: none;
        border-radius: 25px;
        cursor: pointer;
        min-width: 70px;
        text-align: center;
        box-shadow: 0 3px 10px rgba(0,0,0,0.15);
        transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.2s ease, opacity 0.3s ease;
        pointer-events: auto;
        z-index: 100;
        user-select: none;
    }
    
    @media (max-width: 768px) {
        #tagSphere .tag-item {
            padding: 22px 38px;
            font-size: 22px;
            min-width: 95px;
        }
    }
    
    #tagSphere .tag-item.atom-0 { animation: float-0 4.2s ease-in-out infinite; }
    #tagSphere .tag-item.atom-1 { animation: float-1 5.1s ease-in-out infinite; }
    #tagSphere .tag-item.atom-2 { animation: float-2 4.7s ease-in-out infinite; }
    #tagSphere .tag-item.atom-3 { animation: float-3 5.5s ease-in-out infinite; }
    #tagSphere .tag-item.atom-4 { animation: float-4 4.9s ease-in-out infinite; }
    #tagSphere .tag-item.atom-5 { animation: float-5 5.3s ease-in-out infinite; }
    #tagSphere .tag-item.atom-6 { animation: float-6 4.5s ease-in-out infinite; }
    #tagSphere .tag-item.atom-7 { animation: float-7 5.8s ease-in-out infinite; }
    
    @keyframes float-0 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(3px, -4px) rotate(1deg); }
        50% { transform: translate(-3px, -5px) rotate(-1deg); }
        75% { transform: translate(-4px, -2px) rotate(2deg); }
    }
    
    @keyframes float-1 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(-3px, -5px) rotate(-1deg); }
        50% { transform: translate(4px, -3px) rotate(1deg); }
        75% { transform: translate(3px, -6px) rotate(-2deg); }
    }
    
    @keyframes float-2 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(4px, -3px) rotate(2deg); }
        50% { transform: translate(-3px, -6px) rotate(-1deg); }
        75% { transform: translate(3px, -4px) rotate(1deg); }
    }
    
    @keyframes float-3 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(-4px, -6px) rotate(-2deg); }
        50% { transform: translate(3px, -4px) rotate(1deg); }
        75% { transform: translate(-3px, -5px) rotate(-1deg); }
    }
    
    @keyframes float-4 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(3px, -5px) rotate(1deg); }
        50% { transform: translate(-4px, -4px) rotate(-2deg); }
        75% { transform: translate(4px, -6px) rotate(2deg); }
    }
    
    @keyframes float-5 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(-3px, -4px) rotate(-1deg); }
        50% { transform: translate(4px, -6px) rotate(2deg); }
        75% { transform: translate(-4px, -3px) rotate(-2deg); }
    }
    
    @keyframes float-6 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(4px, -6px) rotate(2deg); }
        50% { transform: translate(-3px, -5px) rotate(-1deg); }
        75% { transform: translate(3px, -3px) rotate(1deg); }
    }
    
    @keyframes float-7 {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(-4px, -4px) rotate(-2deg); }
        50% { transform: translate(3px, -6px) rotate(1deg); }
        75% { transform: translate(-3px, -5px) rotate(-1deg); }
    }
    
    #tagSphere.mode-tags .tag-item {
        color: #0066CC;
    }
    
    #tagSphere.mode-tags .tag-item:hover {
        color: #0044AA;
        box-shadow: 0 6px 20px rgba(0,102,204,0.5);
        transform: scale(1.3) !important;
        z-index: 9998 !important;
    }
    
    #tagSphere.mode-pages .tag-item:hover {
        box-shadow: 0 6px 20px rgba(204,0,0,0.5);
        transform: scale(1.3) !important;
        z-index: 9998 !important;
    }
    

     
    Use the language selection below for English Utilise le sélecteur de langue ci-dessous pour français Per l'italiano, utilizzare la selezione della lingua qui sotto Schön sprichst du deutsch :-)