[javascript]用js修正瀏覽器私人屬性

來源:互聯網
上載者:User

目前有很多css屬性都是私人方式實現的,想用就要加一堆破首碼,-moz-,-ms-,-o-,-webkit-;如果在樣式表裡改一個值就需要從新把所由的都改一遍非常麻煩。

 

或者用dom style去設定一個元素的style也非常麻煩,大部分都是駝峰式的,firefox是個另類,MozTransition要處理成這樣的,不管用正則還是別的方式都不是很好處理。

小的簡單封裝了一個方法,用起來還不錯。

用dom style的cssText直接注入或者,調用後拷貝到樣式表都比較方便。

 

fixCSS('transition','all .8s ease-in 1s');function fixCSS(a,p){     return  '-moz-#:@;-ms-#:@;-o-#:@;-webkit-#:@;#:@;'.replace(/#:@/g,a+':'+p);}

調用這個方法後會返回這樣的字串  

 

"-moz-transition:all .8s ease-in 1s;-ms-transition:all .8s ease-in 1s;-o-transition:all .8s ease-in 1s;-webkit-transition:all .8s ease-in 1s;transition:all .8s ease-in 1s;"

用cssText設定後,瀏覽器只會識別自己私人的那部分代碼,其他會忽略掉,所以還是比較理想的。如果要修改樣式表就更方便了,拷貝粘貼足以。

 

不過opera有個問題,他會把所有的字串賦值給style,但是功能並沒有影響。

 

另外要注意的是:

cssText屬性,會重寫style的所有值。

 

 

關於css私人屬性的處理大家還有更好的思路,可以告知小的,感激不盡!

 

ps:css已經進入css4時代了,mediaquery被納入規範。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.