尝试将框保持垂直居中于另一个框内。我知道有css可以做到这一点,但我宁愿使用jquery,更可靠(?)。
var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);
$(".Text").css({
marginTop: 'vertAlign'
});
不确定我缺少什么细节。输出应为可用垂直空间的一半(以像素为单位)。
修改的
最初,文本块是div包含的范围。 div具有设定的高度(在这种情况下为140 px),文本块(span)将根据文本的大小而变化。但是,我需要此文本块可编辑。所以我将其改为文本区域。但是,文本区域的尺寸行为很笨拙,我不得不为它设置静态高度和宽度。现在这个文本块的高度不是可变的,因此它与它的父级之间的高度没有差别,可以从中获取边距顶部间距。我该怎么办?
答案 0 :(得分:32)
删除vertAlign
$(".Text").css('margin-top', vertAlign);
试试上面的代码。它必须帮助你。
答案 1 :(得分:9)
可选择如果您想要多种风格:
var styles = {'margin-top':vertAlign,'property':100,'property':somevalue}
$(".Text").css(styles);
答案 2 :(得分:2)
var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);
$(".Text").css({
margin-top: vertAlign + 'px'
});
您需要指定单位,否则您的浏览器将无法判断您是想要像素还是em或者苹果。另外您可能想要进行一些范围检查,您不希望vertAlign
成为负