Hallo,
die Frage klingt zunächst sehr simpel, doch ich finde, sie hat es in sich. Eine saubere Lösung konnte ich keine finden.
Wie kann ich die Breite eines Div-Containers an die Breite der Grafik anpassen, die sich in diesem befindet?
Mein Code ist folgender:
Code:
<div>
[img]...[/img]
<div>Untertitel</div>
</div>
Das äußere "div" ist dafür da, um Bild und Untertitel mit einem Rahmen zu versehen.
Soweit ist die Aufgabe noch einigermaßen machbar, doch dann müsste ich hier nicht fragen.
Nun ein paar Einschränkungen:
Der (X)
HTML-Code soll sich vom Aufbau nicht groß ändern (also keine Vorschläge wie die Verwendung von Tabellen) und folgende Dinge möchte ich
nicht unbedingt nutzen:
1. display: table(-cell)
2. float: left/right
3. width: x
Die Gründe hierfür sind:
1. Das ist wie eine zweckentfremdete
HTML-Tabelle, nur auf CSS-Basis und würde im IE auch nicht funktionieren
2. Text soll nicht links oder rechts von der Grafik stehen dürfen. Ein anschließendes "clear: both" ist auch nicht sinnvoll, da ich sonst Fallunterscheidungen und ähnliches treffen müsste, was zu aufwändig und auch nicht schön wäre.
3. Jedesmal die Grafikbreite zu ermitteln ist für mich auch nicht schön, da ich das äußere "div" in Verbindung mit "padding" nutze und so die Breitenangabe entsprechend anpassen müsste. Notfalls mache ich es so und speichere die Breite in der Datenbank, doch andere Lösungen wären mir lieber.
Gibt's da etwas einfaches?
Grüße
Edit: Für die, die nicht wissen, wie ein Div-Container dieser Art standardmäßig angezeigt wird: Er hat eine Breite von 100%.