Zentrieren und ausrichten der Breite des figcaption-tag auf einem Bild in Bild-tag
Hab ich verbrachte zwei Tage versucht nun zu lösen a Abb/figcation Problem ohne Erfolg.
Habe ich eine Django-Anwendung, wo Benutzer sind in der Lage, Bilder Einreichen und ich bin mit der Abbildung und figcaption-tags um das Bild anzuzeigen, mit der dazugehörigen Bildunterschrift. Das Hauptproblem ist, dass die caption-Breite überschreitet die Bild-Breite.
Ich versuche, herauszufinden, einen Weg für die Bild zu bleiben, die gleiche Größe und die Bildunterschrift, um eine Linie in der Breite entsprechend. Ich bin mit Twitter-Bootstrap auch. Ich bin offen für alle Lösungen. Jede Eingabe, Erfahrung oder Rat sehr dankbar.
AKTUALISIERT: Dies ist die eigentliche HTML-template-code und CSS:
<div class="span4 offset2">
{% if story.pic %}
<h2>Image</h2>
<figure width="{{story.pic.width_field}}">
<img class="image"src="{{ story.pic.url }}" width="{{story.pic.width_field}}" alt="some_image_alt_text"/>
{% if story.caption %}
<figcaption>
{{story.caption}}
</figcaption>
{% endif %}
</figure>
{% endif %}
</div>
image {height:auto;}
figure {margin:0; display:table;}
figcaption {display:table-row;
max-width: 30%;
font-weight: bold;}
- Sind Sie auf der Einstellung der
img
einem Prozentsatzwidth
? Oder verlassen Sie es, ohnewidth
Einstellung? Ich vermute, Sie haben dieimg
eingestelltwidth: 100%
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ursprünglichen Lösung
Der Schlüssel ist, um irgendeine Art von
max-width
für dieimg
auf diefigure
element, wenn Sie können, dann wird es halten Sie beide und der text eingeschränkt.Sehen Sie ein Beispiel, fiddle.
Wenn Sie Programmgesteuert Lesen die Breite
Erste, das
<figure width="{{story.pic.width_field}}">
sollte diese<figure style="width: {{story.pic.width_field}};">
.Zweite, tun nur dieser css (nichts anderes benötigt für
img
oderfigcaption
; siehe Geige):Wirklich kleine Bilder mit dem langen text immer noch Probleme haben, als diese Geige zeigt. Um es zumindest sauber Aussehen, die Sie überprüfen könnte für einige minimale Größe der
img
und wenn es zu klein ist (sagen wir100px
), dann statt der Einstellungwidth
auf diefigure
setmin-width
zu denimg
Größe und legen Sie einemax-width
auf Ihrer Schwelle100px
wie diese Geige zeigt.max-width
. Sie könnte einen pixel Höhe. Nicht sicher von Ihrer situation, aber im Idealfall, wenn Sie könnte problematisch Holen Sie die Breite des Bildes dann könnte man direkt einewidth
auf diefigure
inline mit derstyle
Attribut, und legen Sie die100%
Bildbreite und diemax-width
von der css. Einwidth
oder einemax-width
auf diefigure
leistet, halten diefigcaption
die gleiche Größe oder kleiner als derimg
, das ist, was Sie sich wünschen.display: table
Sie sind Einstellung, die nicht mehr benötigt werden, mit dieser Methode. Siehe mein update zu meiner Antwort.Die Lösung für dieses problem, ist das Spiel mit TISCH und TABLECAPTION.
Es ist nur 2 Zeilen code.
Sehen Sie eine live-Vorschau der Lösung auf der website:
http://www.sandrasen.de/projektgebiete/kienheide/
In HTML5 ist es ganz einfach:
HTML
CSS