我有一個問題,檢索Firefox上確切的CSS屬性值(在'%')。檢索百分比CSS值(在Firefox中)
假設我們有這種極其簡單的標記:
<div id="box">box</div>
這個CSS:
#box{
width:200px;
height:200px;
left:10%;
position:absolute;
background:red;
}
和我想找回左側位置(在 '%')被JS
使用mootools很容易(demo - >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');
但是,如果你嘗試在火狐(8.0 .1)你會看到結果不正確(應該是10%,但是它是91px)。問題是:這個新版本的Firefox有bug嗎?有誰知道這是否是已知的錯誤?難道我做錯了什麼?
謝謝:)
更新:我想它也對老年人的Firefox版本中,這不是正確的(它總是返回像素值)。對於完整性,它正常的IE
好問題,老版本報告正確的'%'值? – Chad
我試圖在運行ffox 5.0的虛擬機上運行,並且它記錄了67.7px ..:/ ..在IE中它是正確的(10%)..later我會嘗試使用ff 6-7,但我認爲它不會起作用。 – stecb
我在Windows XP上用Firefox 7.0得到10% –