HTML-Text durch ein Bild ersetzen
(Auszug aus "CSS Kochbuch" von Christopher Schmitt)
Problem
HTML-Text, wie z.B. die Überschrift in der folgenden Abbildung, soll mit einem Bild überlagert werden, um größere grafische oder typografische Freiheit bei der Gestaltung zu haben.
Abbildung: Die Standarddarstellung der textbasierten Überschrift.
Lösung
Verwenden Sie die Gilder/Levin-Bildersetzungstechnik.
Zu Beginn fügen Sie vor dem HTML-Text ein span-Element ein:
<h1>
<span></span>
Dies ist der Platzhalter-Text
</h1>
Im nächsten Schritt definieren Sie die Breite und Höhe des h1-Elements, um die Dimensionen des Ersetzungsbildes festzulegen. Gleichzeitig erhält die Eigenschaft position den Wert relative:
h1 {
width: 216px;
height: 72px;
position: relative:
}
Als Nächstes legen Sie die Positionierung des span-Elements mit dem Wert absolute fest. Durch die Anpassung von Höhe und Breite des span-Elements innerhalb der Überschrift (h1) liegt das span-Element nun über dem HTML-Text. Der letzte Schritt besteht schließlich darin, das Ersetzungsbild mit Hilfe der Eigenschaft background festzulegen (siehe die folgende Abbildung):
h1 span {
background: url(ersetzungsbild.jpg) no-repeat;
position: absolute;
width: 100%;
height: 100%;
}
Abbildung: Der HTML-Text wird durch eine Grafik ersetzt.
Diskussion
Für die Web-Entwicklung gibt es mittlerweile eine ganze Reihe von Bildersetzungstechniken, die alle ihre eigenen Vor- und Nachteile haben.
Ursprung der Bildersetzungsmethode
Todd Fahrner ist eine der Personen, denen das ursprüngliche Konzept der Bildersetzungstechnik zugeschrieben wird.
Das nach ihm benannte Fahrner Image Replacement (FIR) verwendet ebenfalls ein nichtsemantisches span-Element. Bei dieser Methode umgibt das span-Element jedoch den Inhalt:
<h1>
<span>Dies ist der Platzhalter-Text</span>
</h1>
Das Ersetzungsbild wird in diesem Fall als Hintergrundbild für das h1-Element definiert, während der Text versteckt wird:
h1 {
background: url(ersetzungsbild.jpg) no-repeat;
width: 216px;
height: 72px;
}
h1 span {
display: none;
}
Nachteil der FIR-Methode
Die einfache Implementierung der FIR-Methode machte sie bei Webentwicklern sehr beliebt. Allerdings wurde auf diese Art behandelter HTML-Text oft von Bildschirmleseprogrammen für Menschen mit Sehbehinderungen "übersehen", da festgelegt wurde, dass der Text im span-Element nicht dargestellt werden soll (display: none;). Dadurch kann wichtiger Text für einen Teil der Besucher der Site verloren gehen.
Die Phark-Bildersetzungsmethode
Sowohl die FIR- als auch die Gilder/Levin-Ersetzungsmethoden verwenden ein semantisch nicht notwendiges span-Tag, um ihr Ziel zu erreichen. Eine weitere Ersetzungstechnik, die von Mike Rundle von phark.net erfunden wurde, kommt ohne das zusätzliche span-Tag aus.
Passen Sie hierfür zuerst den HTML-Text an, indem Sie das span-Tag wieder entfernen:
<h1>Dies ist der Platzhalter-Text</h1>
In den CSS-Regeln verwenden Sie einen negativen Wert für die Eigenschaft text-indent, um den Text zu verstecken. Auf diese Weise ist die Verwendung von display:none nicht mehr nötig:
h1 {
text-indent: -9000em;
background: url(ersetzungsbild.jpg) no-repeat;
width: 216px;
height: 72px;
}
Wie auch die anderen Methoden funktioniert die Phark-Ersetzungstechnik recht gut. Ihr Nachteil besteht jedoch darin, dass der HTML-Text nicht zu sehen ist, wenn die Darstellung von Grafiken im Browser deaktiviert wurde.
Bildersetzung mit CSS 3
Die CSS 3-Spezifikation bietet eine einfache Methode zur Bildersetzung, sofern Browser diese jemals implementieren. Um beispielsweise den Inhalt eines h1-Tags durch ein Bild zu ersetzen, würde in diesem Fall der folgende CSS-Code ausreichen:
h1 {
content: url(logo.gif);
}
In der Spezifikation wird zudem nicht eingeschränkt, welche Art von Multimediadaten durch die Eigenschaft content unterstützt werden soll. Theoretisch könnte ein Webentwickler also einen QuickTime-Film anstelle des animierten GIFs verwenden:
h1 {
content: url(logo.mov);
}
Allerdings wird die CSS 3-Spezifikation auch in modernen Browsern nur sehr begrenzt unterstützt. Zudem befindet sich die Spezifikation für CSS 3 noch in der Entwicklungsphase.
Siehe auch
Die CSS 3-Spezifikation für Informationen über das Einfügen von Inhalten.
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema CSS bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright der deutschen Ausgabe © 2007 by O’Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "CSS Kochbuch" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
O’Reilly Verlag GmbH & Co. KG, Balthasarstr. 81, 50670 Köln