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

标签 javascript jquery percentage pixel

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

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/

相关文章:

jquery - 数据对齐

c# - 将百分比文本添加到进度条 C#

r - 通过组变量计算多个数值变量的百分比

javascript - 补丁 Rails 3 以修复 CSRF 保护漏洞

javascript - 如何在单击按钮时复制 URL?

javascript - 避免不需要的表单提交

javascript - 将对象/类作为参数传递

jquery - 粘性导航栏未正确定位

javascript - 使用jquery从iframe获取浏览器视口(viewport)的高度

sql-server - MS SQL Server 中的数字格式为百分比