ich will jetzt echt nicht mehr mit dir streiten....
nur weil man mit speziellen css eigenschaften ein Div dazu bringt, sich wie eine tabelle zu verhalten, heisst noch lange nicht das da die klassische <table> Funktion dahinter steckt....es ist halt eine table funktion von CSS denn css soll ja bekanntlich eine Erweiterung oder Alternative zum klassischen HTML sein
ZitatRoland schrieb
Klar ist der Text mittig - aber nicht mittig in einem Div-Tag, sondern mittig in einem Table-Tag: Mit "display:table-cell;" defenierst du, daß das div sich wie eine Tabellenzelle verhalten soll, dazu gehört aber dann auch, daß das Zellen-Tag (<tr>) in HTML mit definiert wurde.
und da du so gerne Self HTML zitierst, tue ich das hiermit auch mal:
http://de.selfhtml.org/css/eigenschaf…ung.htm#display
selfHTML Beispiel:
<html><head><title>display</title>
<style type="text/css">
div.table { display:table; border-collapse:collapse; }
div.tr { display:table-row; }
div.td { display:table-cell; border:thin solid red; padding:5px; }
</style>
</head><body>
<div class="table">
<div class="tr">
<div class="td">ich</div>
<div class="td">bin</div>
<div class="td">eine</div>
<div class="td">Tabelle</div>
</div>
</div>
</body></html>
Alles anzeigen
ZitatSelfHTML schreibt:
Erläuterung:
Das Beispiel definiert Klassen für div-Elemente. Die Klassennamen heißen genauso wie bekannte HTML-Tabellenelemente. Das muss nicht so sein und ist hier nur zu Demonstrationszwecken so. Die jeweiligen Klassen erhalten mit Hilfe von display Eigenschaften, durch die sich die Elemente, denen sie zugewiesen werden, wie die entsprechenden HTML-Elemente für Tabellen verhalten. Innerhalb des Dateikörpers wird dann im Beispiel eine waschechte Tabelle aus div-Elementen mit class-Attributen zusammengebaut.
Da wir es laut obriger Beschreibung wohl mit einem Zitat "waschechten Tabelle aus Divs" zu tuen haben, beziehen sich auch die evnt. verwendeten zusatzfunktionen wie z.B. Vertical-align auf diese Zitat "waschechten tabellen aus Divs", oder lügt SelfHTML etwa ???
ergo: ein Div kann laut CSS beschreibung ein Vertical-align !!!!!
Was der Browser draus macht, wissen wir bei vielen CSS sachen, ist eine andere Sache....
und die sache mit dem einsamen Display:table-cell Div über das du dich so aufregst....
Stimmt....ich hätte event. eine div verschachtlung machen müssen, um die klassische <table> funktion zu simulieren...
aber ich hätte ja auch
display:inline nehmen dürfen laut w3c:
ZitatAlles anzeigenW3 schreibt
'display'
Value: inline | block | list-item | run-in | compact | marker | table |inline-table| table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit
Initial: inline
Applies to: all elements
Inherited: no
Percentages: N/A
Media: all
ZitatAlles anzeigenw3 schreibt:
'vertical-align'
Value: baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit
Initial: baseline
Applies to: inline-level and 'table-cell' elements
Inherited: no
Percentages: refer to the 'line-height' of the element itself
Media: visual
W3C hat recht, denn die machen die Regeln !!!!
Sehe es doch einfach ein !!!
Gruß,
Peter
ps: DISPLAY ist eine CSS 1.0 Funktion ; VERTICAL-ALIGN ist auch eine CSS 1.0 Funktion !!!!