我有一个垂直居中的标题,如下所示:
h1{
position: absolute;
height: 30px;
top: 50%;
margin-top: -15px;
}
现在我想使用 jQuery 将当前位置转换为像素。但如果我尝试这个:
$('h1').css('top', $('h1').offset().top.toString() + "px")
标题向上移动了一点。我在这里缺少什么?
最佳答案
jQuery offset top 考虑了负边距。它不仅仅关注最高值。
您可以执行以下操作:
var margin = parseInt($('h1').css("margin-top")) * -1, //positive val of margin
offset = margin + $('h1').offset().top;
$('h1').css({
top: offset + "px"
});
关于javascript - 将 CSS 定位从百分比转换为像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28978001/