lina-: Img-Attribute width und height

moin liebes Forum :)

heute habe ich mal wieder ein Problem mit dem Mozilla für MacOs.
Folgendes Html-Javascript-Css-Wirrwarr habe ich:
<html>
<script type="text/javascript">
function load(){
  document.getElementById("test").style.height="200px";
}

</script>
<body>
<div id="test" style="border-color:red;border-style:solid;border-width:2px">
</div>
<a href="javascript:load()">Div vergrößern</a>
<script type="text/javascript">
var img=document.createElement("img");
   img.src="[Pfad zu einem beliebigen Bild]";
   img.border="0";
   img.height="50";
   img.width="50";
  document.getElementById("test").appendChild(img);
</script>
</body>
</html>

Was soll das tun?
Es soll ein Bild in das Div setzen und die Größe auf 50px setzen.
Bei Klick auf den Link soll _nur_ das Div vergrößert werden.
Funktioniert im IE und im Firefox toll.

Mit dem Mozilla 1.3 unter MacOs9 wird das Bild wieder auf seine ursprüngliche Größe gesetzt!

Ich habe mittlerweile herausgefunden, wie ich das umgehen kann.
Klar kann ich einfach statt img.width img.style.width setzen. So gehts in allen Browsern.

Trotzdem wundere ich mich über zwei Dinge:
1. Wieso zeigt der Firefox gar kein Bild, wenn ich img.width="50px" (px!) angebe? Ich weiss, dass ich keine Einheit angeben brauche und automatisch px herangezogen wird... aber trotzdem sollte das doch funktionieren, wenn ich eine Einheit angebe - oder?
2. Wieso legt der Mozilla unter Mac ein so seltsames Verhalten an den Tag, dass der die Imageattribute "vergisst"?

Weiss da jemand was zu?
PS: ich möchte nicht über Sinn oder Unsinn dieses Codes diskutieren ;) Natürlich werde ich mit styles weiterarbeiten... trotzdem beschäftigt mich das Problem... Attribute können doch noch nicht sooo veraltet sein.

liebe Grüße aus Berlin
lina-

--
Dinge aus dem linaland
Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
  1. Moin

    1. Wieso zeigt der Firefox gar kein Bild, wenn ich img.width="50px" (px!) angebe? Ich weiss, dass ich keine Einheit angeben brauche und automatisch px herangezogen wird... aber trotzdem sollte das doch funktionieren, wenn ich eine Einheit angebe - oder?

    nein, denn das ist einfach falsch!

    Gruß
    rfb

    1. moin rfb :)

      nein, denn das ist einfach falsch!

      Diese Aussage benötigt Erklärung... _was_ ist falsch?

      liebe Grüße aus Berlin
      lina-

      --
      Dinge aus dem linaland
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. Hi!

        Diese Aussage benötigt Erklärung... _was_ ist falsch?

        Bei Angaben zu height oder width eine Einheit zu verwenden.

        mfG

        --
        sh:( fo:§ ch:{ rl:? br:> n4:# ie:} mo:? va:) de:µ zu:| fl:( ss:{ ls:~ js:)
        "And all those exclamation marks, you notice? Five? A sure sign of someone who wears his underpants on his head."
        (Terry Pratchett)
    1. Wieso zeigt der Firefox gar kein Bild, wenn ich img.width="50px" (px!) angebe? Ich weiss, dass ich keine Einheit angeben brauche und automatisch px herangezogen wird... aber trotzdem sollte das doch funktionieren, wenn ich eine Einheit angebe - oder?

    Falsch! Längenangaben in HTML sind, wenn es Pixel sein sollen, *ohne* Einheit! Beispiel: width="500" bedeutet "500 Pixel Breite". In CSS hingegen *muss* bei Längen eine Einheit angegeben werden (Ausnahme ist hierbei 0, da ist es optional). Beispiel: width:500px bedeutet "500 Pixel Breite".

    --
    Reden ist Silber, Schweigen ist Gold, meine Ausführungen sind Platin.
    Self-Code: sh:( ch:? rl:( br:> n4:( ie:{ mo:) va:) de:> zu:} fl:| ss:| ls:~ js:|
    1. moin Timo, Benjamin :)

      Ok.. wusste ich nicht.
      das erklärt zumindest das Verhalten vom Firefox...
      Aber was ist mit dem Mozilla?

      liebe Grüße aus Berlin
      lina-

      --
      Dinge aus dem linaland
      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
      1. das erklärt zumindest das Verhalten vom Firefox...
        Aber was ist mit dem Mozilla?

        Firefox ist ein Mozilla

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. moin Struppi :)

          Firefox ist ein Mozilla

          Gibt es Firefox für MacOS9?

          liebe Grüße aus Berlin
          lina-

          --
          Dinge aus dem linaland
          Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
          1. Firefox ist ein Mozilla

            Gibt es Firefox für MacOS9?

            Weiß ich nicht, steht das nicht. Steht das nicht auf http://www.mozilla.org/

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. moin Struppi :)

              Gibt es Firefox für MacOS9?

              Weiß ich nicht, steht das nicht. Steht das nicht auf http://www.mozilla.org/

              Das war eine rhetorische Fragen... Nein es gibt ihn nicht. Firefox läuft erst auf MacOsX.

              liebe Grüße aus Berlin
              lina-

              --
              Dinge aus dem linaland
              Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
              1. Gibt es Firefox für MacOS9?

                Weiß ich nicht, steht das nicht. Steht das nicht auf http://www.mozilla.org/

                Das war eine rhetorische Fragen... Nein es gibt ihn nicht. Firefox läuft erst auf MacOsX.

                Trotzdem ist Firefox ein Mozilla

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. moin Struppi :)

                  Trotzdem ist Firefox ein Mozilla

                  Sorry - aber das ist unlogisch... wenn es für dieses Betriebssystem keinen Firefox gibt, kannst du nicht behaupten, der aktuelle Firefox wär das gleiche wie der damalige Mozilla.

                  liebe Grüße aus Berlin
                  lina-

                  --
                  Dinge aus dem linaland
                  Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
                  1. Trotzdem ist Firefox ein Mozilla

                    Sorry - aber das ist unlogisch... wenn es für dieses Betriebssystem keinen Firefox gibt, kannst du nicht behaupten, der aktuelle Firefox wär das gleiche wie der damalige Mozilla.

                    hab ich nicht, unter Hilfe 'über..' steht welche Gecko Version jeweils dahinter steht.

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
        2. Hallo,

          Aber was ist mit dem Mozilla?
          Firefox ist ein Mozilla

          ja, aber anscheinend ein abgespeckter.
          Und wenn es ums Testen von Webseiten in verschiedenen Browsern geht, dann liest man auch hier im Forum immer wieder, dass es wohl nicht nur im Funktionsumfang, sondern auch im Verhalten kleine Unterschiede zwischen Firefox und dem großen Bruder Mozilla gibt. Ich vermute deshalb, dass sie nicht dieselbe, sondern nur eine sehr ähnliche Engine verwenden.

          Daher ist die Frage "Firefox okay, und was ist mit Mozilla?" IMHO gar nicht so abwegig.

          So long,
           Martin

          --
          Es sagte...
          ein korpulenter Lehrer zu einem Schüler, der ihn ein Fass genannt hatte: "Nein. Ein Fass ist von Reifen umgeben, ich dagegen von Unreifen."
          1. Daher ist die Frage "Firefox okay, und was ist mit Mozilla?" IMHO gar nicht so abwegig.

            Naja, bei der Frage ging es ja um eine grundsätzliche Sache und da sollten sich die verschiedenen Gecko Versionen nicht unterscheiden.

            Aber da ich keine Möglichkeit habe ein MacOS9 zu testen, weiß ich nicht wie das Verhalten zu erklären ist.

            Aber ich habe es auch nicht genau verstanden was da wann passiert soll, es sind zu viele Fragen offen.

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. moin Struppi :)

              Naja, bei der Frage ging es ja um eine grundsätzliche Sache und da sollten sich die verschiedenen Gecko Versionen nicht unterscheiden.

              Tun sie aber... wie beschrieben.

              Aber ich habe es auch nicht genau verstanden was da wann passiert soll, es sind zu viele Fragen offen.

              Zum Beispiel? Mich hat niemand gefragt...

              liebe Grüße aus Berlin
              lina-

              --
              Dinge aus dem linaland
              Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
            2. moin Struppi :)

              Aber ich habe es auch nicht genau verstanden was da wann passiert soll, es sind zu viele Fragen offen.

              Bin grad mal auf die glorreiche Idee gekommen den Mozilla für Windows zu installieren (Version 1.7.8).
              Hier funktioniert alles wie im Firefox.

              Ergo scheint es ein Versions- oder Betriebssystemproblem zu sein. (wobei ich ja fast auf Version tippen würde)

              liebe Grüße aus Berlin
              lina-

              --
              Dinge aus dem linaland
              Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
              1. Hi,

                Hier funktioniert alles wie im Firefox.
                Ergo scheint es ein Versions- oder Betriebssystemproblem zu sein. (wobei ich ja fast auf Version tippen würde)

                Nichts für ungut, aber wo ist der Sinn, herauszufinden, welcher Browser in welcher Version unter welchem OS falschen Code so interpretiert, wie es der Autor gerne hätte? Soll der Autor doch gefälligst korrekten Code produzieren ... =:-)

                Gruß, Cy-"wer keine Probleme hat, macht sich welche >;-)"-baer

                --
                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                1. moin Cybaer :)

                  Nichts für ungut, aber wo ist der Sinn, herauszufinden, welcher Browser in welcher Version unter welchem OS falschen Code so interpretiert, wie es der Autor gerne hätte? Soll der Autor doch gefälligst korrekten Code produzieren ... =:-)

                  Es ist nicht korrekt Attibute per Dom zu setzen?

                  liebe Grüße aus Berlin
                  lina-

                  --
                  Dinge aus dem linaland
                  Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
                  1. Nichts für ungut, aber wo ist der Sinn, herauszufinden, welcher Browser in welcher Version unter welchem OS falschen Code so interpretiert, wie es der Autor gerne hätte? Soll der Autor doch gefälligst korrekten Code produzieren ... =:-)

                    Es ist nicht korrekt Attibute per Dom zu setzen?

                    Mittlerweile ist das Thema ein wenig abgedriftet. Was ist momentan deine Frage.
                    Warum du für die Eigenschaft image.width keine Einheit angeben kannst oder warum das Bild nur so gross dargestellt wird wie es ist. Oder wie du Attribute per DOM setzt (diese Frage taucht hier zum ersten Mal auf)?

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
                  2. Hi,

                    Es ist nicht korrekt Attibute per Dom zu setzen?

                    Kommt drauf an.

                    Das ist aber in diesem Fall nicht der Punkt. Der Punkt war: Wie ist das Browserverhalten, wenn man Attribute mit falschem Wert füllt, oder? Antwort: Das ist egal, denn der Autor hat Attribute gefälligst mit einem korrekten Wert zu füllen. :)

                    Gruß, Cy-"Zuckerschock durch zuviel Marzipan?"-baer ;)

                    --
                    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                    1. moin Cybaer, Struppi :)

                      Das ist aber in diesem Fall nicht der Punkt. Der Punkt war: Wie ist das Browserverhalten, wenn man Attribute mit falschem Wert füllt, oder? Antwort: Das ist egal, denn der Autor hat Attribute gefälligst mit einem korrekten Wert zu füllen. :)

                      Hui... ich merk schon... meine Fragen wurden zusammengewürfelt und ich hab mich nicht deutlich genug ausgedrückt.

                      Die Fragen, die ich eingangs stellte hatten nicht _miteinerander_ zu tun.
                      Die Frage nach den Einheiten wurde ja auch schon zufriedenstellend beantwortet.

                      Jetzt wundere ich mich nur noch über das Verhalten von Mozilla unter Mac (Version 1.2).
                      Fakt ist:
                      1. dass ich die Attribute width und height für das img setze (ohne Einheit, wie ich gelernt habe), so dass das Bild kleiner dargestellt wird, als es ist.
                      2. ich im Nachgang die Größe des _Elternelementes_ ändere
                      2. das Img seine Attribute vergessen hat (Bild wird genau so groß dargestellt, wie es ist)

                      liebe Grüße aus Berlin
                      lina-

                      --
                      Dinge aus dem linaland
                      Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)
                      1. Jetzt wundere ich mich nur noch über das Verhalten von Mozilla unter Mac (Version 1.2).
                        Fakt ist:

                        1. dass ich die Attribute width und height für das img setze (ohne Einheit, wie ich gelernt habe), so dass das Bild kleiner dargestellt wird, als es ist.

                        Das tust du bevor das Bild fertig geladen ist.

                        1. ich im Nachgang die Größe des _Elternelementes_ ändere

                        Wenn das Bild kann dann entweder so graoß dargstellt werden, wie es ist oder maximal so gross wie das Elternelement.

                        1. das Img seine Attribute vergessen hat (Bild wird genau so groß dargestellt, wie es ist)

                        Da liegt der Unterschied, u.U. (ich kann es nicht prüfen) wird in der Version auf dem Mac, nach dem laden, die Größe des Bildes neu gesetzt, das macht ja auch Sinn. Ein anderes Verhalten kenne ich nur vom Netscape 4, wo sich die Bildgröße nicht mehr nachträglich ändern läßt.

                        Du stolperst wohl darüber, dass wenn man im HTML code die angaben macht, sich das Bild skaliert, also den Eindruck erweckt du fixierst das Bild.  Dem ist aber nicht so:
                        <img src="test.jpg" onclick="this.width=prompt('neue Breite', this.width)" width=100 height=100>

                        Ich vermute, wie gesagt das das unterschiedliche Verhalten damit zu erklären ist, das einmal das Bild schom im Cache ist und im anderen Falle nicht oder das je nach System der browser unterschiedlich schnell reagiert.

                        Probier das mal aus:~~~javascript

                        img.src="[Pfad zu einem beliebigen Bild]";
                        img.onload = function ()
                        {
                        this.border = 0;
                        this.height = 50;
                        this.width = 50;
                        }

                        (Zahlen brauchen keine Anführungszeichen)  
                          
                        Struppi.
                        
                        -- 
                        [Javascript ist toll](http://javascript.jstruebig.de/) (Perl auch!)
                        
                        1. moin Struppi :)

                          Ich vermute, wie gesagt das das unterschiedliche Verhalten damit zu erklären ist, das einmal das Bild schom im Cache ist und im anderen Falle nicht oder das je nach System der browser unterschiedlich schnell reagiert.

                          _Das_ wars! Danke für die Erklärung :)

                          Probier das mal aus:~~~javascript

                          img.src="[Pfad zu einem beliebigen Bild]";
                          img.onload = function ()
                          {
                          this.border = 0;
                          this.height = 50;
                          this.width = 50;
                          }

                          
                          > (Zahlen brauchen keine Anführungszeichen)  
                            
                          Funktioniert bestens... und dabei ist das so einfach.  
                            
                          Aber meine Neugier ist befriedigt und ich bin wieder was schlauer. Danke :)  
                            
                          liebe Grüße aus Berlin  
                          lina-
                          
                          -- 
                          [Dinge aus dem linaland](http://linaland.twoday.net)  
                          Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)