爲每個用戶代理配置不同的CSS文件會更好嗎?還是僅使用CSS瀏覽器只能瀏覽某些瀏覽器?處理css瀏覽器兼容性的正確方法是什麼?
回答
也沒有。
最好是編寫可在所有瀏覽器中工作的代碼,而不需要瀏覽器特定的代碼或css黑客。這當然不是很容易完成,這就是爲什麼很多人使用其他方法。
關鍵是要避免某些瀏覽器(通常是Internet Explorer)遇到問題。一個這樣的事情是使用填充而不是邊距,因爲IE不能正確處理邊緣摺疊。
一些處於黑客邊界線中的方法使用的代碼不會影響正常工作的瀏覽器,但會修復特定瀏覽器的問題。這可能是爲通常不需要的元素指定高度或在浮動元素上指定display:inline
。
頁面Position is everything有一些錯誤和建議修復的示例。 (通常修補程序是某種黑客攻擊,因此您當然也應該考慮是否可以完全避免此問題。)
如果可能,也不要這樣做。現在,舊的Netscape,IE < = 6等不再使用太多,我嘗試使用適用於所有瀏覽器(例如FF> = 2,IE> = 7,Chrome,Opera)的功能。
最好不要做。
一個很好的css-reset和css工作在同一個跨瀏覽器是一個更好的解決方案。
如果你的設計完全排除,那麼(並且只有這樣)纔會嘗試黑客或IE條件註釋。
我還沒有看到需要多重CSS文件(超過幾個IE6更正通過條件註釋)。
Conditional comments與Internet Explorer問題似乎是常態。結合一點JavaScript,如Dean Edward's ie7.js,您可以緩解大多數跨瀏覽器問題,而無需在CSS文件中使用黑客技術。
它更好地使用Internet Explorer 6-7的不同css文件(包括他們通過conditional comments),併爲其他瀏覽器的黑客。
一種跟進是如何開發工作的單個文件。
我看到工作的最好方法是從無到有,慢慢構建起來,並通過改變來檢查變化,即它在覈心瀏覽器(特別是有問題的瀏覽器)中仍然兼容。
當你完全使用一個瀏覽器工作,然後說「轉換時間」是痛苦真的開始時,你必須開始黑客攻擊。
My approach使用PHP類來檢測操作系統,瀏覽器和瀏覽器版本。您可以針對任何操作系統上幾乎任何瀏覽器的任何版本。
- 1. CSS瀏覽器兼容性
- 2. 什麼是正確的「瀏覽器兼容」方式來更改樣式屬性?
- 3. css的瀏覽器兼容性
- 4. 處理IE兼容性問題的最佳方法是什麼?
- 5. 瀏覽器兼容性問題,CSS
- 6. CSS瀏覽器兼容性問題
- 7. CSS字體跨瀏覽器兼容性
- 8. CSS和瀏覽器兼容性
- 9. css調試,跨瀏覽器兼容性
- 10. CSS兼容性跨瀏覽器
- 11. 擺脫兼容性錯誤的正確方法是什麼?
- 12. 什麼是SignalR的瀏覽器兼容性?
- 13. IE瀏覽器兼容瀏覽器兼容性問題/ Firefox
- 14. WebGL瀏覽器兼容性
- 15. 瀏覽器兼容性
- 16. CSS3瀏覽器兼容性
- 17. 瀏覽器兼容性
- 18. 跨瀏覽器兼容性
- 19. Ajax瀏覽器兼容性
- 20. ASP.Net瀏覽器兼容性
- 21. 是什麼導致IE瀏覽器檢測兼容性視圖
- 22. 是Dreamweaver瀏覽器兼容性檢查沒用或什麼?
- 23. 處理與ADF的瀏覽器兼容性
- 24. JavaScript方法/屬性的瀏覽器兼容性/支持表
- 25. 在跨瀏覽器兼容性的Css中完成此操作的最快方法是什麼?
- 26. 是X-UA兼容IE瀏覽器兼容性的答案?
- 27. 是否兼容瀏覽器
- 28. 在nodeunit中處理異步性的正確方法是什麼?
- 29. Javascript:處理常量和跨瀏覽器兼容性
- 30. 應該處理瀏覽器兼容性問題嗎?
你列出的大多數問題都歸結爲設置文檔類型。如果你不這樣做,那麼是的,你將在瀏覽器之間產生根本性的差異。使用CSS重設的Doctype可以解決正常使用情況下的所有問題。 – NotMe 2009-04-30 20:52:24
不,我所概述的內容即使在您有適當的文檔類型和有效的代碼時也適用。沒有它,你的情況會變得更糟。 – Guffa 2009-04-30 22:10:33