Ben 1: Schrweibweise für Wert von style.width

Hallo,

eine Frage zu Grundsätzlichem - vielleicht mag mich jemand von Euch aufklären;

Welche der beiden nachfolgenden Schreibweisen ist korrekt bzw. regelgerecht: (als Beispiel "width")

document.getElementById("box1").style.width = "100";

document.getElementById("box1").style.width = "100px";

Es geht also um die Einheit "px" !

Funktionieren tut beides, aber das ist ja öfter so. Wie verhält es sich diesbezüglich in den aktuellen Browsern (IE 5+ und IE6, Firefox etc.) und hier jeweils unter Anwendung der Doctype Varianten "transitional" und "stict" ?

Mit freundlichen Grüßen

Ben 1

  1. Hi!

    Welche der beiden nachfolgenden Schreibweisen ist korrekt bzw. regelgerecht: (als Beispiel "width")

    document.getElementById("box1").style.width = "100";

    document.getElementById("box1").style.width = "100px";

    Schau dir doch diesbezüglich einfach das zugehörige Kapitel in Selfhtml an:

    http://de.selfhtml.org/javascript/objekte/style.htm

    Grüße,
    Fabian St.

    --
    Endlich online: http://fabis-site.net
    --> XHTML, CSS, PHP-Formmailer, Linux
    Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
  2. document.getElementById("box1").style.width = "100";

    Überleg doch zunächst mal selber!
    Kann der Browser bei obiger Zuweisung wissen, wie breit das Element mit der id "box1" sein soll?

    Damit Du Deine Kapazitäten für wichtigeres freihalten kannst Die Antwort:
    Nein, er kann es nicht wissen!

    Es ist Grundwissen aus dem Physikuntericht der 8. Klasse, daß zur Angabe einer Meßgröße neben dem Wert auch immer die Einheit gehört, alles andere ist nutzlos.

    Gruß
    Avalon

  3. Hi,

    document.getElementById("box1").style.width = "100";

    falsch.

    document.getElementById("box1").style.width = "100px";

    Richtig.

    Die Eigenschaft width erlaubt als Wert die Konstanten auto und inherit oder aber eine Länge oder einen Prozentwert.
    Eine Länge besteht aus Zahl plus Einheit.

    cu,
    Andreas

    --
    MudGuard? Siehe http://www.Mud-Guard.de/
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi MudGuard,

      Eine Länge besteht aus Zahl plus Einheit.

      Immer? Nein, ein kleines Dorf voller Nullen leistet nach wie vor den schönsten Leitsätzen heftigen Widerstand.

      Ben: http://www.w3.org/TR/CSS21/syndata.html#length-units

      Grüße,
       Ro*SCNR*land

      1. Hi,

        Eine Länge besteht aus Zahl plus Einheit.
        Immer? Nein, ein kleines Dorf voller Nullen leistet nach wie vor den schönsten Leitsätzen heftigen Widerstand.

        Na so heftig ist der Widerstand ja nicht - schließlich wehren sich die Nullen ja nicht gegen die Einheit, es ist ja auch 0em, 0ex, 0px, 0pt, 0cm, 0in, 0mm, 0pc erlaubt.

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  4. Hallo den Antwortern,

    was MAN SICH DENKEN KANN und WAS LOGISCH ist, ist eben eine Sache ...

    Festhalten muss ich trotzdem:

    Es funktioniert halt wider alle Regeln - und es wird in sehr vielen (auch den teuren) Fachbüchern dann offenbar falsch geschrieben.

    Das hat mich eben stutzig gemacht.

    Werde mich dann ab sofort an die von Euch empfohlene reine Lehre halten.

    :)

    Herzlichen Dank nochmal

    Ben 1

    1. Hi,

      Es funktioniert halt wider alle Regeln

      z.B. im Mozilla im Strict-Modus nicht.

      cu,
      Andreas

      --
      MudGuard? Siehe http://www.Mud-Guard.de/
      Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. Hi,

        z.B. im Mozilla im Strict-Modus nicht.

        Auch im IE6 im Strict-Modus nicht - wie gesagt, diverse Literatur
        (bis ins Jahr 2004) "vergessen" die Angabe einer Maßeinheit wohl ...

        Dank nochmals

        Ben 1 bis 2