Hi,
Ich denke es ist ein Fehler und eine Verkennung der Realität, dass das W3C hier nicht logisch trennt, für mich liegt ein großer Unterschied darin, ob ich eine Website oder eine WebANWENDUNG entwickle, rein aus UI-Sicht, eine Website ist ein Dokument und eine Webanwendung ist eine GUI und die Anforderungen an Layouts sind imho deutlich unterschiedlich und gerade das führt zu Problemen.
Dokumente und Anwendungen sind halt zwei komplett unterschiedliche Paradigmen.
HTML und CSS sind in Hinsicht auf ersteres entwickelt worden;
wer letzteres nach seinen Wünschen und Vorstellungen umsetzen will, sollte sich vielleicht fragen, ob er dazu die geeignete Technik gewählt hat.
Aber ich treffe immer wieder auf das Problem, dass es im W3C-Boxmodell ohne häßlich-langsames JavaScript unmöglich ist, verschachtelte 100%-Höhe-DIVs zu bauen.
Die komplette Philosophie von HTML und CSS aus W3C-Sicht ist nun mal, dass ein Dokument so groß ist, wie es ist - und wenig(er) Rücksicht darauf nimmt, ob irgend jemand nun exakt „einen Bildschirm“ füllen möchte.
Folgendes Problem: ich habe ein Layout, welches mit der Größe des Browserfensters skalieren soll. Dabei kommt es immer wieder vor, dass ich eine DIV mit 100% Höhe habe, in der dann zwei scrollbare DIVs untereinander liegen, die sich den Platz der Parent-DIV teilen sollen, dafür setze ich die Height auf 50%. Nun sollen diese DIVs aber einen Border von 20 Pixel haben, um die Corporate Design-Anforderungen des Kunden sinnvoll abzubilden.
Dann muss man beim CD vielleicht mal Abstriche machen, wenn die verwendete Technik dessen Umsetzung nicht 1:1 her gibt.
Sollte form follows function nicht auch gerade dann gelten, wenn man *Anwendungen* entwickeln will?
Den gewünschten Effekt erreiche ich also nur mit lästigen JavaScript-OnResize-Handlern, die lahm sind und einen schlechten Eindruck bei komplexen GUIs hinterlassen. Oder geht das doch irgendwie anders? Ich weiss, über -moz-box-sizing gehts aber das ist auch irgendwie dirty finde ich.
Erst kritisierst du die Einstellung des W3C - und jetzt gefällt dir das, was zukünftige Versionen des CSS-Standards mitbringen werden, und was einige Browser bereits vorab als „eigene“ Eigenschaften implementiert haben, auch wieder nicht?
Ich sehe das nur als Beispiel an, warum das W3C-Modell für Webanwendungen prinzipiell ungeeignet ist.
Niemand hat behauptet, es wäre dafür geeignet oder auch nur dafür gedacht.
GUIs sind nun mal nicht das, wofür HTML und CSS entwickelt wurden.
Für Websites okay, da ist das Height-Verhalten okay, da man normalerweise die ganze Seite scrollt und nicht einzelne DIVs, aber für GUIs ist der Standard schlecht, falsch und geht an der Realität vorbei und macht nur Probleme.
Dann solltest du vielleicht eine Technik wählen, die deinen Anforderungen eher entgegen kommt.
Autos sind für Bootstouren auch eher schlecht geeignet. Bevor ich mich darüber echauffiere, passe ich aber entweder meine Ansprüche ans Gefährt der Realität und dem vorgesehenen Einsatzzweck an - oder ich wähle ein geeigneteres, möglichst schwimmfähiges Vehikel für meinen Ausflug :-)
[...] was meiner Ansicht nach ein Beleg ist, dass viele Leute, die Websites programmieren etwas mangelnde Weitsicht für GUI-Layouts haben.
Oder das manche Leute, die GUIs entwickeln wollen, zu weder ursprünglich dafür gedachten noch dafür sonderlich geeigneten Techniken greifen.
Dabei ist ja der Gag, dass es bei der Width mit "width: auto" genau richtig funktioniert ;-) warum dann nicht bei "height" irgendeinen Wert (eben nicht "auto" da anders belegt) der genau den gleichen Layoutalgorithmus wie bei "width:auto" anwendet?
Weil die Philosophie eben nicht zu dem passt, was du möchtest.
MfG ChrisB
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]