我正在尝试使用CSS(不使用表格,我猜。随便)实现这个布局。有什么想法吗?
垂直对齐:居中
两者都适用
查看 table 和 cell 的 CSS 属性(尤其是单元格内容垂直水平居中的基本情况)。
有一些你可以做的事情,但这取决于问题的具体情况。几个问题:
如果照片的高度始终相同,并且只有一行文本,则可以将文本的line-height
设置为照片的大小,然后将照片设置为float:left
。
如果可能有多行文本,则可能需要使用inline-block
元素并使用Javascript计算顶部边距。
编辑:不幸的是,由于块级元素不允许垂直居中,因此无法仅使用CSS完成此操作。以下是一个示例,在div
中使用任何长度的文本以及任何大小的照片都可以工作: http://jsfiddle.net/W7b4U/39/
HTML
<img src="http://placehold.it/100x150">
<div class="align">align this align this align this align this align this align this align this align this align this align this align this align this align this align this align this </div>
CSS
img {float: left;}
Javascript/JQuery
$(document).ready(function() {
var $text = $('.align');
var $img = $('img');
var margin = ($img.outerHeight() - $text.outerHeight()) / 2;
var textPadding = 10;
$text.css({marginTop: margin, marginLeft: $img.outerWidth() + textPadding});
});