Bir görüntünün altına nasıl başlık yazılır?


126

Satır içi tutulması gereken iki resmim var; Her görüntünün altına bir başlık yazmak istiyorum.

<center>
   <a href="http://example.com/hello">
       <img src="hello.png" width="100px" height="100px">
   </a>
   &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
   <a href="http://example.com/hi">
       <img src="hi.png" width="100px" height="100px">
   </a>
</center>

Nasıl uygulayabilirim?


8
@ceejayoz &nbsp, bir kenar boşluğu belirlemek veya diğer css düzen araçlarını kullanmak yerine her şeyden bahsetmeye gerek bile yok .
jzworkman

Bu esasen yanıtlanmış olsa da, bir satır içi görüntünün genişliğine uyacak bir resim yazısı almanın tek yolu, genişlik özelliğini bir sarmalayıcıya veya başlığın kendisine sabit kodlamaktır.
MyNameIsKo

2
@McGarnagle, başkalarının gönderilerindeki kod anlamını değiştirmez. Biçimlendirme tamamdır (python olmadığı sürece), ancak tüm kod içeriği önemlidir! Düzenlemeniz sayesinde jxworkmans gönderisi anlamsız görünüyordu. Ve gerçekten, sabitleme yanlış kod içinde söz tam saçmalıktır. O halde cevapların amacı ne olabilir?
Tomáš Zato - Monica'yı eski durumuna getir

Yanıtlar:


275

Şekil ve Figcaption etiketleri:

<figure>
    <img src='image.jpg' alt='missing' />
    <figcaption>Caption goes here</figcaption>
</figure>

HTML5'i sevmelisiniz.


Örneğe bakın


1
Yine de, IE'nin çoğu için bir HTML5 dolgusuna ihtiyacınız olacak.
ceejayoz

10
Bu etiketler hiçbir şekilde yardımcı olmuyor. Bunlar sadece sahte işaretlemedir ve tüm işi CSS'de (ve / veya diğer HTML etiketleriyle) yapmanız gerekir. Ve IE'nin eski sürümlerini sahte etiketler olarak bile tanımak için ekstra bir işleme ihtiyacınız var. Yani divveya kullanımı daha basittir span.
Jukka K. Korpela


3
Sorun şudur: [figures] can be moved to another page or to an appendix without affecting the main flow. <figure>ve <figcaption>başlıkları olan görüntülerin genel amaçlı yerine geçmesi değildir. Bunlar sadece rakamlar için geçerlidir. Eğer (örneğin) resim yazısı eklenmiş fotoğraflarla karıştırılmış paragraflardan oluşan adım adım bir nasıl yapılırsa, görüntülerin html'de tanımlandığı gibi aynı paragraf sonlarında sunulması önemli olabilir. Bu nedenle <figure>burada uygulanamaz (anladığım kadarıyla).
Ponkadoodle

Bu satırların bir görüntünün altına mutlaka bir şekil başlığı yerleştirmediğini eklemeliyim . Burada verilen HTML içeriği açıklar, ancak görünüm CSS tarafından etkilenir / belirlenir.
jvriesem

21

CSS

#images{
    text-align:center;
    margin:50px auto; 
}
#images a{
    margin:0px 20px;
    display:inline-block;
    text-decoration:none;
    color:black;
 }

HTML

<div id="images">
    <a href="http://xyz.com/hello">
        <img src="hello.png" width="100px" height="100px">
        <div class="caption">Caption 1</div>
    </a>
    <a href="http://xyz.com/hi">
        <img src="hi.png" width="100px" height="100px"> 
        <div class="caption">Caption 2</div>
    </a>
</div>

Burada bir keman var.


7
<div style="margin: 0 auto; text-align: center; overflow: hidden;">
  <div style="float: left;">
    <a href="http://xyz.com/hello"><img src="hello.png" width="100px" height="100px"></a>
    caption 1
  </div>
 <div style="float: left;">
   <a href="http://xyz.com/hi"><img src="hi.png" width="100px" height="100px"></a>
   caption 2                      
 </div>
</div>

7

Resmi, genişliğinin 140 piksel olduğunu varsayalım - bağlantının içine koyun:

<a><img src='image link' style='width: 140px'></a>

Ardından, başlığını a karakterine yerleştirin ve ortalayarak görüntünüzden daha küçük bir genişlik verin:

<a>
  <img src='image link' style='width: 140px'>
  <div style='width: 130px; text-align: center;'>I just love to visit this most beautiful place in all the world.</div>
</a>

Ardından, bağlantı etiketinde, artık bağlantı gibi görünmeyecek şekilde bağlantının stilini belirleyin. İstediğiniz rengi verebilirsiniz, ancak bağlantılarınızın taşıyabileceği herhangi bir metin dekorasyonunu kaldırın.

<a style='text-decoration: none; color: orange;'>
  <img src='image link' style='width: 140px'>
  <div style='width: 130px; text-align: center;'>I just love to visit this most beautiful place in all the world.</div>
</a>

Görüntüyü başlığıyla bir bağlantıya sardım, böylece hiçbir metin başlığı yoldan çekemez: Başlık, bağlantıyla resme bağlanır. İşte bir örnek: http://www.alphaeducation.com/p/okay.html


1
<div>Satır içi etiketlerde, gibi engelleme etiketlerine izin verilmez <a>- <span>başlıklar için kullanmanız gerekir .
mindplay.dk

@ TheAlpha örneğinde <div> 'i <span> ile değiştirmek tamamen başarısız olur. <div> 'e ihtiyacınız var gibi görünüyor.
Pierre

@ mindplay.dk Bence aetiketin içerik modeli şeffaf olduğundan, üst etiketin kabul edebileceği tüm alt öğeleri kabul edebilir (etkileşimli içerik hariç). Yanlışsam düzelt? Öğrenmek istiyorum. w3.org/TR/html5/text-level-semantics.html#the-a-element
Chris Bier

2

CSS senin arkadaşın; merkez etiketine (oldukça amortismana tabi tutulduğundan bahsetmiyorum) veya aşırı bölünemez boşluklara gerek yoktur. İşte basit bir örnek:

CSS

.images {
    text-align:center;
}
.images img {
    width:100px;
    height:100px;
}
.images div {
    width:100px;
    text-align:center;
}
.images div span {
    display:block;
}
.margin_right {
    margin-right:50px;
}
.float {
    float:left;
}
.clear {
    clear:both;
    height:0;
    width:0;
}

HTML

<div class="images">
    <div class="float margin_right">
        <a href="http://xyz.com/hello"><img src="hello.png" width="100px" height="100px" /></a>
        <span>This is some text</span>
    </div>
    <div class="float">
        <a href="http://xyz.com/hi"><img src="hi.png" width="100px" height="100px" /></a>
        <span>And some more text</span>
    </div>
    <span class="clear"></span>
</div>

2

Duyarlı görüntüler için. Resim ve kaynak etiketlerini şekil etiketine ekleyebilirsiniz.

<figure>
  <picture>
    <source media="(min-width: 750px)" srcset="images/image_2x.jpg"/>
    <source media="(min-width: 500px)" srcset="images/image.jpg" />
    <img src="images.jpg" alt="An image">
  </picture>
  <figcaption>Caption goes here</figcaption>
</figure>

0

Anlamsal olarak daha doğru olmak ve OP'lerin onları yan yana hizalamakla ilgili orijinal sorusunu yanıtlamak için şunu kullanırım:

HTML

<div class="items">
<figure>
    <img src="hello.png" width="100px" height="100px">
    <figcaption>Caption 1</figcaption>
</figure>
<figure>
    <img src="hi.png" width="100px" height="100px"> 
    <figcaption>Caption 2</figcaption>
</figure></div>

CSS

.items{
text-align:center;
margin:50px auto;}


.items figure{
margin:0px 20px;
display:inline-block;
text-decoration:none;
color:black;}

https://jsfiddle.net/c7borg/jLzc6h72/3/


0

<figcaption>HTML5'teki etiketi, örneğin resminize metin girmek için izin verir:

<figcaption>
Your text here
</figcaption>.

Daha sonra, metni görüntüde olması gereken yere konumlandırmak için CSS'yi kullanabilirsiniz.


-3
<table>
<tr><td><img ...><td><img ...>
<tr><td>caption1<td>caption2
</table>

İstenildiği gibi stil.


6
Bunu asla yapmam. Kişi, içeriğin tablo biçiminde nasıl görüntüleneceğini değil, sunum tavsiyesi istiyor.
Mike Kormendy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.