2010-08-14 195 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)中嵌入条件处理。