将CSS定位从百分比转换为像素

时间:2015-03-11 03:20:12

标签: javascript jquery percentage pixels

我有一个垂直居中的标题,如下:

h1{
  position: absolute;
  height: 30px;
  top: 50%;
  margin-top: -15px;
}

现在我想使用jQuery将当前位置转换为像素。但如果我试试这个:

$('h1').css('top', $('h1').offset().top.toString() + "px")

标题向上移动了一点。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

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"
});