利用特定于浏览器和浏览器版本的ASP.NET主题

时间:2012-12-11 16:51:23

标签: asp.net css internet-explorer css3 cross-browser

我的团队正在开发一个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中检测浏览器版本并应用正确的规则或主题吗?或者这是否必须在后面的代码中完成,并从那里相应地设置主题?

1 个答案:

答案 0 :(得分:0)

尝试CSS PIE - http://css3pie.com/。这是一个库,它通过.htc文件中的行为启用IE6-8中的CSS3功能。