David: Divs und ihre Breite

Hey =)

Also, Divs haben ja immer eine Breite von 100%. Ich bräuchte unbedingt eine browserübergreifende Lösung, dass der Div sich in der Breite dem Inhalt anschließt, gleichzeitig sollte er noch eine max-width haben (und das funktioniert ja auch nicht im Internet Explorer). Könntet ihr mir vielleicht helfen?

Liebe Grüße,
David

  1. Hi,

    Also, Divs haben ja immer eine Breite von 100%.

    nein. Sie haben per Default eine Breite von 'auto'.

    Ich bräuchte unbedingt eine browserübergreifende Lösung, dass der Div sich in der Breite dem Inhalt anschließt,

    Dazu muss das Element gefloatet oder absolut positioniert werden, mit allen Implikationen, die dies mit sich führt.

    gleichzeitig sollte er noch eine max-width haben

    Das geht über die max-width-Eigenschaft.

    (und das funktioniert ja auch nicht im Internet Explorer).

    Das geht über JavaScript. Ohne dies ist mir keine Möglichkeit bekannt, dem IE ein max-width beizubringen.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Ich bräuchte unbedingt eine browserübergreifende Lösung, dass der Div sich in der Breite dem Inhalt anschließt,

      Dazu muss das Element gefloatet oder absolut positioniert werden, mit allen Implikationen, die dies mit sich führt.

      Kannst du mir vielleicht ein Beispiel geben? Und zu dem Javascript Zeugs auch ein Beispiel? Denn ohne hilft mir das recht wenig *gg

      Liebe Grüße
      David

      1. Hi,

        Dazu muss das Element gefloatet oder absolut positioniert werden, mit allen Implikationen, die dies mit sich führt.
        Kannst du mir vielleicht ein Beispiel geben?

        kann ich, aber ich halte es für schädlich, fertige Lösungen zu posten, und deswegen werde ich es nicht tun. Ganz besonders dann, wenn Du ein Element nicht floaten oder absolut positionieren kannst ist es _immens_ wichtig, dass Du zuerst erlernst, was dies bedeutet.

        Und zu dem Javascript Zeugs auch ein Beispiel?

        Ich werde Dir ein Stichwort nennen, wenn ich Dir glaube, dass Du die Konsequenzen solchen Tuns verstanden hast.

        Denn ohne hilft mir das recht wenig *gg

        Unter Umständen ist etwas, das Dir nicht hilft, die beste Hilfe.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. kann ich, aber ich halte es für schädlich, fertige Lösungen zu posten, und deswegen werde ich es nicht tun. Ganz besonders dann, wenn Du ein Element nicht floaten oder absolut positionieren kannst ist es _immens_ wichtig, dass Du zuerst erlernst, was dies bedeutet.

          Natürlich weiß ich wie man ein Element floatet oder absolut positioniert, doch trotzdem funktioniert es nicht :-/

          <div id="translation" style="display:none; border:1px solid #c0c0c0; background-color:#fffccc; padding:1px; width:auto; font-size:11px;">
          </div>

          Dieses Element soll durch Javascript dynamisch mit Inhalt gefüllt werden, und selbst wenn ich es floate oder absolut positioniere ist die Breite nicht proportional zu dem Inhalt.
          Joa, und kannst du mir vielleicht netterweise das Stichwort sagen?^^

          David

          1. Hi,

            Natürlich weiß ich wie man ein Element floatet oder absolut positioniert, doch trotzdem funktioniert es nicht :-/

            "funktioniert nicht" war noch nie eine Fehlerbeschreibung, und es wird auch nie eine sein. Beschreibe, was für ein Ergebnis Du erwartest, _warum_ Du es erwartest, und welches Du statt dessen erhältst.

            <div id="translation" style="display:none; border:1px solid #c0c0c0; background-color:#fffccc; padding:1px; width:auto; font-size:11px;">
            </div>

            So wird das Element immer die verfügbare Breite einnehmen. Übrigens ist 'px' keine für schriftabhängige Eigenschaften geeignete Einheit.

            Dieses Element soll durch Javascript dynamisch mit Inhalt gefüllt werden, und selbst wenn ich es floate oder absolut positioniere ist die Breite nicht proportional zu dem Inhalt.

            Was verstehst Du unter "proportional zum Inhalt"?

            Joa, und kannst du mir vielleicht netterweise das Stichwort sagen?^^

            Stichworte sind "MS-proprietär", "invalide" und "expression".

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hey,

              also das Problem mit max-width ist schon gelöst, danke :)

              Proportional zum Inhalt bedeutet, wenn der Div wenig Text enthält, also zum Beispiel "wenig text, wenig text, wenig text", dann soll der Div nur so breit sein, dass er den enthaltenen Text um schließt. Der Div hat ne Hintergrundfarbe und wenn wenig Text im Div enthalten ist, sieht man immer, dass der Div die ganze Seitenbreite einnimmt, obwohl er viel schmaler sein könnte. Verstehst du was ich meine? Und das möchte ich ja ändern.

              Beispiel:

              ------------------------------------------------------------------
              |                                                                  |
              |wenig Text                                                        |
              |                                                                  |
               ------------------------------------------------------------------

              Ich möchte jedoch folgendes erreichen

              -----------
              |           |
              |wenig Text |
              |           |
               -----------

              Ich hoffe du kannst mir helfen :)

              Liebe Grüße
              David

            2. Hello out there!

              <div id="translation" style="display:none; border:1px solid #c0c0c0; background-color:#fffccc; padding:1px; width:auto; font-size:11px;">
              </div>

              So wird das Element immer die verfügbare Breite einnehmen.

              Nö. So wird das Element gar keine Breite einnehmen.

              Übrigens ist 'px' keine für schriftabhängige Eigenschaften geeignete Einheit.

              @David:
              Übrigens ist das style-Attribut keine für Formatierungen geeignete Stelle.

              Notiere alle Angaben im zentral im style-Element oder einer externen Datei.

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              1. Übrigens ist 'px' keine für schriftabhängige Eigenschaften geeignete Einheit.

                @David:
                Übrigens ist das style-Attribut keine für Formatierungen geeignete Stelle.

                Notiere alle Angaben im zentral im style-Element oder einer externen Datei.

                Die Datei in der der Code ist befindet sich in meinem Server Ordner "test_data" also ist mir das im Moment ziemlich egal *gg
                Eine Lösung für mein Problem hast du immer noch nicht gepostet :P Das muss doch irgendwie gehen...

                David

                1. Hello out there!

                  Notiere alle Angaben im zentral im style-Element oder einer externen Datei.

                  […] "test_data" also ist mir das im Moment ziemlich egal

                  Das sollte es aber nicht! Gerade in der Testphase ist lesbarer, übersichtlicher Code zwingend notwendig. Inline-Styles sind ein eklatanter Widerspruch zu lesbarem, übersichtlichem Code.

                  Eine Lösung für mein Problem hast du immer noch nicht gepostet :P

                  Warum auch? Das hatte Cheatah doch schon getan.

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                  1. Warum auch? Das hatte Cheatah doch schon getan.

                    Ähm, nein hat er nicht? Er hat immer nichts dazu gesagt, wie man die Breite des Div-Containers proportional zum Inhalt ändern könnte; würdest du wissen wenn du alles durchgelesen hättest.

                    Liebe Grüße, David

                    1. Hallo David,

                      Warum auch? Das hatte Cheatah doch schon getan.
                      Ähm, nein hat er nicht?

                      Doch, hat er.

                      Er hat immer nichts dazu gesagt, wie man die Breite des Div-Containers proportional zum Inhalt ändern könnte; würdest du wissen wenn du alles durchgelesen hättest.

                      Doch, hat er; würdest du wissen wenn du alles durchgelesen hättest.

                      Ciao,
                       Martin

                      --
                      Wenn der Computer wirklich alles kann,
                      dann kann er mich mal kreuzweise.
                      1. Warum auch? Das hatte Cheatah doch schon getan.
                        Ähm, nein hat er nicht?

                        Doch, hat er.

                        In dem arauffolgenden Post habe ich gesagt, dass diese Lösung rein gar nichts bringt. In seiner darauffolgenden Antwort hat er dann nachgefragt was ich meine und ich habs ihm in einer Antwort erklärt, er hat seitdem nciht geantwortet, deswegen kann er das Problem gar nciht gelöst haben ;)

                        Liebe Grüße
                        David

                        1. Hallo,

                          Doch, hat er.
                          In dem arauffolgenden Post habe ich gesagt, dass diese Lösung rein gar nichts bringt.

                          dann hast du was falsch gemacht. Ich zitiere Cheatah nochmal:

                          Dazu muss das Element gefloatet oder absolut positioniert werden, mit allen Implikationen, die dies mit sich führt.

                          Sobald ein Blockelement (z.B. ein div) gefloatet oder absolut positioniert wird, richtet sich seine Breite nämlich nur noch nach seinem Inhalt - es sei denn natürlich, du gibst ihm über die Positions- und Größenangaben explizit eine andere Breite vor.

                          Schönen Abend noch,
                           Martin

                          --
                          Küssen ist die schönste Methode, eine Frau zum Schweigen zu bringen.
                          1. Hallo,

                            Doch, hat er.
                            In dem arauffolgenden Post habe ich gesagt, dass diese Lösung rein gar nichts bringt.

                            dann hast du was falsch gemacht. Ich zitiere Cheatah nochmal:

                            Dazu muss das Element gefloatet oder absolut positioniert werden, mit allen Implikationen, die dies mit sich führt.

                            Sobald ein Blockelement (z.B. ein div) gefloatet oder absolut positioniert wird, richtet sich seine Breite nämlich nur noch nach seinem Inhalt - es sei denn natürlich, du gibst ihm über die Positions- und Größenangaben explizit eine andere Breite vor.

                            Schönen Abend noch,
                            Martin

                            Autsch... sorry. Ich habe beides zwar benutzt, aber nicht darauf geachtet, wie viel Inhalt im div is, beim Testen war immer ganz viel drin, deswegen hab ich den Unterschied nicht gemerkt :-[ *rot* Entschuldigung. Aber wenigstens funktioniert es jetzt! :):):):):):)

                            Danki :):) Sonst hät ich das nie gemerkt -.-

                            David

                    2. Hello out there!

                      Ähm, nein hat er nicht? Er hat immer nichts dazu gesagt, wie man die Breite des Div-Containers proportional zum Inhalt ändern könnte;

                      Doch, hat er. Und er hat auch gesagt, dass, wenn du die Antwort nicht verstehst, die Finger davon lassen solltest.

                      würdest du wissen wenn du alles durchgelesen hättest.

                      Hehe, junger Freund, du kannst sicher sein, dass ich alles durchlese, bevor ich antworte.

                      See ya up the road,
                      Gunnar

                      --
                      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                2. Hi,

                  Die Datei in der der Code ist befindet sich in meinem Server Ordner "test_data" also ist mir das im Moment ziemlich egal *gg

                  ich halte das style-Attribut für sinnvoll, wenn man ein Problem forentauglich formulieren möchte, weil dann die effektiven Angaben direkt an der richtigen Stelle sichtbar sind. Für die Entwicklung taugt es allenfalls, wenn man mal ganz kurz etwas ausprobieren möchte (und der Browser, den man gerade testet, keinen DOM-Inspector o.ä. besitzt), das Attribut aber danach umgehend wieder löscht. Ansonsten entspricht es nicht meiner Erfahrung, dass man damit irgend etwas gewinnen könnte.

                  Eine Lösung für mein Problem hast du immer noch nicht gepostet

                  Du hast noch kein Problem für eine Lösung gepostet. Was Du - Deiner Erklärung zufolge - haben möchtest, wird exakt durch das bewirkt, was ich Dir bereits sagte.

                  Cheatah

                  --
                  X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                  X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                  X-Will-Answer-Email: No
                  X-Please-Search-Archive-First: Absolutely Yes
                  1. Hello out there!

                    ich halte das style-Attribut für sinnvoll, wenn man ein Problem forentauglich formulieren möchte, weil dann die effektiven Angaben direkt an der richtigen Stelle sichtbar sind.

                    Ich halte es auch da für nicht sinnvoll. Auch bei der Problembeschreibung im Forum sollte der Quelltext übersichtlich sein – HTML und CSS getrennt.

                    See ya up the road,
                    Gunnar

                    PS: Es bietet sich ja nicht oft die Gelegenheit, dir widersprechen zu können; diese musste ich einfach nutzen. <VBG/>

                    --
                    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                    1. Hi,

                      PS: Es bietet sich ja nicht oft die Gelegenheit, dir widersprechen zu können; diese musste ich einfach nutzen. <VBG/>

                      und dabei widersprichst Du mir nicht mal - Du nennst lediglich eine andere Meinung ;-)

                      Cheatah

                      --
                      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                      X-Will-Answer-Email: No
                      X-Please-Search-Archive-First: Absolutely Yes
                  2. Duuhuu Cheatah?

                    Sry, ich hab das gar nich gemerkt durch einen kleinen Fehler meinerseits. Sry, aber danki, jetzt funktionierts.

                    David