【发布时间】:2012-11-11 07:42:13
【问题描述】:
在图像的一侧或相对两侧(左/右或上/下)将文本居中非常容易,但我需要将一些文本文本沿图像的左侧居中,并在图像的左侧居中一些文本底部。
我已经使用了几种解决方案,但每种解决方案都需要手动将一段文本或另一段文本居中。在下面的解决方案中,我选择在左侧手动应用垂直居中,因为在底部水平居中文本需要填充以随文本长度而变化。
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;
}
【问题讨论】:
-
目前还不清楚您要达到的目标。你能详细说明一下吗?
-
如果您点击 jfiddle 链接,您会发现我已经通过硬编码左侧文本的 padding-top 并使用“text-align: center;”来实现它。在底部。我想这样做,我不必手动计算每个 div 和段落上的正确像素
标签: css image text center dimensions