Runde Ecken mit CSS2

  • Abgerundete Ecken mit CSS 2.1 erstellen

    1.Einleitung
    2.Erstellung der Infobox
    [INDENT]2.1.HTML Code
    2.2.CSS Code[/INDENT]
    3.Erstellung der abgerundeten Ecken
    [INDENT]3.1.HTML Code
    3.2.CSS Code[/INDENT]
    4.Schlusswort und Beispiel

    1. Einleitung
    Die meisten User empfinden Boxen mit abgerundeten Ecken als angenehmer. Ein sehr guter Grund um sich vielleicht zu überlegen, seine Boxen im Content mit runden Ecken auszustatten ohne dabei auch nur eine Grafik zu verwenden.

    2. Erstellung der Infobox

    2.1 HTML-Code:
    Beginnen wir als erstes damit unseren Text (in diesem Fall der bekannte Blindtext „Lorem ipsum“) in einen Absatz zu stecken und diesem die Klasse „infobox“ zuzuweisen.

    HTML
    <p class="infobox">
      Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo   ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes.
    </p>

    2.2 CSS-Code:
    Nun überlegen wir uns wie unsere Infobox (p.infobox) denn eigentlich aussehen soll (Hintergrundfarbe, Textfarbe, usw. ). Ich habe für meine Infobox einen dunklen Hintergrund mit dem Hex-Wert #333 (background:#333;) gewählt und eine helle Textfarbe, in diesem Fall ein helles Grau mit dem Hex-Wert #ddd (color:#ddd;).
    Des weiteren wähle ich eine Schriftgröße von 11 Pixeln (font-size:11px;), einen inneren Abstand von 10px in alle Richtungen (padding:10px;) und einen äußeren Abstand nach links und rechts von ebenfalls 10px (margin:0 10px;).

    So damit haben wir den ersten Teil schon einmal geschafft und wollen auch nicht lange warten und gleich mit dem Erstellen der runden Ecken fortfahren.

    3. Erstellung der abgerundeten Ecken
    Hierzu behelfen verwenden wir einfach der Methode mit der SVG Grafiken erstellt werden.

    3.1 HTML Code
    Und zwar werden wir einfach vier <span>-Elemente übereinander anordnen die nach links und rechts einen gewissen Abstand haben, am Ende entsteht dadurch eine Rundung.
    Diese vier <span>-Elemente werden einmal in einen Absatz gesteckt, der oberhalb unterere Infobox angeordnet wird und die Klasse „top“ bekommt und einmal in einen Absatz der unterhalb unserer Infobox angeordnet wird und die Klasse „bottom“ hat.
    Die vier <span>-Elemente bekommen nun die Klassen „bar1“, „bar2“, „bar3“ und „bar4“.
    Die Reihenfolge der <span>-Elemente sollte wie folgt aussehen:
    bar1
    bar2
    bar3
    bar4
    Infobox
    bar4
    bar3
    bar2
    bar1

    Das ganze sollte in HTML dann wie folgt aussehen:

    3.2 CSS Code
    So nun geht es an den CSS-Code der die <span>-Elemente so anordnet das sie nachher eine schöne Rundung ergeben.

    4. Schlusswort und Beispiel
    Und schon hat mal eine schöne Box mit abgerundeten Ecken ganz ohne Grafiken. Dieses funktioniert in allen gängigen Browsern (IE ab Version 6, Firefox, Safari)

    Ein Beispiel könnt ihr euch hier ansehen:
    http://f-h.kaninchenrettung.de/macrosdesign_t…_page/test.html


    // EDIT: Rechtschreibfehler ausgebessert und Beschreibung verbessert

    9 Mal editiert, zuletzt von Macrosdesign (2. März 2010 um 21:59)

  • Könnte man mit mehr "<span>" verfeinern das ganze und somit andere Radien darstellen. Das beste Ergebnis bekommt man natürlich nur mit einer Grafik oder Javascript + SVG


    //EDIT: Tutorial geupdated!

    Einmal editiert, zuletzt von Macrosdesign (2. März 2010 um 21:48)

  • Gute Variante

    Ich verwende meist eine Grafik die die abgerundeten Ecken die ich über das element absolut positioniere, dies funktioniert auch bei Grafiken.

    Eine einfachere Variante die direkt mit Grafiken funktioniert wäre border-radius funktioniert in ziemlich allen Browsern ausser IE ;)