Moin!
Da die Attribute width und height als depracated deklariert sind, sollte der Verzicht noch leichter fallen. Zudem sind Deine Bilder von gleicher Größe, damit bietet sich eine Klassenbildung an. Es spricht meiner Meinung nach alles für CSS
Das deprecated gilt aber nicht für alle Attribute aller Elemente.
Für <img> ist das Attribut alt vorgeschrieben, und das Attribut src sinnvoll. Das bedeutet aber nicht, dass alle anderen Attribute jetzt verboten sind. Im Gegenteil: Wenn die Information über die Bildgröße nur im CSS stehen würde, müßte ein Browser, der zwar Bilder anzeigen kann, aber kein CSS kennt, wieder solange warten, bis er das Bild geladen hat.
Die Attribute width und height sind für <img> eben gerade _nicht_ deprecated. Ich würde sie im Interesse der Kompatibilität _immer_ in HTML einsetzen, und sie nicht in CSS einbinden. Weil der Sonderfall "mehrere Bilder sind identisch groß und können deshalb mit einer CSS-Klasse abgedeckt werden" eben nur ein seltener Sonderfall sind. Würde man das Vorgehen, Bildgrößen nur im CSS anzugeben, allgemein anwenden wollen, hätte man sehr viel damit zu tun, den einzelnen Bildern Identifikationsmerkmale mitzugeben, damit man einen CSS-Selektor zum Formatieren des einzelnen Bildes nutzen kann.
Aber wirklich viel dadurch einsparen tut man nicht. Die Größenangaben aus dem HTML wandern nahezu unverändert ins CSS, aber man hat die zusätzliche Schwierigkeit, dass man mit den IDs (die man im einfachsten Fall verwenden würde) nicht durcheinanderkommen darf.
Da alle diese Methoden unpraktischer sind, als die klassische HTML-Methode, halte ich nichts davon. Und da die HTML-Methode auch nicht verboten ist und sich zudem gute Gründe finden lassen, die Angaben zur Größe einer Pixelgrafik beim Einbinden ebendieser Pixelgrafik gleich mit dazuzuschreiben, ist an der klassischen Methode auch nichts verwerfliches zu finden.
Wenn Du das gleiche Grafikformat in unterschiedlichen HTML-Dokumenten verwendest, solltest Du Deine Definition auf jeden Fall in einer externen CSS-Datei unterbringen.
Eine Grafik kann man mit CSS nicht sonderlich formatieren. Es gibt padding, border, margin, text-align, vertical-align - und das war es dann im Prinzip schon.
Natürlich gehören derartige Angaben in ein CSS. Aber da CSS die Einbindung mittels <img> nicht ersetzen kann, ist nichts gegen die Angaben width und height im HTML-Tag zu sagen.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)