Hi,
Inline-Styles sind nötig, wenn Inline-Styles nötig sind.
Ist die Frage, inwieweit sie wirklich "nötig" sind. Ich sehe nicht, daß sie "nötig" wären. Warum sind sie denn deiner Meinung nach "nötig"?
IMHO werden sie verwendet, weil das "einfacher" ist, oder zumindest einfacher zu sein scheint (oder weil die Webdesigner überhaupt nicht wissen, daß man auch Stylesheets dynamisch ändern kann, bzw. daß, wenn sie es wissen, feststellen, daß es keinen Bereich gibt, wo die browserübergreifende Programmierung so ärgerlich ist). Im Webdesign wird viel Unfug gemacht, weil es einfacher zu sein scheint. Da fallen mir spontan zahlreiche Beispiele ein - das muß ich dir doch nicht sagen ...
Beim Setzen einer Eigenschaft auf einen im Script berechneten Wert, z.B. bei Effekten, gibt es nur die Möglichkeit, mit Inline-Styles zu arbeiten.
Nein, auch hier kann man das Stylesheet ändern, anstatt mit Inline-Styles zu arbeiten.
Und manchmal kann man nicht nur das Stylesheet ändern, sondern man muß es. Z.B. wenn man Pseudo-Stile/Elemente dynamisieren will (was mit Inline-Styles überhaupt nicht geht), oder wenn die Änderungen nur für den Bildschirm, aber nicht für den Drucker gemacht werden sollen (mit Inline-Styles lassen sich nur Stile setzen, die für alle Medien gelten - warum z.B. Objektanimation, die für den Bildschirm berechnet wird, auch für das Drucklayout gelten soll, erschließt sich mir eigentlich auch nicht). Und ob es wirklich sinnvoll ist, bei z.B. 1000 Elemente jeweils den Inline-Style zu verändern, anstatt einmalig die Regel für diese Elemente, sei mal auch dahingestellt ...
... zumal wenn Du selbst an anderer Stelle ja um jeden JS-Pups ringst, als wenn von einer längeren JS-Schleife der Untergang des Abendlandes abhängen würde. >;-)
Hier könnte man höchstens, wie du auch vorschlägst, die Formatierungen dynamisch dem CSS entnehmen, damit im JavaScript nur die Logik »transformiere von Zustand 1 zu Zustand 2« steht, und die Zustände selbst im Stylesheet stehen.
Das kommt noch dazu: JS soll etwas ändern, aber das Ergebnis der Änderung ist "nur" eine Stileigenschaft, und wenn die im Stylesheet steht (und damit nicht von der Arbeit des JS-Programmieres abhängt, sondern der Kontrolle des Screendesigners unterliegt, der für das Stylesheet verantwortlich ist), dann kann der CSS-Verantwortliche später noch jederzeit sagen: Super, aber die Farbe gefällt mir nicht. Da ändere ich mein CSS, und kann den JS-Code in Ruhe lassen (oder gar schlimmstenfalls: der Effekt gefällt mir mom. gar nicht, aber ich ändere nicht das JS, sondern ändere das CSS erstmal so, daß der Effekt nicht sichtbar ist).
Gruß, Cybaer
--
Man muß viel gelernt haben, um über das, was man nicht weiß, fragen zu können.
(Jean-Jacques Rousseau, Philosoph u. Schriftsteller)