各浏览器中浮动属性使用的属性不同。如IE中使用styleFloat,标准浏览器使用cssFloat。

<div>test</div>
<script>
	var div = document.getElementsByTagName('div')[0];
	// IE
	div.currentStyle.styleFloat; // none
	
	// FF/Chrome/Safari/Opera
	var sty = window.getComputedStyle(div, null);
	sty.cssFloat; // none
</script>

为什么不直接使用float?只因float是ECMAScript的保留字。

看jq源码中意外发现IE中使用“float”属性在IE9下也可以获取,如下

<div>test</div>
<script>
	var div = document.getElementsByTagName('div')[0];
	
	// IE9
	alert(div.currentStyle['float']); // none
</script>

IE6/7/8则是undefined。webkit 也支持float属性,如下

<div>test</div>
<script>
	var div = document.getElementsByTagName('div')[0];
	
	// Chrome/Safari
	var sty = window.getComputedStyle(div, null);
	alert(sty['float']); // none
</script>

以下列举下各浏览器对float,cssFloat,styleFloat的支持情况

IE6/7/8 IE9 Firefox Safari Chrome Opera
styleFloat Y Y N N N Y
cssFloat N Y Y Y Y Y
float N Y N Y Y N
推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"