SELFHTML/Navigationshilfen HTML/XHTML Grafiken |
Grafiken ausrichten |
|
Grafik zum umgebenden Text ausrichten |
|
Da das img
-Element ein Inline-Element
ist, können Grafiken mitten in einem Text platziert werden. Wenn nun aber
die Grafik höher ist als die Zeilenhöhe, dann muss der Text der
gleichen Zeile in irgendeiner Weise zur Grafik ausgerichtet werden. Wenn Sie nichts
anderes angeben, wird der Text untenbündig zur Grafik ausgerichtet. Sie können
jedoch mit Hilfe eines Attributs selbst bestimmen, wie der Text zur Grafik ausgerichtet
werden soll. Dieses Attribut ist allerdings als deprecated gekennzeichnet
und soll künftig aus dem HTML-Standard entfallen. Die gleiche Wirkung lässt
sich nämlich auch mit CSS
Stylesheets erzielen.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Text des Titels</title> </head> <body> <h1>Woran der Denker denkt</h1> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" align="top" alt="Denker"> an das Oben?</p> <hr> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" align="middle" alt="Denker"> an die Mitte?</p> <hr> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" align="bottom" alt="Denker"> an das Unten?</p> </body> </html> |
Das Beispiel enthält drei kurze, normalerweise in eine Zeile passende Textabsätze, bei denen jeweils die gleiche Grafik mitten im Text platziert ist. In allen drei Absätzen wird die darin notierte Grafik mit Hilfe von HTML zum Text davor und dahinter ausgerichtet.
Mit dem HTML-Attribut align=
im <img>
-Tag können Sie Text in der gleichen Zeile zur Grafik ausrichten (align = Ausrichtung):
Mit align="top"
wird der Text obenbündig zur Grafik ausgerichtet (top = oben).
Mit align="middle"
wird der Text mittig zur Grafik ausgerichtet (middle = mittig).
Mit align="bottom"
wird der Text untenbündig zur Grafik ausgerichtet (bottom = unten).
Die Browser interpretieren zum Teil noch weitere Angaben. Diese sind jedoch nicht im HTML-Standard verzeichnet und führen deshalb zu ungültigem HTML. Erwähnt seien sie trotzdem:
Mit align="texttop"
richten Sie den Text obenbündig zur Grafik aus, und zwar an der Oberkante des kleinsten Textes in der Zeile (texttop = oben am Text).
Mit align="absmiddle"
richten Sie den Text absolut mittig zur Grafik aus, auch bei unterschiedlichen Textgrößen (absmiddle = absolute middle = in jedem Fall mittig).
Mit align="absbottom"
richten Sie den Text untenbündig zur Grafik aus, und zwar an der Unterkante des kleinsten Textes in der Zeile (absbottom = absolute bottom = in jedem Fall untenbündig).
Mit align="baseline"
richten Sie den Text genauso aus wie mit der Standardangabe align="bottom"
. Benutzen Sie deshalb besser die Standardangabe.
Grafiken, die Sie mit dem <img>
-Tag referenzieren, können Sie links oder rechts ausrichten. Der umgebende Text fließt dabei um die Grafik. Mit zwei weiteren Attributen können Sie Abstand zum umfließenden Text erzeugen, damit der Text nicht direkt an der Grafik "klebt". Den automatischen Textumfluss können Sie auch abbrechen und die Textfortsetzung unterhalb der Grafik erzwingen. Alle dazu notwendigen Attribute sind allerdings als deprecated gekennzeichnet und sollen künftig aus dem HTML-Standard entfallen. Die gleiche Wirkung lässt sich nämlich auch mit CSS Stylesheets erzielen.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Text des Titels</title> </head> <body> <h1><img src="text.gif" width="311" height="194" align="left" vspace="10" hspace="20" alt="Text?">Ein Text</h1> <p>Manche Texte erschließen sich nur aus der nötigen Distanz. <!-- usw. --> Aber das hier, das ist richtiger Text. Und er fließt sogar, nämlich um die Grafik.<br clear="all"></p> </body> </html> |
Mit align="left"
richten Sie eine Grafik linksbündig aus. Nachfolgend notierter Text fließt rechts um die Grafik.
Mit align="right"
können Sie die Grafik rechtsbündig ausrichten. Der nachfolgend notierte Text fließt dann links um die Grafik.
Von "nachfolgend notiertem Text" wird hier nur der Einfachheit halber gesprochen. Es kann sich um beliebige Elemente handeln, also z.B. auch andere Grafiken, Tabellen, Multimedia-Referenzen usw.
Um Abstand zwischen Grafik und umfließendem Text zu erzeugen, stehen die Attribute hspace=
und vspace=
zur Verfügung.
Mit hspace=
[Pixel] bestimmen Sie den Abstand zwischen Grafik und anderen Elementen links bzw. rechts davon (hspace = horizontal space = horizontaler Abstand).
Mit vspace=
[Pixel] bestimmen Sie den Abstand zwischen Grafik und anderen Elementen darüber bzw. darunter (vspace = vertical space = vertikaler Abstand).
Das Attribut hspace=
betrifft immer den linken und den rechten Randabstand von der Grafik, vspace=
immer den oberen und den unteren Randabstand. Wenn Sie also beispielsweise bei einer links ausgerichteten Grafik hspace=
definieren, wird nicht nur rechts der Grafik zum nebenstehenden Text ein Abstand erzeugt, sondern auch links zum Rand des Anzeigefensters hin. Um dies zu verhindern, können Sie exakter arbeiten, indem Sie CSS Stylesheets verwenden.
Sie können beide Attribute notieren oder auch nur eines davon.
Um den automatischen Textumfluss zu unterbrechen und zu erzwingen, dass alles was folgt unterhalb der Grafik angezeigt wird, können Sie einen Zeilenumbruch mit dem Attribut clear=
notieren.
Mit <br clear="all">
erreichen Sie, dass der Textfluss ab der nächsten Zeile in jedem Fall unterhalb der Grafik fortgesetzt wird.
Mit <br clear="left">
erreichen Sie, dass der Textfluss ab der nächsten Zeile unterhalb einer linksbündig ausgerichteten Grafik fortgesetzt wird.
Mit <br clear="right">
erreichen Sie, dass der Textfluss ab der nächsten Zeile unterhalb einer rechtsbündig ausgerichteten Grafik fortgesetzt wird.
In der Praxis kommt es häufig vor, dass Sie Grafiken sauber nebeneinander oder untereinander platzieren und mit Text beschriften wollen. In solchen Fällen bietet sich das Arbeiten mit "blinden", also unsichtbaren Tabellen an.
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Text des Titels</title> </head> <body> <div align="center"> <table border="0" cellpadding="4" width="600"> <tr> <th><h3>Schadenfreude</h3></th> <th><h3>Erstaunen</h3></th> <th><h3>Skepsis</h3></th> <th><h3>Betretenheit</h3></th> </tr><tr> <td align="center"><img src="ausdruck_1.gif" width="100" height="100" alt="Schadenfreude"></td> <td align="center"><img src="ausdruck_2.gif" width="100" height="100" alt="Erstaunen"></td> <td align="center"><img src="ausdruck_3.gif" width="100" height="100" alt="Skepsis"></td> <td align="center"><img src="ausdruck_4.gif" width="100" height="100" alt="Betretenheit"></td> </tr><tr> <td align="center" valign="top">ist die schönste Freude, kann aber Feinde schaffen</td> <td align="center" valign="top">gebar die Philosophie und wird von Rechthabern immer wieder unterschätzt</td> <td align="center" valign="top">ist bisweilen angebracht, sollte aber nicht das weitere Dazulernen behindern</td> <td align="center" valign="top">ist sehr unangenehm, währt aber nicht ewig</td> </tr> </table> </div> </body> </html> |
Im Beispiel wird eine blinde Tabelle (border="0"
) mit vier Spalten definiert. In der ersten Zeile stehen vier Überschriften, in der zweiten vier entsprechende Grafiken, und in der dritten vier zugehörige Texte. Die Tabelle ist innerhalb eines allgemeinen Bereichs zentriert ausgerichtet (<div align="center">...</div>
) und hat eine Breite von 600 Pixeln.
Mit cellpadding="4"
im einleitenden <table>
-Tag wird sichergestellt, dass sich die Zelleninhalte nicht zu nahe kommen.
Mit align="center"
werden die Datenzellen der zentriert ausgerichtet. Da die Beschriebungstexte unterschiedlich lang sein können, wird mit valign="top"
in deren Datenzellen erreicht, dass sie alle obenbündig ausgerichtet werden.
CSS Stylesheets bieten Eigenschaften an, mit deren Hilfe die beiden Funktionen Grafik zum umgebenden Text ausrichten und Text um Grafik fließen lassen ebenso realisierbar sind wie mit HTML. Das "Fein-Tuning" ist mit Hilfe von CSS sogar deutlich genauer. Mit CSS müssen Sie arbeiten, wenn Sie die in diesem Abschnitt beschriebenen Effekte erzielen und dabei aber mit der HTML-Variante "Strict" arbeiten wollen.
Bei Verwendung von CSS Stylesheets müssen Sie zunächst wissen, wie man CSS-Formate definieren kann. Anschließend sind Sie in der Lage, CSS-Eigenschaften anzuwenden. Maßgeblich sind im hier beschriebenen Zusammenhang folgende CSS-Eigenschaften:
vertical-align (Vertikale Ausrichtung)
float (Textumfluss)
clear (Fortsetzung bei Textumfluss)
Außenrand und Abstand
Anzeigebeispiel: So sieht's aus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Text des Titels</title> </head> <body> <h1>Woran der Denker denkt</h1> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" style="vertical-align:text-top" alt="Denker"> an das Oben?</p> <hr> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" style="vertical-align:middle" alt="Denker"> an die Mitte?</p> <hr> <p>Denkt der Denker <img src="denker.gif" width="70" height="137" style="vertical-align:text-bottom" alt="Denker"> an das Unten?</p> <hr> <h2><img src="text.gif" width="311" height="194" style="float:left; margin-right:20px; margin-bottom:10px" alt="Text?">Oder denkt er an ...?</h2> <p>Manche Texte erschließen sich nur aus der nötigen Distanz. <!-- usw. --> Aber das hier, das ist richtiger Text. Und er fließt sogar, nämlich um die Grafik.<br style="clear:all"></p> </body> </html> |
Mit style="vertical-align:text-top"
erreichen Sie in einem <img>
-Tag das Gleiche wie mit align="top"
,
mit style="vertical-align:middle"
das Gleiche wie mit align="middle"
,
und mit style="vertical-align:text-bottom"
das Gleiche wie mit align="bottom"
.
Mit style="float:left; margin-right:20px; margin-bottom:10px"
wird erreicht, dass die Grafik links ausgerichtet wird und nachfolgender Text rechts um die Grafik fließt. Dabei wird zwischen Grafik und Text ein Abstand von 20 Pixeln gehalten (links von der Grafik wird dagegen, anders als beim HTML-Attribut hspace=
, kein Abstand von 20 Pixeln erzeugt). Nach unten hin, also zum Text unterhalb wird ein Abstand von 10 Pixeln definiert.
Netscape 4.x zerhaut die Anzeige aufs Übelste. Das ist leider ein typisches Beispiel dafür, wie Netscape 4.x die Entwicklung hin zu standard-konformerem Arbeiten ausbremst.
Grafiken als Verweise | |
Grafiken einbinden | |
SELFHTML/Navigationshilfen HTML/XHTML Grafiken |
© 2001 selfhtml@teamone.de