这不是我第一次遇到这个问题并且从来没有机会弄清楚正确的事情。
所以问题来了:
我有 2 个 div。他们每个人都有一个标题。根据标题的长度,标题可能必须适合或不适合 2 行。所有这些都是从 CMS 生成的,因此无法判断其中一个在给定时间是否有 2 行或 1 行(因此,如果它们有 1 行或 2 行,我不能将它们与类分开)
这是有趣的部分:我希望这两个 div 中的标题垂直居中。行高不会这样做,因为它总是有可能在 1 或 2 行上,并且 display:table-cell + vertical-align:middle 与 IE7 不兼容。
那么有没有办法让这些标题垂直居中并且适用于每个浏览器?
编辑:这是我试图解释的情况的照片:
编辑#2:这是一个重新创建我的示例的代码示例。我们想让它们都居中。http://jsfiddle.net/m7bLj/
编辑#3:
在@mikhailvs 的回答之后,我想出了这段代码,它很有效。
$(document).ready(function(){
$(".container-div").each(function(){
$(this).children('div').css('top', String($(this).height() / 2 - $(this).children('div').height() / 2) + 'px');
})
})