2015-02-08 42 views
1

我有一個問題,其中figcaptionimg更寬,因此突出顯示在右邊。我對標題的width進行了硬編碼,它可以工作,但只適用於寬度相同的圖像。Figcaption沒有比圖像更寬

enter image description here

HTML

<figure> 
    <img src="http://i.imgur.com/tVeUqlH.jpg"/> 
     <figcaption>Vader enjoying the beach.</figcaption> 
</figure> 

CSS

figure { 
    border: 1px solid black; 
    display: inline-block; 
    padding: 3px; 
    margin: 10px; 
} 
figure img { 
    vertical-align: top; 
} 
figcaption { 
    text-align: center; 
    border: 1px dotted blue; 
    width: 120px; 
} 

jsFiddle

回答

4

您可以使用display: table-caption;

.imagecaption { 
 
    padding: 3px; 
 
    margin: 10px; 
 
    float: left; 
 
    border: 1px solid black; 
 
} 
 
figure { 
 
    display: table; 
 
    margin: 0px; 
 

 
} 
 

 
figure img { 
 
    display: block; 
 
} 
 

 
figcaption { 
 
    display: table-caption; 
 
    caption-side: bottom; 
 
    text-align: center; 
 
    border: 1px dotted blue; 
 
}
<div class="imagecaption"> 
 
    <figure> 
 
    <img src="http://i.imgur.com/tVeUqlH.jpg"/> 
 
    <figcaption>Vader enjoying the beach.</figcaption> 
 
    </figure> 
 
</div> 
 

 
<div class="imagecaption"> 
 
    <figure> 
 
    <img src="http://i.imgur.com/tVeUqlH.jpg"/> 
 
    <figcaption>Vader enjoying the beach.</figcaption> 
 
    </figure> 
 
</div>

+1

感謝。這很好。除了邊框不再包含文字。 – Vader 2015-02-08 12:55:15

+1

我只是在整個事物中添加了一個包裝div,所以我現在明白了。 – Vader 2015-02-08 12:57:59

+0

不客氣!抱歉耽擱了。用外部div編輯的答案。 – 2015-02-08 17:33:38