Andre: div mit JavaScript über DOM eine Breite zuweisen

Guten Morgen,

ich habe ein Problem:

Ich möchte einem DIV eine Breite, maximale Breite und minimale Breite mit JavaScript über das DOM zuweisen.

Allerdings macht der IE das nicht, das DIV geht über das komplette Fenster.

Hier ist mein Code:

var widthDiv="auto";
          var min_widthDiv="144px";
          var max_widthDiv="350px";

myDiv.id="myDiv";
          myDiv.style.width = widthDiv;
          myDiv.style.minWidth = min_widthDiv;
          myDiv.style.maxWidth = max_widthDiv;
          myDiv.style.backgroundColor = backgroundDiv;
          myDiv.style.border = borderDiv+'px solid '+bordercolorDiv;
          myDiv.style.position = 'absolute';
          myDiv.style.top = positionY+"px";
          myDiv.style.left = positionX+"px";
          arbeitsbereich.appendChild(myDiv);

Habt ihr da eine Lösung?

Danke,

viele Grüße

André

  1. Hello out there!

    Allerdings macht der IE das nicht, das DIV geht über das komplette Fenster.

    Der IE versteht weder min-width noch max-width.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Der IE versteht weder min-width noch max-width.

      Das "auto" bei der Breite will er aber auch nicht nehmen.

      Hab ich da nen Fehler drin oder kann ich das irgendwie anders lösen?

      1. Hello out there!

        Das "auto" bei der Breite will er aber auch nicht nehmen.

        Doch, das tut er, indem „das DIV über das komplette Fenster geht“. Du hast wahrscheinlich eine falsche Vorstellung, was 'width: auto' bewirkt. Siehe [CSS2 §10.2]

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
        1. Doch, das tut er, indem „das DIV über das komplette Fenster geht“. Du hast wahrscheinlich eine falsche Vorstellung, was 'width: auto' bewirkt. Siehe [CSS2 §10.2]

          Dann richtet sich die "auto"-Breite von meinem Div nach dem umschließendem Element "body".

          Und wie bekomme ich es dann hin, dass das Div maximal so breit ist, wie der Inhalt darin?

          1. Hallo Andre.

            Und wie bekomme ich es dann hin, dass das Div maximal so breit ist, wie der Inhalt darin?

            Entweder indem du es per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=display:inline oder per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=float formatierst.

            Einen schönen Dienstag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
            1. Entweder indem du es per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=display:inline oder per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=float formatierst.

              Hat leider auch nichts geholfen, ich bin noch am verzweifeln.

              Ist doch so richtig oder?

              myDiv.style.backgroundColor = backgroundDiv;
                        myDiv.style.border = borderDiv+'px solid '+bordercolorDiv;
                        myDiv.style.position = 'absolute';
                        myDiv.style.top = positionY+"px";
                        myDiv.style.left = positionX+"px";
                        myDiv.style.display = 'inline';
                        arbeitsbereich.appendChild(myDiv);

              1. Hello out there!

                Entweder indem du es per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=display:inline oder per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=float formatierst.

                Hat leider auch nichts geholfen,

                Kann auch nicht.

                myDiv.style.position = 'absolute';
                          myDiv.style.display = 'inline';

                Zu den Beziehungen zwischen 'display', 'position' und 'float' siehe [CSS2 §9.7]. Die Veränderungen in [CSS21 §9.7] sind hier nicht von Bedeutung.

                See ya up the road,
                Gunnar

                --
                “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                1. Hello out there!

                  Entweder indem du es per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#display@title=display:inline oder per http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=float formatierst.

                  Hat leider auch nichts geholfen,

                  Kann auch nicht.

                  myDiv.style.position = 'absolute';
                            myDiv.style.display = 'inline';

                  Zu den Beziehungen zwischen 'display', 'position' und 'float' siehe [CSS2 §9.7]. Die Veränderungen in [CSS21 §9.7] sind hier nicht von Bedeutung.

                  See ya up the road,
                  Gunnar

                  Danke für eure Hilfe.

                  Ich hab es anders gerlöst, mit offsetWidth hab ich die Breite vom Div ermittelt. Und wenn die Breite unter meinem Mindestwert liegt, setze ich die Breite dann auf meinen Mindestwert.

                  Schönen Tag noch

                  Viele Grüße

                  André