Karte: CSS Nesting

CSS-Nesting

Der Zauber des verschachtelten Stils

Im Reich des CSS gibt es einen neuen, mächtigen Zauber: Nesting! Einst nur den Adepten von Preprozessoren wie SCSS vorbehalten, hat sich dieses magische Konstrukt nun direkt in die heiligen Hallen des nativen CSS geschlichen.

Nesting ist wie der Zauber, der es dir ermöglicht, Regeln für Eltern- und Kind-Elemente sauber in einem einzigen Block zu bündeln, ohne dass du dich ständig wiederholen musst. Es ist, als würdest du eine Armee von CSS-Soldaten in Reih und Glied aufstellen, jeder bereit, den nächsten Befehl zu befolgen. Kein Chaos mehr, keine endlosen, unübersichtlichen SelektorenNesting bringt Ordnung ins Layout. Doch wie bei jedem mächtigen Werkzeug gilt es, diesen Zauber weise einzusetzen, um die Übersicht nicht zu verlieren.

Verschachteln mit Stil

Weniger Wiederholungen, mehr Übersicht – lass dein CSS logisch wachsen!

Token: CSS Nesting &

Die Macht des &

Der magische Anker

Das &-Symbol ist dein Zauberstab im Nesting und steht für den Eltern-selektor. Es verbindet verschachtelte Regeln elegant mit dem ursprünglichen Selektor, ohne dass du ihn ständig wiederholen musst.

Du brauchst das & immer dann, wenn du Pseudo-Klassen, Pseudo-Elemente oder spezifische Ergänzungen direkt mit dem Elternselektor verknüpfen willst.

Bei normalen Kind-Elementen kannst du darauf verzichten, da CSS-Nesting diese Verbindung automatisch herstellt. Stell dir das & als den unsichtbaren Faden vor, der den magischen Regel-kreis zusammenhält.

.container {
    background: lightgray;
    padding: 20px;

    /* Kein & benötigt 
– normale Kind-Elemente */
    ul {
        list-style: none;
        padding: 0;
    }

    /* & benötigt – 
für Pseudo-Klassen 
und Pseudo-Elemente */
    & li:hover {
        color: darkblue;
        cursor: pointer;
    }
}
Token: CSS Nesting Verschachtelte Media-Queries

Verschachtelte Media Queries

Der dimensionale Zauber

Mit Nesting kannst du nicht nur normale Regeln verschachteln, sondern auch Media Queries. Damit passt sich dein Design elegant an jede Bildschirmgröße an, und zwar direkt dort, wo du es brauchst, ohne dass du den Fluss deines Stylesheets unterbrechen musst.

Hier wird die Schriftgröße und Linkfarbe für .parent und seine Kinder festgelegt. Doch sobald der Bildschirm schmaler wird, tritt die Media Query in Kraft und passt Schriftgröße und Farbe entsprechend an, alles sauber im Nesting-Stil.

.parent {
    font-size: 20px;

    & a {
        color: dodgerblue;
    }

    @media (max-width: 600px) {
        font-size: 16px;

        & a {
            color: coral;
        }
    }
}
CSS
/* Hauptmenü */
.menu {
    list-style: none;
    padding: 0;

    li {
        padding: 10px;
        border: 1px solid #3e4451;
        margin-bottom: 5px;
        border-radius: 5px;
        cursor: pointer;
        background: #4a4f5c;
        transition: all 0.3s ease;

        &:hover {
            background-color: #22a7f0;
            color: white;
        }

        /* Untermenü */
        .submenu {
            list-style: none;
            margin-top: 10px;
            padding-left: 20px;
            display: none;

            li {
                padding: 8px;
                margin-bottom: 5px;
                border: 1px solid #3b3f47;
                border-radius: 5px;
                background: #3e4451;
                transition: all 0.3s ease;

                &:hover {
                    background-color: #9b59b6;
                }
            }
        }

        &:hover .submenu {
            display: block;
        }
    }
}
Nach oben scrollen