Поскольку некоторые параметры измерения в css
не всегда находятся в значениях px
, как может быть такое непиксельное значение, преобразованное в px
?
Пусть
var x = $('#element').css('parameter');
и пусть говорят, что значение такой переменной x
равно 1.2em
или какой-либо другой строке, содержащей не только число, но и информацию о типе измерения (px
, em
, pt
, cm
, in
,...).
Что такое все-браузерное решение для преобразования такой string
в integer
с результатами в px
?
Вы можете использовать встроенный метод getComputedStyle
который будет интерполировать любое значение non- px
в пикселях. Например:
var el = document.getElementById('foo'); // has a relative font size
console.log(el.style.fontSize); // "5em"
console.log(window.getComputedStyle(el).fontSize); // "80px"
Оттуда вы можете преобразовать в целое число.
currentStyle
в IE, если вам необходимо поддерживать IE8 или более currentStyle
.
$("#element").css("padding","2em")
var value = parseInt($("#element").css("font-size"));
var padding = 2*value ;
console.log(padding);