Firefoxで正確なCSSプロパティ値( '%')を取得できませんでした。私はJSで( '%' で)左の位置を取得したいと思いますCSS値の取得(firefox)
#box{
width:200px;
height:200px;
left:10%;
position:absolute;
background:red;
}
と:
<div id="box">box</div>
と、このCSS:
たちは、この非常に簡単なマークアップを持っていると仮定します
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にはバグがありますか?誰かがそれが既知のバグかどうか知っていますか?私は何か間違っているのですか?
感謝:)
更新は..完全を期すために、それはIE
良い質問ですが、古いバージョンでは正しい '% '値が報告されますか? – Chad
ffox 5.0を実行しているVMを試しましたが、67.7px ..:/..on IEは正しいです(10%)。後でff 6-7で試してみますが、動作しないと思います。 – stecb
Windows XPでFirefox 7.0で10%を取得 –