dr.colossos: <div> um <iframe>/<img> dynamischer Größen

Hi,

die Tage in denen ich viel mit CSS gemacht habe sind lang vorbei ... ich kann mich einfach nicht mehr erinnern wie man es schafft, ein <div> um eine anderes Element zu legen, sodass das <div> sich an die Größe des einschließenden Elements anpasst.

Eine Netzrecherche brachte mich auch nicht weiter.

Problem ist, dass das <div> Element (weils ein Block-Element ist?) immer 100% der Seiten-Breite einnimmt (width kann ich im <div> ja nicht angeben, weils verschieden groß sein muss).

Setz ich es "display:inline" ist's nur eine Zeile hoch, was natürlich i.d.R. unsinnig ist ...

Kann mir wer auf die Sprünge helfen.

Danke sehr!

  1. <SelbstGespraech>

    <div style = "display: table-cell; background-color: #FF0000; width: 1px; border:solid 5px green;">
    <img src = "bild.jpg" style="clear:both;">-->
    </div>

    </SelbstGespraech>

    So funktionierts, in IE6 und FF2 getestet.

    Geklaut von http://forum.df.eu/forum/showthread.php?t=41538

    Danke

    1. Hi,

      <div style = "display: table-cell; background-color: #FF0000; width: 1px; border:solid 5px green;">
      <img src = "bild.jpg" style="clear:both;">-->
      </div>

      Wozu Table-cell? Das kann der IE nichtmal.

      Versuch doch einfach width:1px; overflow:visible

      1. HI,

        nope, das div passt sich hier NICHT an.

        Ein Rand um das div zeigt, dass es 1px breit ist ... zumindest hier und auch hier im letzten Bespiel (div kleiner als Inhalt [hier: Bild]) ... http://de.selfhtml.org/css/eigenschaften/anzeige/overflow.htm

        1. Ein Rand um das div zeigt, dass es 1px breit ist ... zumindest hier und auch hier im letzten Bespiel (div kleiner als Inhalt [hier: Bild]) ... http://de.selfhtml.org/css/eigenschaften/anzeige/overflow.htm

          hm... Also bei mir seh ich den kompletten Koeter schoen umrandet... Mag sein dass siech der IE da mal wieder vom Rest der Welt unterscheidet. Kann ich hier leider nicht pruefen.

  2. Hallo,

    die Tage in denen ich viel mit CSS gemacht habe sind lang vorbei ... ich kann mich einfach nicht mehr erinnern wie man es schafft, ein <div> um eine anderes Element zu legen, sodass das <div> sich an die Größe des einschließenden Elements anpasst.

    Eine Netzrecherche brachte mich auch nicht weiter.

    Problem ist, dass das <div> Element (weils ein Block-Element ist?) immer 100% der Seiten-Breite einnimmt (width kann ich im <div> ja nicht angeben, weils verschieden groß sein muss).

    Ja. Ist ein Block Element udn nimtt daher die gesamte Breite ein. Bei modernen Browsern könne man sich mit min-width behelfen, beim IE 6 (IE7?) nicht. Deswegen scheidet das i.d.R. aus.

    Setz ich es "display:inline" ist's nur eine Zeile hoch, was natürlich i.d.R. unsinnig ist ...

    Nö, es ist so hoch wie der Inhalt + evtl. Margins und Paddings. Übrigens auch wenn es display:block ist. Wenn der Inhalt nicht floated sollte es sich in der Höhe anpassen. Sollte der Inhalt des <div> floaten hilft z. B. ein clearendes Element nach dem floatenden Inhalt.