getreidemuehlen
-


Hinweise


Thema geschlossen
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 31.10.2003, 08:33   #1
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg

in den newsletter erschienene artikel


nl 18: das zusammenspiel zwischen xhtml und css -> zum artikel

nl 19: formatierungsmöglichkeiten für hyperlinks (strichlierter unterstrich) -> zum artikel

nl 20: formatierungsmöglichkeiten für hyperlinks (symbole, hintergründe) -> zum artikel

nl 22: "vertical-align" - anwendungsbeispiele (nicht am portal, daher als antwort folgend der artikel)

to be continued

Geändert von prefix (19.11.2003 um 09:59 Uhr).
prefix ist offline  


Alt 06.11.2003, 13:27   #2
TP-Specialist
 
Registriert seit: Aug 2002
Ort: Nähe Wien
prefix ist auf einem guten Weg

vertical-align


hier mein artikel über "vertical-align" vom nl 22:

Zitat:
Die CSS-Eigenschaft "vertical-align" - Die vertikale Ausrichtung von Elementen

Da es immer wieder Fragen zu dieser bzw. Probleme mit dieser Thematik gibt, möchte ich die CSS-Eigenschaft "vertical-align" einmal etwas ausführlicher behandeln.

Die CSS2-Spezifikation sagt darüber folgendes:

Wie im Abschnitt über Inline-Formatierungskontexte (9.4.2) beschrieben, führen Benutzerprogramme Inline-Boxen zu einem vertikalen Stapel aus Zeilen-Boxen zusammen. Die Höhe einer Zeilen-Box wird wie folgt ermittelt:

1. Die Höhe jeder Inline-Box in der Zeilen-Box wird berechnet (siehe Abschnitt 10.6, „Höhen und Ränder berechnen“, und die Beschreibung der 'line-height'-Eigenschaft).
2. Die Inline-Boxen werden vertikal gemäß ihrer 'vertical-align'-Eigenschaft ausgerichtet.
3. Die Höhe der Zeilen-Box ist der Abstand zwischen der oberen Kante der obersten Box und der unteren Kante der untersten Box.

Leere einzeilige Elemente erzeugen leere Inline-Boxen, aber diese Boxen haben dennoch Ränder, Auffüllung, Rahmen und eine Zeilenhöhe und beeinflussen damit diese Berechnungen genauso wie Elemente mit Inhalt.

Beachten Sie, dass die Zeilen-Box genau die Höhe der höchsten Box hat, wenn alle Boxen in der Zeilen-Box ihrer unteren Kante nach ausgerichtet sind. Sind die Boxen dagegen entlang einer gemeinsamen Grundlinie ausgerichtet, kann es sein, dass die obere und untere Kante der Zeilen-Box die untere und obere Kante der höchsten Box nicht berühren.

Was bedeutet das nun in der Praxis??

Ich hab das mal anhand dieses Beispieles verdeutlicht!

Die CSS-Definitionen sehen wie folgt aus:

.beispiel1 {
height: 200px;
width: 500px;
background-color: red;
color: white;
vertical-align: middle;
}

.beispiel2 {
height: 200px;
width: 500px;
background-color: yellow;
vertical-align: middle;
line-height: 200px;
}

td {
height: 40px;
border: 1px solid black;
vertical-align: top;
}

Ich gebe der Klasse "beispiel1" nur ein "vertical-align", der Klasse "beispiel2" zusätzlich ein "line-height" und einer Tabellenzelle (td) ebenfalls nur ein "vertical-align" mit!

Die Einbindung in XHTML 1.0 sieht wie folgt aus:

[...]
< body>
< div class="beispiel1">Ohne Angabe von line-height</div>
< p>Beispiel 2:</p>
< div class="beispiel2">Mit Angabe von line-height</div>
< p>Beispiel 3:</p>
< table width="500" cellspacing="0" cellpadding="0">
< tr>
< td>Hier ben&ouml;tigt man</td>
< td>keine Definition</td>
< /tr>
< tr>
< td>von</td>
< td>line-height</td>
< /tr>
< /table>
< /body>
[...]

Bei der Darstellung kann man nun erkennen, dass:

Beispiel 1 die Definition für "vertical-align" ignoriert - der Text wird oben ausgerichtet, wie das Standard für Container ist;

Beispiel 2 aufgrund der zusätzlichen Definition der "line-height" (gleich hoch wie der Container) den Text korrekt "middle" positioniert! Dies ist jedoch nur "scheinbar" die richtige Interpretation, da "vertical-align" nur auf Inline-Elemente angewendet werden kann;

Beispiel 3 den Text ebenfalls korrekt vertikal oben ausrichtet, allerdings ohne dass es hier einer Defintion der Zeilenhöhe bedarf. (Standardmäßig wird der Text in Tabellenzellen mittig ausgerichtet)

Der Grund liegt darin, dass eine Tabellenzelle im Gegensatz zu einem Container eben nur die Definition "vertical-align" benötigt, nicht aber jene der Zeilenhöhe!

Die hier angeführten Beispiele in folgenden Browsern getestet:

- Internet Explorer 6 / Win
- Mozilla Firebird 0.7 / Win
- Netscape 7.0 / Win
- Opera 7.0 / Win
- IE 5.0 / Mac
- Safari / Mac
- Camino / Mac
- Mozilla Firebird / Mac

Fazit: Vertical-Align funktioniert nur einwandfrei, wenn man dieses auf Tabellenzellen anwendet! Container (Block-Level-Elemente) sind somit nur "scheinbar" damit handelbar!

Geändert von prefix (19.11.2003 um 09:59 Uhr).
prefix ist offline  
Thema geschlossen

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > HTML Puristen
in den newslettern erschienene artikel in den newslettern erschienene artikel
« Oper 5+7 Problem, Opera 6 no problem | Box wird in IE und firebird unterschiedlich breit angezeigt »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:41 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67