有沒有CSS黑客檢測到只有Android瀏覽器寫CSS?不是所有的WebKit瀏覽器 - 我想爲iPhone和Android瀏覽器上的某些元素編寫不同的CSS。有沒有什麼辦法可以檢測出只有CSS的Android瀏覽器?
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想針對Android的瀏覽器CSS破解。
有沒有CSS黑客檢測到只有Android瀏覽器寫CSS?不是所有的WebKit瀏覽器 - 我想爲iPhone和Android瀏覽器上的某些元素編寫不同的CSS。有沒有什麼辦法可以檢測出只有CSS的Android瀏覽器?
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想針對Android的瀏覽器CSS破解。
您引用的CSS黑客攻擊利用了CSS中的缺陷以針對特定的瀏覽器(通常用黑客來獲取一些與IE 6 /等傳統瀏覽器一起工作的東西)。 CSS本身不能執行瀏覽器檢測,尤其是不需要操作系統檢測,這正是你正在尋找的。
我對您的問題上述評論是說(不這樣做!),你可以抓住用戶代理字符串,它包含的「Android」作爲操作系統:
Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone
我不能如果這是100%可靠的(儘管理由是每個Android手機都應該這樣報告),並且沒有什麼可以阻止它在未來發生變化。您需要在Javascript中執行此檢測並讓JS加載您的用於Android的自定義CSS文件(讓它爲文檔添加另一個樣式標籤),或者在您的服務器端編程(ASP/PHP等)中執行檢測並讓它將風格標籤回傳給您的來源。
我會避免,親自。從長遠來看,瀏覽器檢測總是很麻煩。這就是爲什麼我們已經進入了媒體查詢之類的問題,以尋求瀏覽器的特性,而不是「這是哪種瀏覽器?」 – Parrots 2011-04-24 15:25:05
CSS不是爲了處理這種東西而設計的。 – BoltClock 2011-04-24 15:26:04
有一些特定於Android的怪癖,例如[涉及「自動適應網頁」功能的呈現問題](http://stackoverflow.com/questions/8508889/android-autofit-mode-causing-issues-with-css-寬度在-網頁)。針對Android瀏覽器的一些規則(如no-op背景圖像:解決該問題的方法)將非常有用。 – supervacuo 2012-11-04 18:21:45