How to write a caption under an image?

后端 未结 9 1610
心在旅途
心在旅途 2020-11-29 19:55

I have two images that need to kept inline; I want to write a caption under each image.

相关标签:
9条回答
  • 2020-11-29 20:30

    CSS is your friend; there is no need for the center tag (not to mention it is quite depreciated) nor the excessive non-breaking spaces. Here is a simple example:

    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>
    
    0 讨论(0)
  • 2020-11-29 20:33

    Figure and Figcaption tags:

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

    Gotta love HTML5.


    See sample

    #container {
        text-align: center;
    }
    a, figure {
        display: inline-block;
    }
    figcaption {
        margin: 10px 0 0 0;
        font-variant: small-caps;
        font-family: Arial;
        font-weight: bold;
        color: #bb3333;
    }
    figure {
        padding: 5px;
    }
    img:hover {
        transform: scale(1.1);
        -ms-transform: scale(1.1);
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -o-transform: scale(1.1);
    }
    img {
        transition: transform 0.2s;
        -webkit-transition: -webkit-transform 0.2s;
        -moz-transition: -moz-transform 0.2s;
        -o-transition: -o-transform 0.2s;
    }
    <div id="container">
        <a href="#">
            <figure>
                <img src="http://lorempixel.com/100/100/nature/1/" width="100px" height="100px" />
                <figcaption>First image</figcaption>
            </figure>
        </a>
        <a href="#">
            <figure>
                 <img src="http://lorempixel.com/100/100/nature/2/" width="100px" height="100px" />
                <figcaption>Second image</figcaption>
            </figure>
        </a>
    </div>

    0 讨论(0)
  • 2020-11-29 20:35

    To be more semantically correct and answer the OPs orginal question about aligning them side by side I would use this:

    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 讨论(0)
  • 2020-11-29 20:38
    <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>
    
    0 讨论(0)
  • 2020-11-29 20:44

    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>​
    

    ​A fiddle is here.

    0 讨论(0)
  • 2020-11-29 20:48

    For responsive images. You can add the picture and source tags within the figure tag.

    <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 讨论(0)
提交回复
热议问题