昨天遇到一用js改变元素浮动的,当时直接写了 obj.style.float="left";结果没起作用;查了资料后才发现不能这样写,现在整理下几种样式写法
1,直接写css属性的,如:obj.style.height/width/color/position等
2,要改大写的,如:obj.style.fontSize/marginLeft/backgroundColor等
3,float,此属性在IE中用obj.style.styleFloat="left";
在ff等其他浏览器中用obj.style.cssFloat="left";
第三中兼容性写法:obj.style['cssFloat' in obj.style?'cssFloat':'styleFloat']='left';具体例子如下
1 <style type="text/css"> 2 #content{ 3 width: 1000px; 4 margin: 0 auto; 5 background: #66c; 6 overflow: hidden; 7 } 8 #left{ 9 width: 200px; 10 height: 50px; 11 background: #c66; 12 color: #fff; 13 } 14 </style>
1 <div id="content"> 2 <div id="left">left</div> 3 <div id="main">main</div> 4 </div>
1 <script type="text/javascript"> 2 var oLeft=document.getElementById('left'); 3 oLeft.style['cssFloat' in oLeft.style?'cssFloat':'styleFloat']='left'; 4 </script>
这样就通过js改变了id为left的float属性