我想弄清楚確保跨瀏覽器兼容性的最有效方法。我做了一些研究並且學習了一些有趣的東西,例如Mozilla/Firefox無法處理一個名稱以數字開頭的類。有什麼辦法可以讓CSS適用於任何瀏覽器,還是隻開發多個CSS並添加代碼以根據所用瀏覽器選擇要使用的代碼?在大多數瀏覽器中使網站兼容
2
A
回答
3
你可能如Blueprint考慮使用CSS框架。它包括一個CSS重置,應該有所幫助。
此外,您可能想看看Yahoo's CSS reset
0
你可能會使用一個爲你做這個的框架,比如GWT,但是請記住你仍然會有一些問題。
1
一個很好的出發點是使用CSS復位,如:http://developer.yahoo.com/yui/reset/
1
你的目標應該是CSS能夠在所有瀏覽器上運行。如果您從每個瀏覽器的CSS文件開始,您會停在哪裏?移動Safari?羣? Konqueror的?每個支持的瀏覽器的每個版本?
最終,你可能需要妥協,但是當你到達那裏時你可以穿越那條路。
1
無論你的基礎設施/框架/等你應該在所有主流瀏覽器上測試你的代碼。儘可能避免使用樣式表來解決瀏覽器特定的問題。瀏覽器將會改變和適應,這意味着當新的瀏覽器出現時,你可能會被迫更新一堆網站。
CSS是一個善變的野獸,我還沒有找到任何解決方案,涵蓋所有的怪癖,除了很多盡職調查和測試。
2
要回答你的問題:沒有辦法只使用一個通用的CSS來製作一個頁面,並且它在所有瀏覽器中的顯示效果是一樣的,除非你只使用所有可用CSS的非常小的子集(選擇器,值,等等。)。
我的工作方式是:
- 使用一個CSS復位
- 制定附着在標準相當好(火狐,Chrome,Safari瀏覽器,Opera)的瀏覽器
- 修補的東西了使用IE條件註釋(因爲你可能需要的東西,不驗證)
3
旁白澄清一點:
...我已經做了一些研究,並學到了一些有趣的東西,如一個事實,即Mozilla的/火狐不能處理具有名稱的類開始與多家 ....
對不起,但這不是Mozilla的限制,它在CSS規範中:類名不能以數字開頭。任何瀏覽器允許他們沒有正確執行規則。
在StackOverFlow上回答了here。規範的相關部分在http://www.w3.org/TR/CSS21/syndata.html#characters(參見第2段)。
相關問題
- 1. 主要網站瀏覽器不兼容
- 2. 與瀏覽器的網站兼容
- 3. HTML網站 - 瀏覽器兼容性
- 4. 網站跨瀏覽兼容性
- 5. 網站在AOL瀏覽器中不兼容
- 6. 使HTML5和CSS3網站與舊版瀏覽器兼容?
- 7. 如何使網站與每個瀏覽器兼容
- 8. 跨瀏覽器兼容網頁
- 9. 測試瀏覽器與我的網站的兼容性
- 10. PHP網站的瀏覽器兼容性問題
- 11. 與IE 7瀏覽器(asp.net網站)的兼容性問題
- 12. 在Firefox瀏覽器中,網站有太多填充內容
- 13. CSS3瀏覽器兼容性
- 14. 跨瀏覽器兼容性
- 15. CSS瀏覽器兼容性
- 16. SnapSVG瀏覽器不兼容
- 17. 跨瀏覽器兼容
- 18. Ajax瀏覽器兼容性
- 19. 瀏覽器兼容性
- 20. 瀏覽器兼容性
- 21. 紅帽兼容瀏覽器
- 22. ASP.Net瀏覽器兼容性
- 23. 在網絡瀏覽器中的打印兼容性
- 24. 使我的WP網站的一個特定元素跨瀏覽器兼容
- 25. Datalist中兼容所有瀏覽器
- 26. jQuery中的瀏覽器兼容性
- 27. 瀏覽器調整大小時網站上的內容堆棧
- 28. flv,youtube視頻流在網站上與跨瀏覽器和iphone ipad兼容。
- 29. PHP:使網站Unicode兼容
- 30. 使CSS代碼段與多個瀏覽器兼容?
很高興知道,儘管我儘量避免用數字開始任何名字。我從www.w3schools.com/css/css_syntax.asp獲得了信息。在頁面底部附近說:不要用數字開始一個類名!它不適用於Mozilla/Firefox。 – Bryan 2009-06-29 21:37:37