luti: Bildunterschrift in divs ohne feste Breite

Hallo in die Runde,

gibt es eine einfache Möglichkeit, Bilder mit langen Bildunterschriften korrekt floatend auszurichten, ohne eine absolute Breite des div/etc. anzugeben?

Der Code:

<div class="float_left">
   <img src="..." alt=".." title=".." />
   <br />
   <span>Hier steht eine sehr, sehr lange Bildunterzeie, die nicht umbrochen wird ...</span>
</div>

führt leider dazu, dass, wenn der Text länger als das Bild ist, er nicht umbrochen wird und über das Bild herausragt.

Natürlich könnte man im div-Container eine Angabe zur Breit machen, etwa style="width:200px;" - aber das ist nicht gerade flexible, müsste für jedes Bild neu angegeben werden. Besser wäre eine Lösung für beliebige Bildbreiten.

Vielen Dank!

  1. @@luti:

    Natürlich könnte man im div-Container eine Angabe zur Breit machen, etwa style="width:200px;" - aber das ist nicht gerade flexible, müsste für jedes Bild neu angegeben werden. Besser wäre eine Lösung für beliebige Bildbreiten.

    Serverseitig: Eine PHP-Funktion bekommt als Parameter den Dateinamen des Bildes und die Bildunterschrift, liest die Bildbreite aus der Datei und generiert den HTML-Code von <div> bis </div>.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. @@luti:

    gibt es eine einfache Möglichkeit, Bilder mit langen Bildunterschriften korrekt floatend auszurichten, ohne eine absolute Breite des div/etc. anzugeben?

    [Onkel Hotte] brachte mich da auf eine Idee:

    <div class="BildMitBildunterschrift">  
     <img src="foo" alt="foo" />  
     <label>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</label>  
    </div>  
    <p>At vero eos et accusam et justo duo dolores et ea rebum.Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>  
    <p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>  
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
    
    div.BildMitBildunterschrift  
    {  
     display: table;  
     float: left;  
     margin-right: 1em;  
    }  
      
    div.BildMitBildunterschrift label  
    {  
     display: table-caption;  
     caption-side: bottom;  
     font-size: 0.7em;  
     margin-top: 1em;  
     margin-right: 1.2em;  
     margin-bottom: 1em;  
    }
    

    (nicht für Browser mit nur rudimentären CSS-Fähigkeiten wie IEs)

    <div class="float_left">

    BTW, ein ziemlich blöder Name für eine Klasse. [icke]

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)