尝试使一个框在另一个框中垂直居中。我知道有css可以做到这一点,但我更喜欢使用jquery,它更可靠(?)。
var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);
$(".Text").css({
marginTop: 'vertAlign'
});
不确定我漏掉了什么细节。输出应为可用垂直空间的一半,以像素为单位。
编辑
最初,文本块是由div包含的跨度。div有一个设置的高度(在本例中为140 px ),文本块span的高度将根据其中有多少文本而变化。但是,我需要这个文本块是可编辑的。所以我把它改成了文本区。但是,文本区域的尺寸行为很笨拙,我必须为它设置一个静态的高度和宽度。现在这个文本块的高度是不变的,所以它和它的父级之间的高度没有差别,用来派生页边距-顶部间距。我该怎么办?
发布于 2011-05-12 12:59:35
删除vertAlign
两边的引号
$(".Text").css('margin-top', vertAlign);
尝试上面的代码。它一定对你有帮助。
发布于 2011-05-12 13:06:46
如果您想使用多个样式,也可以选择:
var styles = {'margin-top':vertAlign,'property':100,'property':somevalue}
$(".Text").css(styles);
发布于 2011-05-12 13:11:32
var textH = $(".Text").height();
var vertAlign = ((140 - textH)/2);
$(".Text").css({
margin-top: vertAlign + 'px'
});
你需要指定单位,否则你的浏览器将无法判断你是想要像素、em还是apples.Also,你可能想要做一些范围检查,你不希望vertAlign
是负的。
https://stackoverflow.com/questions/5973440
复制相似问题