@Zoddy
NeP: „Es mag Ausnahmen geben, aber soweit wie möglich verzichte ich auf alles.“
Eigentlich geht es nicht darum, so weit wie möglich auf alles zu verzichten, sondern die richtigen Tags für das einzusetzen, für das sie gedacht sind.
Mag auch eine Sache des Geschmacks sein, ich kann nur für mich sprechen. Ich arbeite über 25 Jahre im Bereich SW-Entwicklung und ich bin einen weiten Weg gegangen. Bei gelbeseiten.de habe ich damals noch Layout mit Tabellen aufbauen müssen, zum Teil einzelne Zellen die nur 1px*1px waren, auch das trans.gif dürftest Du noch kennen. Wenn es um ein Layout geht, das wirklich genau ist, ist weniger wirklich mehr, das sind Erfahrungswerte, das was ich heute mit DIV und float mache ist hart erarbeitet. Was ich dabei an Bugs in den Browsern entdeckt habe ist echt faszinieren, wirklich Dinge die man nicht glauben will.
Man hat nämlich nix davon bspw. Tabellen durch eine DIV-Suppe zu ersetzen, wo Tabellen eigentlich sinnvoll sind und wofür sie gedacht sind.
Ich habe genau das getan und die Tabelle aus dem Layout geworfen und durch eine „DIV-Suppe“ ersetzt. Das vom Kunden gewünschte Layout mit den Funktionalitäten ließ sich auch nicht wirklich
komfortabel mit einer Tabelle abbilden.
Es waren Border gewünscht und autoscroll und einiges mehr. Es hat zwar sehr viel Zeit gekostet, die Tabelle zu entwickeln und alle Bugs in den einzelnen Browsern zu umschiffen, und es wurden einige Tricks verwendet aber das Ergebnis hat für alles entschädigt. Ich habe zuvor lange versucht es mit einer Tabelle hinzubekommen, aber das war viel nerviger und nicht wirklich möglich.
NeP: „Das wäre dann eine der Ausnahmen.
Traurig, das Barrierefreiheit eine Ausnahme bei dir ist.
Wie auch immer, es ist aber so, das es nicht oft vom Kunden explizit gefordert wird, das Web ist nun mal hauptsächlich visuell. Auch sehe ich nicht wirklich, wo ich durch DIV’s Barrieren schaffen würde, Layout mit Tabellen zu gestallten ist hier eben viel kritischer. Wo ein Bild über CSS in einem DIV ist, kann dennoch ein Title angegeben werden.
Sorry, das ich das so hart sagen muss, aber zu guten Webdesign gehört weit mehr, als nur möglichst viele Tagarten nicht zu nutzen.
Kein Problem, ist Deine Meinung. Ich weiß was ich mache, meine Kunden sind sehr zufrieden, ich habe sehr viele Layouts optimiert und sauber in HTML, CCC und JS zerlegt. Im Schnitt hole ich so über 80% an Code raus und die Seiten werden sehr schlank, und die CSS enthalten nur das, was sein muss. Es ist nämlich in der Regel so, das wenn eine Applikation über Jahre wächst und viele verschiedene Entwickler daran arbeiten, es zum Ende unzählige ‚class’ gibt, jeder was überschreibt, browserweichen gebaut werden und mit ‚!important’ geaast. Zum Ende blickt keiner mehr durch, und wenn dann das Layout in einem Browser explodiert, weiß keiner mehr welche „class“ nun in welcher Datei das Layout zerschießt.
Wie gesagt, ich spreche da aus Erfahrung. Ich wurde extra oft gezielt dafür angefordert um Layouts die völlig überfrachtet waren, und durch die wirklich kaum einer noch durchgestiegen ist, zu optimieren und zu entschlacken.
Es geht dabei auch um die Unterscheidung, zwischen auszeichnenden und stilistischen Tags (siehe "b" und "strong"). wenn du Images mit DIV anzeigst, obwohl sie keine Hintergrundbilder sind, machst du damit die Semantik kaputt.
Bisher hat sich keiner beschwert und kaputt habe ich auch nichts gemacht. Wie gesagt, Du kannst es ja wie Du magst handhaben, ich habe da meinen Weg gefunden, und die Kunden sind immer mehr als zufrieden.
NeP: „Wenn man IMG ohne Abstand in allen Browser gleich „stapeln“ will, muss das IMG von ‚inline-block’ auf ‚block’ gesetzt werden. Hab da auch mal mit gekämpft.“
Und? Was hatte das jetzt mit meiner Frage zu tun? Einen IMG Tag auf "block" zu setzen ist nicht wirklich schlimm, versteht ja sogar der IE6.
Gut ich will Dir mal den Vorteil erzählen. Wenn ich ein Bild über DIV einbinde, habe ich den Pfad in einer CSS ‚class’ ich kann so alle Bilder in einer CSS-Datei pflegen, diese einfach beliebig ändern und muss nicht durch zig HTML Seiten suchen und dort den Pfad in zig IMG Tags ändern. Ja man kann so was mit einem Script machen, aber dennoch haben meine Kunden den Vorteil klar erkannt.
NeP: „Natürlich „floate“ ich alle meine DIV’s war ein langer Kampf bis eine Rahmenframework fürs Layout browserübergreifend so in CSS gegossen war, das man die umliegenden Container mit den innersten „aufblasen“ konnte, und nicht mehr jedem Container eine Größe und Breite geben musste.“
Sorry, aber so etwas sollte Standardwissen eines modernen Webdesigners sein.
Das ist Wunschdenken, und dem FF muss man auch mit Tricks davon überzeugen dass er die umliegenden Container auch mitnimmt, wenn der innere „gefüllt“ wird. Das es im IE6 und IE7 geht, war nämlich im Grunde ein Bug, der aber später eben von Vorteil war. Ich denke Dir sagt auch YAML etwas, in diese Richtung geht es, wobei mir das eben nicht gerecht hat, weil da eben immer noch Unterschiede zwischen den einzelnen Browsern sind. Es ist also mit Sicherheit nicht die Regel, das ein Layout mit DIV und float von innen nach außen aufgezogen wird, und der innerste Container als einziger Höhe und Breite hat und über diesen eben alles gesteuert wird.
Normal macht da auch kein Browser Probleme, außer der IE6 und der auch nur, wenn man ihm im Quirksmodus lässt.
Ich weiß nicht, was Du so gemacht hast und wie komplex die Layouts gewesen sind, an denen Du geschraubt hast, und den Quirksmodus zu nutzen ist eh böse. Die Seiten müssen alle strict sein und sauber durch den Validator rauschen.
Eine ordentliche Doctype Angabe und schon hat er nur noch minimale Fehler.
Schön wäre es. Es gibt so viele Bugs gerade im IE6 sei es, das er den margin verdoppelt oder anderes.
NeP: „Weniger ist manchmal mehr, wie gesagt ich mach das beruflich und das was ich so mache wird schon gewürdigt, da es eben so unheimlich flexibel ist. Schau, das ist ja nur eine Seite, ich arbeite dann ja auch mit JAVA mit Applikationsservern, JSP, SOA und dem ganzen Schrott. Geht auch um Portale, also auch wirklich große Anwendungen die gegen zig DB’s gehen.“
Was auch immer Skalierbarkeit der Anwendung mit Design zu hat, erklärst du mir aber noch.
Ich habe nichts zur Skalierbarkeit gesagt. Es ist so, dass es „Designer“ gibt, die ein Layout vorgeben, und dann 30 Entwickler versuchen das in HTML zu gießen, und dass die zig Versionen von zig Browsern auf unterschiedlichen Betriebsystemen nutzen. Da werden Aufträge für Teilanwendungen an externe Firmen gegeben, die dann ein „Portlet“ liefern sollen, das dann im Context des Applikationsservers läuft. Da ist Chaos vorprogrammiert. Ich weiß nicht ob Du den BEA Portlet Server kennst, aber was der selber schon so an „class“ und CSS mitbringt ist grausam. Wenn dann auf mal dann alles zusammen gehauen wird, und das eine Portlet der einen Firma ein anderes zum Teil verdeckt, versuch mal, das mit den Entwicklern an einem Tisch zu klären. Da wird hin und her geschoben, da werden DIV’s rumgeprügelt und verschoben, dass einem die Augen tränen. Ich weiß nicht, ob Du wirklich weißt, wie heutzutage Projekte umgesetzt werden, die mehrere Millionen Euro an Budget haben, und an dem 40 Entwickler über Jahre dran arbeiten. Und da wird das Frontend generell immer vernachlässigt. Ich arbeite ja nicht nur als Entwickler ich bin Unternehmensberater und ich koordiniere auch große Projekte und darf auch oft dann rann, wenn es brennt und alles zerschossen ist. Es ist wirklich wichtig sauber zu arbeiten und HTML, CSS und eben JS zu trennen, und einen rahmen vorzugeben, damit eben nicht jeder Entwickler aus jeder Firma ein Stapel an CSS Dateien liefert, die er auch noch für sein Portlet auf den Server haben will.
Irgendwie habe ich wirklich das Gefühl, das du ein wenig angeben willst, denn JSP, SOA, JAVA haben mal so genau gar nichts mit guter und durchdachter Semantik zu tun.
Ich brauche nicht angeben, ich weiß wovon ich schreibe, und das war nun nichts Besonderes wirklich spannend wird es mit BPM und mit Codegeneratoren, die aus Modeln Anwendungen generieren. Ich bin von vorne durchgelaufen, ich habe wirklich mit den Architekturen zu tun.
Das sind zwei vollkommen verschiedene Bereiche. Stichwort: MVC-Patterns.
MVC ist nun doch wirklich der Einstig, dass eine Architektur in Schichten aufgebaut ist und dass diese auch sauber zu trennen sind ist wohl selbstredend. Mag sein dass das für Dich nach Angabe klingt, aber was soll ich machen, ich arbeite nun mal in diesem bereich und es ist mein tägliches Brot. Es gibt Entwickler die machen mal hier und mal da eine HP und es gibt welche die arbeiten an richtig großen Anwendungen, die auf mehreren Server verteilt laufen, zig DB’s ansprechen und von über 5.000 Nutzern gleichzeitig angesprochen werden. Wenn da 30 und mehr Tomcat Instanzen laufen und 50 Requests und mehr in der Sekunde drücken, dann macht am Ende auch wieder die Größe der generierten HTML Seite die im Response liegt eine Menge aus. Aber wir kommen vom Topic ab. Ich wollte im Grunde ja nur im Pfad nach oben.
:)