CSS Grundlagen

CSS (Cascading Style Sheets) ist eine Stylesheet-Sprache, mit der du das Aussehen und Layout von HTML-Elementen gestalten kannst. Während HTML die Struktur deiner Website definiert, sorgt CSS dafür, dass sie optisch ansprechend und übersichtlich wird. Du kannst Farben, Abstände, Schriftarten und vieles mehr steuern – für einzelne Elemente oder ganze Seiten. CSS lässt sich direkt im HTML einbinden oder in eine separate Datei auslagern, was besonders bei größeren Projekten von Vorteil ist.

<body style="background-color: yellow;">

<h1 style="color: red;">Meine Überschrift</h1>
<div style="background-color: cyan; margin-top: 50px;">
  <p style="text-align: center;">Dieser Text ist zentriert.</p>
</div>

</body>
Beispiel bc001

Im ersten Beispiel setzen wir die Hintergrundfarbe des gesamten <body>-Bereichs auf Gelb. Das bedeutet: Die ganze Webseite bekommt einen gelben Hintergrund, was mit der CSS-Eigenschaft background-color direkt im HTML-Tag gesteuert wird.
Im zweiten Beispiel färben wir eine Überschrift der Ebene 1 (<h1>) rot. Dafür nutzen wir die CSS-Eigenschaft color, die die Textfarbe bestimmt.
Im dritten Beispiel erstellen wir einen Container mit dem <div>-Element. Diesem geben wir über margin-top: 50px; einen Abstand von 50 Pixeln nach oben, sodass er nicht direkt an vorherige Inhalte anstößt. Gleichzeitig bekommt der Container einen cyanfarbenen Hintergrund (background-color: cyan). Innerhalb dieses Containers befindet sich ein Absatz (<p>), dessen Text mit text-align: center; zentriert dargestellt wird.

Nun wollen wir uns dem <span> Element und weiteren Textdekorationen widmen.
Das <span>-Element ist ein generisches Inline-Container-Element in HTML. Im Gegensatz zum <div>-Element, das als Block-Element fungiert, wird <span> verwendet, um Teile von Text oder Inhalte innerhalb einer Zeile zu markieren oder zu gruppieren.

  • Inline-Element: Es verursacht keinen Zeilenumbruch und nimmt nur so viel Platz ein wie sein Inhalt.

  • Kein visueller Effekt ohne CSS: Standardmäßig hat <span> keine visuelle Wirkung auf den Inhalt.

  • Styling-Möglichkeiten: Besonders nützlich in Kombination mit CSS, um bestimmte Textteile hervorzuheben oder zu formatieren.

  • Semantisch neutral: Es trägt keine inhaltliche Bedeutung, sondern dient rein der Strukturierung und Gestaltung.
  • Dazu kommen noch <strong> um den Text fett zu schreiben und <em> damit er kursiv dargestellt wird.
    Füher wurde zum Unterstreichen das Tag <u> benutzt. Er steht semantisch nicht für Betonung oder Wichtigkeit – er ist rein stilistisch und wurde früher oft für Links verwendet. Wenn du gezielt optisch unterstreichen willst (z. B. für Design-Zwecke), kannst du alternativ auch CSS nutzen.

    <body>
        <h1>CSS Textformatierung mit Inline-Styles</h1>
        
        <p>Normaler Text ohne Formatierung.</p>
        
        <p>Text mit <span style="color: red;">roter Farbe</span> durch span-Element mit Inline-Style.</p>
        
        <p>Text mit <strong>fetter Schrift</strong> durch strong-Element.</p>
        
        <p>Text mit <em>kursiver Schrift</em> durch em-Element.</p>
        
        <p>Text mit <span style="text-decoration: underline;">Unterstreichung</span> durch Inline-Style.</p>
        
        <p>Alle Stile können <strong><em><span style="color: red;">kombiniert</span></em></strong> werden.</p>
    </body>
    Beispiel bc002

    CSS im style-Element verwenden

    Während Inline-Styles direkt in HTML-Elementen nützlich sein können, bietet das <style>-Element im <head> des HTML-Dokuments eine deutlich bessere Methode, um CSS-Regeln zu organisieren und anzuwenden.

  • Bessere Organisation: Alle Stilregeln befinden sich an einem zentralen Ort
  • Wiederverwendbarkeit: Regeln können auf mehrere Elemente angewendet werden
  • Einfachere Wartung: Änderungen müssen nur einmal vorgenommen werden
  • Trennung von Inhalt und Design: Entspricht den Best Practices der Webentwicklung
  • Im folgenden Beispiel siehst du, wie CSS im <style>-Element definiert wird:

    <!DOCTYPE html>
    <html lang="de">
    <head>
        <meta charset="UTF-8">
        <title>learn.rainpearl - bc003</title>
        <style>
            /* Eine rote Überschrift */
            h1 {
                color: red;
            }
            
            /* Ein zentrierter div mit Hintergrundfarbe */
            div.container {
                background-color: cyan;
                margin-top: 50px;
                width: 500px;
                margin-left: auto;
                margin-right: auto;
                padding: 20px;
            }
            
            /* Zentrierter Paragraph */
            p.centered {
                text-align: center;
            }
            
            /* Textstile */
            .rot {
                color: red;
            }
            
    		strong {
                font-weight: bold;
                color: #0066cc;
            }
            
            em {
                font-style: italic;
                color: #006600;
            }
            
            .unterstrichen {
                text-decoration: underline;
                color: #990000;
            }
    		
        </style>
    </head>
    <body>
        <h1>CSS im style-Element</h1>
        
        <div class="container">
            <p class="centered">Dieser div-Container hat einen türkisen Hintergrund, 50px Abstand nach oben, ist 500px breit und zentriert.</p>
            
            <h2>CSS Textformatierung - Beispiele</h2>
            
            <p>Normaler Text ohne Formatierung.</p>
            
            <p>Text mit <span class="rot">roter Farbe</span> durch span-Element mit CSS-Klasse.</p>
            
            <p>Text mit <strong>fetter Schrift</strong> durch strong-Element.</p>
            
            <p>Text mit <em>kursiver Schrift</em> durch em-Element.</p>
            
            <p>Text mit <span class="unterstrichen">Unterstreichung</span> durch text-decoration.</p>
            
            <p>Alle Stile können <strong><em><span class="rot">kombiniert</span></em></strong> werden.</p>
        </div>
    </body>
    </html>
    Beispiel bc003

    Erklärung der CSS-Selektoren

    Im obigen Beispiel werden verschiedene Arten von CSS-Selektoren verwendet: Element-Selektor (h1, strong, em): Wendet Stile auf alle Elemente dieses Typs an Klassen-Selektor (.rot, .unterstrichen): Wendet Stile nur auf Elemente mit der entsprechenden Klasse an Kombinations-Selektor (div.container, p.centered): Wendet Stile nur auf bestimmte Elemente mit einer bestimmten Klasse an Die Verwendung des <style>-Elements im <head> ist ein wichtiger Schritt, um sauberen, wartbaren Code zu schreiben und die Trennung von Inhalt (HTML) und Design (CSS) zu gewährleisten.