2010-08-14 210 views
0

有很多方法可以處理CSS瀏覽器兼容性問題。 如使用Box模型設計或爲不同瀏覽器開發不同樣式表或使用動態CSS技術(在CSS文件中編寫PHP腳本)。CSS和瀏覽器兼容性

有沒有什麼辦法可以讓我們知道在瀏覽器中執行的Style是否被該瀏覽器支持?

我們能使用PHP代碼編寫代碼類似下面的動態CSS。我的意思是有任何功能或方法來實現此功能。

文件名:styles.css.php

<?php 
header("content-type: text/css"); 

// isStyleSupported() function will return true or false with respect to the browser it is being executed 
if (isStyleSupported('min-width')) { 
    // styles here 
} else { 
    // alternative style here 
} 

?> 

我知道這可能是很難保持的不同版本的瀏覽器的記錄相對於它的CSS支持。但仍然好奇,如果有人知道任何解決方案或替代方法?

回答

2

由於服務器只發送信息並且沒有收到來自瀏覽器的反饋,因此無法使用像PHP這樣的純服務器端解決方案來確定客戶端的瀏覽器。

這聽起來像是一個Javascript的工作,其中you'd check if a particular CSS style is supported by the client's browser.

一旦確定請求的瀏覽器支持什麼樣的風格,你可以使用AJAX和PHP服務於正確的樣式。另一方面,您也可以使用純Javascript來提供正確的樣式。

爲了測試CSS樣式支持,使用Javascript函數與AJAX觸發的PHP函數相比,您可以使用JS實際測試單個瀏覽器CSS支持,而不是依賴支持哪些樣式的某些文檔通過什麼瀏覽器,你將不得不做一個PHP函數。

無論如何,您需要通過Javascript來確定正在使用的瀏覽器。

0

我搜索了IE hack,發現像CSS hacks這樣的頁面與您的問題相關:如何在CSS(不使用PHP)中嵌入條件處理。