我一直在阅读其他答案,但我认为我有一个特定的背景。我正在开发一个旧的遗留代码Web项目。最初,他们使用的是IE5,但目前他们使用的是IE8。现在,他们决定使用IE11。问题是他们希望两个版本共存。
因此,某些功能(与滚动条大小和颜色相关)需要区别对待。例如,对于SELECT
元素,IE11上的滚动箭头必须为红色,其他浏览器必须为白色。
我放弃了这样做的一些可能性;比如为每个元素编写新规则,以便样式表上定义的css规则“重载”。
我会使用这样的条件评论:
<!--[if IE]>
This content is ignored in IE10 and other browsers.
In older versions of IE it renders as part of the page.
<![endif]-->
但IE&gt; 9不再支持它。
所以,我知道最好的选择是使用JS。我的想法如下:
<%if (request.getHeader("User-Agent")!=null && request.getHeader("User-Agent").indexOf("rv:11.0") != -1) {
cssSheetName = "special";
}else {
cssSheetName = "normal";
}%>
这样我就可以正确导入工作表了:
<link rel="stylesheet" href="<%=CTXT%>/css/<%=cssSheetName%>.css">
这是一种正确的做法吗?或者这是一个肮脏的解决方案或拙劣的工作?还有其他更好的方法吗?
提前Tahnks。