У меня проблема с получением точного значения свойства css (в «%») в firefox.
Предположим, у нас есть очень простая разметка:
<div id="box">box</div>
и это css:
#box{
width:200px;
height:200px;
left:10%;
position:absolute;
background:red;
}
и Я хотел бы получить левую позицию (в '%') от js
Это очень легко с mootools (демо -> http://jsfiddle.net/steweb/AWdzB/):
var left = $('box').getStyle('left');
или jQuery (демо -> http://jsfiddle.net/steweb/RaVyU/):
var left = $('#box').css('left');
или просто js (демо -> http://jsfiddle.net/steweb/tUAKA/):
function getStyle(el,styleProp){ //from ppk's quirksmode
var x = document.getElementById(el);
if (x.currentStyle)
var y = x.currentStyle[styleProp];
else if (window.getComputedStyle)
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
return y;
}
var left = getStyle('box','left');
Но если вы попробуете это на firefox (8.0.1), вы увидите, чторезультат не правильный (должен быть 10%, но это 91px). Вопросы: есть ли ошибка в этой новой версии Firefox? Кто-нибудь знает, если это известная ошибка? Я что-то не так делаю?
Спасибо:)
Обновление : я пробовал также на старых выпусках Firefox, и это не правильно (он всегда возвращает значение px) .. для полноты, он работает правильно в IE