小数单位的探讨

你可能用过em带小数的单位,如1.2em。而px带小数的单位可能使用的少之又少如12.5px,随波逐流的我们一直认为浏览器是不识别px单位小数的,然而这不完全正确~
到底什么浏览器识别带小数的定义方式?谁又不识别?如果识别,那又如何识别那?下面通过js来获取计算后的结果你就会得到答案!

Css代码

.div2{font-size:11px;}
.div1{font-size:11.5px;}
.div3{font-size:12px;}

xHTMl代码

<div class="div2">11号大小</div>
<div class="div1" id="wrap">测试字体大小</div>
<div class="div3">12号大小</div>

js代码

//获取样式计算后的值
function getStyle(obj,attr){
	if(obj.currentStyle){
		return obj.currentStyle[attr];
	}else{		
		return getComputedStyle(obj,true)[attr]
	}
};
//fontSize输出值
window.onload = function(){
	var oWrap = document.getElementById("wrap");	
	var iFontSize= getStyle(wrap,'fontSize');
	alert(iFontSize);
}

输出结果:
IE6~7浏览器:直接忽视小数部分,输出11px;
Firefox/IE8+/Opera浏览器(moz):直接识别小数 输出11.5px;
Chrome浏览器(webkit):直接对小数单位进行“四舍五入”,输出12px;(遨游、360也采用同样解析方式)