Border Radius - Ungleiche Ecken - CSS3 Adventskalender Tag 2
-
CSS,
Webstandard-Team
- 2 Dez, 2010
Twittern - Kommentare (9)
Ungleiche Ecken mit Border-Radius - Am zweiten Tag des Adventskalenders zum Thema CSS3, werden euch heute "schiefe bzw. ungleiche" Ecken etwas näher vorgestellt. Diese "Erweiterung" ist ein Verhalten, welches auf der Eigenschaft Border-Radius aufsetzt und mittlerweile von allen aktuellen Browserversionen Unterstützung erfährt. Um diese CSS3 Eigenschaft aber etwas genauer vorstellen zu können, werden in diesem Beispiel vier Elemente abgebildet (in diesem Fall vier nebeneinander ausgerichtete Listenpunkte), welche durch Hinzufügen entsprechender CSS3-Eigenschaften eine Art Metamorphose vom Quadrat hinzu einem Element mit "ungleichen bzw. schiefen Ecken" vollzieht. Aber seht selbst.
Quadrat
Grundlage dieses 2.Fensters des CSS3 Adventskalenders sind vier gleichgroße Listenpunkte (es kann natürlich auch jedes andere beliebige Element mit einer Block-Eigenschaft sein), mit jeweils unterschiedlichen Farben. Die Strukturierung einer solchen Liste (HTML-Code) und die Definition einer Hintergrundfarbe wird hierbei außen vor gelassen, da diese Grundkenntnisse an dieser Stelle vorausgesetzt werden ;o)
Quadrate
ul {
list-style: none;
}
li {
float:left;
width:100px;
height:100px;
padding:0;
margin:0 20px 0 0;
}

Quadrate mit gleichförmigen Ecken
Kreis (gleichhoher Radius für alle Ecken)
Um aus einem Quadrat einen Kreis erzeugen zu können, halbiert man den in diesem Fall gleich hohen Wert für Breite und Höhe und weist diesen der Eigenschaft Border-Radius zu. Da diese CSS3 Eigenschaft bereits gestern am ersten Tag des Adventskalenders eingehend beschrieben wurde, wird an dieser Stelle hier nicht weiter darauf eingegangen, sondern auf den Artikel Border-Radius - CSS3 Adventskalender Tag 1 verwiesen.
Kreis
li {
-moz-border-radius: 50px;
border-radius: 50px;
}

Kreis (gleichhoher Radius für alle Ecken)
2 unterschiedlich abgerundete Ecken
Ecken die unterschiedlich abgerundet sind, erhält man in dem man der Eigenschaft Border-Radius mindestens zwei Werte zuweist. Wobei der erste Wert die Ecken oben links und unten rechts bestimmt und der zweite Wert die Ecken oben rechts und unten links definiert. Wenn diese zwei Werte im Verhältnis zueinander unterschiedlich gross sind, können Formen entstehen, die wie in der folgenden Abbildung, an eine Zitrone erinnern.
2 unterschiedlich abgerundete Ecken
li {
-moz-border-radius: 15px 50px;
border-radius: 15px 50px;
}

2 unterschiedlich abgerundete Ecken
4 unterschiedlich abgerundete Ecken
Diese Vorgehensweise kann man natürlich auch noch steigern, in dem man allen Ecken vier verschiedene Wert zuweist. Die Reihenfolge in einem solchen Fall ist folgende: oben links (15px), oben rechts (50px), unten rechts (40px), unten links (30px). Die auf diese Weise festgelegten Werte, gelten für horizontale und vertikale Radien der Ecken.
4 unterschiedlich abgerundete Ecken
li {
-moz-border-radius: 15px 50px 40px 30px;
border-radius: 15px 50px 40px 30px;
}

4 unterschiedlich abgerundete Ecken
Ungleiche bzw. schiefe Ecken
Mit allein einem einzigen Zeichen allerdings, kann man die anfangs erwähnten "ungleichen bzw. schiefen Ecken" erzeugen. Dem Slash ("/")! Durch dieses Zeichen, wird den beiden Werten vor dem Slash ein horizontaler Radius zugewiesen, während für die beiden Zeichen nach dem Slash ein vertikaler Radius festgelegt wird.
Ungleiche Ecken
li {
-webkit-border-radius: 15px 50px / 50px 30px;
border-radius: 15px 50px / 50px 30px;
}

Ungleiche bzw. schiefe Ecken
Keine Tricks, keine Zauberei und vor allem keinerlei Grafiken (!), lediglich ein paar übersichtliche Zeilen CSS.
Browser-Support
Safari 3+, Chrome 3+, Firefox 1+, Opera 10.5+ und IE9 Beta. Hinweis: Ab der Version 4 benötigt der Firefox den Prefix -moz- nicht mehr.

Auch wenn die Abbildung zum Browser-Support der hier aufgelisteten Browser recht positiv aussieht, soll an dieser Stelle nicht unerwähnt bleiben, dass alle Versionen des Internet Explorers kleiner Version IE9b als Endresultat die obige Abbildung des Quadrats aufweisen.
CSS3 Advenstkalender - Vorschau
Für all diejenigen die auch morgen wieder dabei sein wollen, sei kurz gesagt das es bei maddesigns morgen um "einfache Farbverläufe" gehen wird.















Klasse! Auf die Idee ungleiche Ecken mit dieser Eigenschaft erstellen zu können bin ich bisher nicht bekommen. Obwohl ich es gerade für ein Portal für Kinder, gut zum Einsatz bringen könnte. Du weite Verbreitung bei den Browsern ist natürlich auch ein großer Pluspunkt.
02 Dez 2010, 15:22
Klasse Aktion! Wird aber immer nerviger das der IE das einfach nicht gebacken bekommt - wird wirklich Zeit für die 9er Version ...
Was ein Slash alles bewirken kann :o)
Kann der IE6 das auch darstellen? *duck und weg* :-D
Mal ehrlich, schöne Anleitung - war mir bisher noch nicht bekannt :)
Freue mich auf die ersten Seiten HTML5 + CSS3 .. das wird toll! :)
lg
Tim
03 Dez 2010, 17:20
@Mediaroo: Natürlich nicht und seine beiden Nachfolger ebenso wenig ( siehe Info zum Browser-Support - IE: ab Version 9b).
03 Dez 2010, 18:28
Chrome 7 braucht -webkit auch nicht mehr.
04 Dez 2010, 14:44
Was ist eigentlich los mit dem Webstandard-Blog? Erst die lange Pause ohne irgendein Lebenszeichen, dann plötzlich die große Ankündigung eines Adventskalenders und nun schon nach zwei Tagen wieder Funkstille. Schade...
04 Dez 2010, 15:05
@Felix: Der Beitrag von mir für heute war für die erste Minute des heutigen Tages eingestellt, leider gab es diesbezüglich wohl Probleme, deshalb die Verzögerung.
Ach übrigens, der dritte Beitrag hier wird am 06.Dezember veröffentlicht und wenn ich ihn manuell live stellen muss ;o)
Entschuldige die Verzögerung.
05 Dez 2010, 14:33
Hi,
das letzte mit den ungleichen Ecken, schaut echt gut aus. Bin gespannt, wann CSS3 zum Standard wird, sodass man sich echt Gedanken drüber machen kann. Bisher ist ja der Einsatz von jQuery wohl für so Sachen die bessere Alternative.