Karin: Sinnvoll? Angaben zu Bildern in Style Sheets hinterlegen?

Hallöchen alle miteinander,

dies ist mein erster Besuch hier im Forum und ich bin schon ganz gespannt. :-)
Schöne Grüße an alle erst einmal.
Dies ist kein wirkliches Problem, sondern nur ein Gedanke, bei dessen Weiterverfolgung ich um Eure Hilfe bitte.

Zum Hintergrund meiner Frage:
Ich besitze eine ganze Reihe von Bildern, die allesamt exakt die gleiche Breite und Höhe haben. Zunächst hatte ich zu jedem Bild einzeln eine Breiten- und Höhenangabe direkt im HTML Dokument gemacht. Dann kam mir die Idee, die Angaben einfach nur einmal in meiner seperaten CSS Datei zu hinterlegen, so dass sie für jedes Bild gelten.

Ich hatte in SELFHTML unter http://selfhtml.teamone.de/html/grafiken/einbinden.htm#breite_hoehe gelesen, dass die Breiten- und Höhenangaben sinnvoll wären, da der Browser in dem Fall schon vorher auslesen kann, wie groß die Grafiken sind, noch bevor sie angezeigt werden.

Meine eigentliche Frage wäre nun:
Würde derselbe Effekt auch erzielt, wenn ich die Angaben in einem seperaten Style Sheet hinterlegen würde? Oder macht das aus bestimmten Gründen, die mir noch nicht klar sind, keinen Sinn, birgt es Nachteile, oder ist aus diesem oder jenem Grund nicht zu empfehlen und gibt es dabei was zu beachten?

Ich hoffe jetzt mal auf eine Antwort und bedanke mich im Vorraus für eventuelle Bemühungen. :-)

Viele liebe Grüße,
Karin

  1. Hallo Karin,

    dies ist mein erster Besuch hier im Forum und ich bin schon ganz gespannt. :-)

    willkommen :-)

    Ich hatte in SELFHTML unter http://selfhtml.teamone.de/html/grafiken/einbinden.htm#breite_hoehe gelesen, dass die Breiten- und Höhenangaben sinnvoll wären, da der Browser in dem Fall schon vorher auslesen kann, wie groß die Grafiken sind, noch bevor sie angezeigt werden.

    SELFHTML gelesen, FAQs gelesen und umgesetzt, ein optimaler Start.
    Ich kann Dir leider keine definitive Antwort geben. Allerdings sollte der Browser die CSS-Angaben genauso zur Berechnung der Ausgabe nutzen können wie die width- und height-Angaben.

    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

    Würde derselbe Effekt auch erzielt, wenn ich die Angaben in einem seperaten Style Sheet hinterlegen würde? Oder macht das aus bestimmten Gründen, die mir noch nicht klar sind, keinen Sinn, birgt es Nachteile, oder ist aus diesem oder jenem Grund nicht zu empfehlen und gibt es dabei was zu beachten?

    Wenn Du das gleiche Grafikformat in unterschiedlichen HTML-Dokumenten verwendest, solltest Du Deine Definition auf jeden Fall in einer externen CSS-Datei unterbringen.

    Ich hoffe jetzt mal auf eine Antwort und bedanke mich im Vorraus für eventuelle Bemühungen. :-)

    Viele liebe Grüße,
    Karin

    Liebe Grüße zurück,

    Vinzenz

    1. Hallo Vinzenz,

      vielen Dank für Deine Antwort und das Willkommen, ich hatte ja gar nicht so schnell damit gerechnet. :-)
      Ich denke, dass ich Deinen Rat umsetzen und mich an CSS halten werde. Sollte ich doch irgendwann mal etwas lesen, das dagegen spricht, kann ich es ja immer noch ändern.

      Viele Grüße und danke noch mal,
      Karin

    2. 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)
      1. Hallihallo,

        auch Dir vielen Dank für Deine ausführliche Antwort, Sven. :-)
        Die hat jetzt natürlich dazu geführt, dass ich unsicher geworden bin, aber vielleicht ist das ja auch ganz gut so, das regt immer zum Nachdenken an. ;-)
        Auf jeden Fall habe ich nachgelesen, ob die beiden Attribute als deprecated gekennzeichnet sind und allem Anschein nach sind sie es tatsächlich nicht.
        Ich habe jetzt beschlossen, mich erst einmal anderen Dingen an der Website zuzuwenden und sämtliche Breiten- und Höhenangaben wegzulassen. Keine Sorge, ich werde sie auf jeden Fall noch einbinden, bevor ich die Site online stelle, aber vielleicht ergibt sich bis dahin ja noch etwas Neues, man weiß ja nie.

        Viele liebe Grüße wünscht,
        Karin (die sich sehr über die prompte Hilfe freut)

        1. Moin!

          Die hat jetzt natürlich dazu geführt, dass ich unsicher geworden bin, aber vielleicht ist das ja auch ganz gut so, das regt immer zum Nachdenken an. ;-)

          Durchaus nicht verkehrt.

          Allerdings denke ich, dass der Standard in diesem Fall auf meiner Seite ist. :)

          http://www.w3.org/TR/xhtml1/dtds.html#dtdentry_xhtml1-strict.dtd_img
          Der Link führt zur Definition von <img> im Standard XHTML 1.0 Strict. Also so mit das härteste, was man heutzutage einem Browser und einem Webseitenmacher vorsetzen sollte. Da ist nichts deprecated drin, das ist alles schon komplett rausgeworfen (bzw. in der Transitional-Variante drin.

          Und da in der Attributeliste von img width und height explizit erwähnt sind, bedeutet das implizit die Aufforderung, diese Attribute auch zu benutzen. :)

          - Sven Rautenberg

          --
          "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
      2. Hallo

        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.

        Sven, Du hast vollkommen recht *schäm*. Ich hab nachgeschlagen, http://www.w3.org/TR/html401/struct/objects.html#adef-height-IMG.
        Das kommt davon, wenn man schlampig recherchiert :-( Eine Behauptung, die man auf der erst besten Webseite zu diesem Thema findet, ohne zu überprüfen, ist mehr als leichtsinnig. Ich hätte es besser wissen müssen. Der Rest beruht weitgehend auf Folgefehlern.

        Danke für die Klarstellung, freundliche Grüsse,

        Vinzenz