Centering and aligning width of figcaption tag on image in figure tag

后端 未结 2 1534
[愿得一人]
[愿得一人] 2021-02-08 17:14

I\'ve spent two days now attempting to resolve a fig/figcation issue to no avail.

I have a Django application where users are able to submit images and I\'m using the fi

相关标签:
2条回答
  • 2021-02-08 17:35

    Original Solution

    figure .image {
        width: 100%;
    }
    
    figure {
        text-align: center;
        display: table;
        max-width: 30%; /* demo; set some amount (px or %) if you can */
        margin: 10px auto; /* not needed unless you want centered */
    }
    

    The key is to set some kind of max-width for the img on the figure element if you can, then it will keep both it and the text constrained.

    See an example fiddle.

    If You are Programmatically Reading the Width

    First, this <figure width="{{story.pic.width_field}}"> should be this <figure style="width: {{story.pic.width_field}};">.

    Second, do only this css (nothing else needed for img or figcaption; see fiddle):

    figure {
        text-align: center;
        margin: 10px auto; /* not needed unless you want centered */
    }
    

    Really small images with long text are still going to have issues, as this fiddle shows. To make it at least look clean, you might check for some minimum size of the img and if it too small (say, 100px), then instead of setting width on the figure set min-width to the img size and set a max-width to your threshold of 100px like this fiddle shows.

    0 讨论(0)
  • 2021-02-08 17:35

    The solution for this problem is to play with TABLE and TABLECAPTION. It's just 2 lines of code.

    You can see a live preview of this solution on the website: http://www.sandrasen.de/projektgebiete/kienheide/

    figure { 
      display: table; 
    }
    
    figcaption { 
      display: table-caption; /* aligns size to the table of the figure
      caption-side: bottom /* makes the caption appear underneath the image/figure */
    }
    
    0 讨论(0)
提交回复
热议问题