Okay, this is hack, but it solves the problem: At the beginning of each
div.body
, insert the following:
<div style="font-size: 1px">
<span style="display:inline-block; min-width:250px;"></span>
</div>
and at the end of each
div.body
, insert this:
<div style="font-size: 1px">
<span style="display:inline-block; min-width:230px;"></span>
<span style="display:inline-block; min-width:230px;"></span>
<span style="display:inline-block; min-width:230px;"></span>
</div>
This will force the text below the image when there's not at least 250px of space to the right of the image. The div of three spans at the end is needed to avoid bad things happening especially with embedded YouTube videos.
Alternatively, change the
viewport
tag to specify a minimum width of say 400px (although this will result in smaller text):
<meta name="viewport" content="width=400, initial-scale=1, user-scalable=yes">