CSS中float屬性有很多值得學習的地方,本文和大家重點討論一下如何使用JavaScript控制CSS的float屬性,相信本文介紹一定會讓你有所收獲。
用JavaScript控制CSS的float屬性
今天學習JavaScript控制CSS的float屬性時發現的一個兼容性問題,在Aptana沒有代碼提示,用VisualStudio2008也沒有代碼提示,不知道是不是因為這個屬性在不同的浏覽器中不能兼容還是它們都有Bug。先看一下我寫的DEMO吧。
ExampleSourceCode
- <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHtml1.0Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xHtml1-transitional.dtd">
- <HtmlXMLnsHtmlXMLns="http://www.w3.org/1999/xHtml">
- <head>
- <metahttp-equivmetahttp-equiv="Content-Type"content="text/Html;charset=utf-8"/>
- <title>測試了</title>
- <scripttypescripttype="text/Javascript">
- functiondivFloatRight(e){
- e.style.backgroundColor="#ff0000";
- e.style.styleFloat="right";//IE
- e.style.CSSFloat="right";//Firefoxandothersexplorer
- }
- functiondivFloatLeft(e){
- e.style.backgroundColor="transparent";
- e.style.styleFloat="left";
- e.style.CSSFloat="left";
- }
- </script>
- </head>
- <body>
- <div>
- <dividdivid="demo"style="border:dashed1px#000000;"onmousemove="divFloatRight(this);"
- onclick="divFloatLeft(this);">
- //JavaScript控制div的float屬性,onmousemove~float:right,onclick~float:left。
- </div>
- </div>
- </body>
- </Html>
在這裡,IE只能支持obj.style.styleFloat,而Firefox和其它的浏覽器只支持obj.style.CSSFloat。為了解決這個浏覽器兼容問題,一開始小題大作的打算寫一個浏覽器判斷的方法,後來反過來一想,只要把這兩個屬性設置的語句寫在一起就可以兼容各個浏覽器了。
文章來源:Div-Css.net設計網參考:http://www.div-CSS.Net/div_CSS/topic/?id=6891
【編輯推薦】