画像の横のテキストを片側または反対側 (左/右または上/下) の中央に配置するのは非常に簡単ですが、画像の左側に沿っていくつかのテキスト テキストを中央に配置し、下側に沿っていくつかのテキストを中央に配置する必要があります。
私はいくつかの解決策を試しましたが、それぞれのテキストを手動でセンタリングする必要があります。以下の私のソリューションでは、左側に垂直方向の中央揃えを手動で適用することを選択しました。これは、下部のテキストを水平方向に中央揃えにするには、テキストの長さに応じてパディングを変更する必要があるためです。
Javascriptはかなり簡単です。の線に沿った何か
element.style.paddingTop = (Img_Height/2 - Txt_Height/2);
しかし、純粋な CSS ソリューションがないとは信じがたいです。
以下のコードと同じ効果を達成するためのより良い方法はありますか? ここで実際の動作を確認してください: http://jsfiddle.net/Gamil/yteBY/
<div class="Preview">
<p class="Preview" style="padding-top: 54px;">120 pixels high</p>
<ul class="Preview">
<li><img alt="big preview" src="http://placehold.it/160x120" /></li>
<li>160 pixels wide</li>
</ul>
</div>
<div class="Preview" style="padding-top: 30px;margin-left: 30px;">
<p class="Preview" style="padding-top: 23px;">60 pixels high</p>
<ul class="Preview">
<li><img alt="big preview" src="http://placehold.it/80x60" /></li>
<li>80 pixels wide</li>
</ul>
</div>
CSS:
.Preview {
float: left;
}
ul.Preview > li {
list-style: none;
text-align:center;
}