Bilder mit CSS beschneiden |
Donnerstag, 21. Februar 2008
|
||
Die Maße eines Bild in einer Website können mit CSS verändert werden. Was aber, wenn man nur einen Ausschnitt von dem Bild anzeigen möchte, ohne das Bild mit einer Bildbearbeitungssoftware öffnen zu müssen?
Genau diese Frage habe ich mir neulich gestellt und ich bin dabei auf eine CSS-Funktion gestoßen, die auf den Namen clip hört. Theoretisch ist diese Funktion nicht schlecht. Man gibt einen Bereich in Pixel an, der dargestellt wird. Alles andere in dem Element, was sich nicht in diesem Bereich befindet wird nicht dargestellt. Klingt erstmal genau nach dem, was wir brauchen um ein Bild zu beschneiden. Im Stylesheet sieht das ganze so aus: img { Diese Lösung hat zwei Probleme die sie recht impraktikabel machen. Zum einen muss das Bild eine absolute Position besitzen damit der Effekt funktioniert, zum anderen ist die Zuweisung der Pixelwerte etwas verworren. Die Syntax ist die Gleiche, wie man es von CSS kennt. Der erste Wert steht für oben und dann im Uhrzeigersinn weiter. In dem Beispiel wird der 2. und 3. Wert anders gehandhabt und zwar beschreiben diese 130 Pixel in dem Beispiel nicht den Abstand zwischen Ausschnitt und Bildunterkante sondern den Abstand zwischen Oben und Ausschnittuntergrenze. Möchte ich zum Beispiel bei dem Bild 50 Pixel unten wegnehmen, muss der Wert heißen: Höhe des Bildes - 50 Pixel. Ihr merkt schon diese Lösung ist nicht das Optimum. Mit einem DIV geht es einfacher <div class="bild"> Die Klasse bekommt dann folgende Eigenschaften: div.bild { Ist das Bild innerhalb des DIV höher oder breiter als 100 Pixel wird alles das, was darüberhinaus geht, ausgeblendet. Möchte man nun links und oben das Bild beschneiden fügt man Folgendes noch hinzu: div.bild img { So wird das Bild oben und Links um je 20 Pixel beschnitten. Diese Lösung ist auch nicht so 100% optimal, aber sicher einfacher als die von CSS mitgelieferte Variante. Am Besten ist natürlich das Bild von vornherein in Photoshop (oder anderen Programmen) zu beschneiden. Manchmal ist dies aber nicht möglich, z.B. wenn ein Bild von einem externen Service eingebunden werden soll, wie zum Beispiel Thumbalizr. Kommentare (8) |
||
Letzte Aktualisierung ( Dienstag, 1. April 2008 ) |
< Zurück | Weiter > |
---|