我的团队正在开发一个ASP.NET Web应用程序,我们正试图在几个主要浏览器(IE,Chrome,Firefox)的浏览器类型和版本之间保持一致的外观。如果可能,我们还希望允许主题化,以便用户可以选择颜色,字体大小等。
但是,由于目前有一些CSS3规则,我在实现与IE 8和9的兼容性方面存在严重问题。特别是,此div
中使用的着色渐变引起了麻烦,因为它们在IE 8或9中不受支持:
#logos
{
width:1024px;
height:100px;
border-radius:15px;
color: -moz-linear-gradient(bottom, #297381, #FFFFFF);
color: -ms-linear-gradient(bottom, #297381, #FFFFFF);
color: -webkit-linear-gradient(bottom, #297381,#FFFFFF);
background:-moz-linear-gradient(bottom, #297381,#FFFFFF);
background:-ms-linear-gradient(bottom, #297381,#FFFFFF);
background:-webkit-linear-gradient(bottom, #297381,#FFFFFF);
}
我相信(如果我错了,请纠正我)我可以通过添加以下规则来实现IE9中的渐变:
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#297381', EndColorStr='#FFFFFF')";
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=’#297381’, EndColorStr='#FFFFFF');
但我不认为IE8中有任何相应的选项,我也不认为它支持border-radius
。我希望只有一个单独的主题或规则,使用静态图像作为div
的背景。有什么办法可以在css中检测浏览器版本并应用正确的规则或主题吗?或者这是否必须在后面的代码中完成,并从那里相应地设置主题?