Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将CSS定位从百分比转换为像素_Javascript_Jquery_Percentage_Pixels - Fatal编程技术网

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

Javascript 将CSS定位从百分比转换为像素,javascript,jquery,percentage,pixels,Javascript,Jquery,Percentage,Pixels,我有一个垂直居中的标题,如下所示: h1{ position: absolute; height: 30px; top: 50%; margin-top: -15px; } 现在我想使用jQuery将当前位置转换为像素。但如果我尝试这样做: $('h1').css('top', $('h1').offset().top.toString() + "px") 标题稍微上移了一点。我在这里遗漏了什么?jQuery offset top将负边距考虑在内。这不仅仅是看最高价值 以下是

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

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