将非像素css值转换为px

时间:2013-10-02 14:23:57

标签: javascript jquery html css

由于css中的某些测量参数并非始终为px值,如何将此非像素值转换为px

我们有

var x = $('#element').css('parameter');

让我们说这个x变量的值是1.2em或其他一些不仅包含数字的字符串,还包含测量类型信息(pxemptcmin,...)。

什么是将string转换为integer的所有浏览器解决方案,结果为px

2 个答案:

答案 0 :(得分:2)

您可以使用内置方法getComputedStyle,它会将任何非px值插入像素。例如:

var el = document.getElementById('foo'); // has a relative font size

console.log(el.style.fontSize); // "5em"
console.log(window.getComputedStyle(el).fontSize); // "80px"

从那里你可以转换成一个整数。

Example JsBin MDN Documentation

答案 1 :(得分:1)

$("#element").css("padding","2em")
var value = parseInt($("#element").css("font-size"));
var padding = 2*value ;
console.log(padding);