Rounded
Corners

CSS3 als Gestaltungselement - Teil 1

Was haben wir in der Vergangenheit nicht alles an Anstrengungen unternommen, um einfache abgerundete Ecken hinzubekommen. Vierfach geschachtelte divs, riesige Image-Sprites, um tatsächlich auch jede Monitorgröße abzudecken.

CSS3 bietet hier mit der Möglichkeit, Ecken abzurunden eine sehr einfache Lösung an. Doch auch komplexere Rahmen werden in der Zukunft kein Problem mehr sein: mit der CSS3-Option mehrere Hintergrundbilde zu platzieren. Doch dazu später mehr! Zunächst zum Naheliegenden.

Der Code

.rounded-10 {
   border: 1px solid #777;
   background-color: #aaa;
   color: #000;
   padding: 5px;
   border-radius: 10px;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
}

Das Ergebnis

Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Inzwischen unterstützen sowohl Gecko (Firefox & Co.), als auch Webkit (Safari, Google Chrome & Co.) die Eckenabrundung per css. Da der entsprechende Standard vom W3C noch nicht verabschiedet wurde, hat der dritte Browser im Bunde, nämlich Opera seine Unterstützung für abgerundete Ecken wieder zurückgenommen.

IE kann es leider gar nicht (diesen Satz werde ich vermutlich noch öfter schreiben). Doch per nicht standardkonformer HTC-Action lässt sich auch dieser dazu überreden, Ecken abzurunden.

In den Browsern

Und so stellen es die aktuellen Browser dar:

Varianten

Damit lässt sich nun bereits einiges in Produktivumgebungen anfangen – nachdem der IE diese Technik noch nicht beherrscht begrenze ich den Einsatz allerdings auf die Formatierung spezieller Absatzformate wie beispielsweise in einer Sitemap. Für den Professionellen Einsatz als Seitenlayoutwerkzeug ist es sicher noch nicht geeignet.

Wie sieht es aber mit der Kombination mehrere Möglichkeiten aus?

Zunächst die Verwendung unterschiedlicher Border-Dicken. Hier stellt Webkit das Ergebnis nicht gut dar und wechselt mitten in der Abrundung abrupt die Rahmenstärke. Firefox 3.6 ist hier sehr gut.

border: 1px solid #777;
border-top: 6px solid #777;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Oder die Verwendung unterschiedlicher Border-Farben. Erzeugt einen witzigen Effekt, der wohl eher selten in der Praxis verwendet werden wird.

border: 6px solid #a00;
border-top: 6px solid #00a;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Oder das Ineinanderschachteln mehrerer Rahmen. Auch hier wieder Renderschwächen bei Webkit, Probleme mit dem Antialiasing

.outer{
   border: 1px solid #888;
   background: #ccc;
   padding-bottom: 20px;
   border-radius: 10px;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
}
.inner{
   border: 1px solid #aaa;
   background: #fff;
   border-radius: 9px; /* Radius um 1px reduziert */
   -webkit-border-radius: 9px;
   -moz-border-radius: 9px;
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Und schließlich die erweitert angedachten Möglichkeiten, den Radius für jede Ecke individuell festlegen zu können. Diese Technik wird sicher Eingang in die Webdesignpraktiken der nächsten Jahre finden.

border-radius: 20px 5px 0 0;
-moz-border-radius: 20px 5px 0 0;
-webkit-border-radius: 20px 5px 0 0;
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
.outer{
   border: 1px solid #888;
   background: #ccc;
   padding-bottom: 20px;
   border-radius: 10px;
   -webkit-border-radius: 10px;
   -moz-border-radius: 10px;
}
.inner{
   border: 0;
   border-bottom: 1px solid #888;
   background: #fff;
   border-radius: 9px 9px 0 0;
   -webkit-border-radius:  9px 9px 0 0;
   -moz-border-radius:  9px 9px 0 0;
}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Datum: 06.02.10

Kategorien: CSS

Tags | | |

RSS (Kommentare): RSS 2.0

Ein Kommentar

  1. Ursula am 10.03.2010 um 05:27 Uhr | Link zu diesem Kommentar

    Nice post. http://www.smartr.de is ym favorite site.

Antwort verfassen




data recovery software