Consider the following example:
<figure>
<img height="100px" src="https://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png">
<figcaption>Very long caption that should take the width of the image</figcaption>
</figure>
<div>This text should appear below the whole figure</div>
Is there a css-only approach that makes the caption take the width of the image that would work on the majority of browsers, so no please no bleeding edge css?
EDIT: A solution without intrinsic width (min-content).
EDIT: I added text below the figure that should also be below the caption.
Updated Code https://jsfiddle.net/harshapache/sLeab4zg/
figure {
position: relative;
display: table-caption;
}