I came across this issue when I was attempting to use an HTML <figcaption> element underneath an image on an iPhone 5s using Safari and Chrome. In portrait view, the font size of the caption does not change, even if explicitly setting a font size in CSS to a size. This may be due to the fact that browsers on an iPhone will automatically increase the size of small text. See the initial HTML and CSS below.
CSS
figcaption { font-style: italic; font-size: 0.5rem; text-align: right; margin-bottom: 25px; }
HTML
<figure> <img src="http://image.jpg" /> <figcaption>Photograph courtesy of John Smith, <a href="http://www.website.com">www.website.com</a> </figcaption> </figure>
With my font-size explicitly set to 0.5rem in CS, the figcaption pretty much takes up the entire width of page, when attempting to align it to the right at a smaller screen size in portrait mode.
The figcaption in the landscape version (aligned to right and font-size relative to layout) is the desired outcome.
Solution
It turns out that this happens because browsers on smartphones lays out the web page using a viewport that is wider than the device screen, unlike a desktop browser. Therefore using the -webkit-text-size-adjust property does the trick. After applying the property to our CSS, it should look like this below.
CSS
figcaption { font-style: italic; font-size: 0.5rem; text-align: right; margin-bottom: 25px; -webkit-text-size-adjust: 100%; }
Be sure not to use “none” as the value for -webkit-text-size-adjust since it can affect how the text will be resized when using zoom in a browser. This would affect desktops as well. See the image below for how the figcaption now looks after adding this rule. Click on the image to see a larger version.