html - 在 Razor View 中 - 如何检测浏览器类型和版本以选择线性渐变类型

标签 html css razor

我第一次尝试使用 razor View 创建和启动网站(C# .Net MVC)。

我在网站上大量使用了线性渐变,自发布以来我意识到在 IE 9 及更低版本中不支持渐变

我想根据浏览器类型和版本选择渐变样式。

例如:

@if(browser is IE 9 and under){
style="background: #ffffff;
}
Else{
style="background:linear-gradient(to bottom, #ffffff 0%,#ffffff 100px,#b8dbff 100%);
}

如何在 Razor View 中检测浏览器类型和版本?

过滤与线性渐变不兼容的浏览器版本的最简单方法是什么?

向前端开发人员致敬,我不知道这些跨浏览器问题是这样的问题。

当某些东西在浏览器中不起作用时,我自己经常提示

最佳答案

您可以使用 Razor 引擎根据调用者提供不同的 View ,但听起来您的情况可以用 HTML/CSS 处理。

如果 IE9 是你唯一的问题,你可以使用 conditional comments并包含额外的样式/样式表。

<!--[if IE 9]>
<style>
   #foo { background-color: #fff; }
</style>
<![endif]-->

但是对于您的特定问题,您应该能够做一些更简单的事情,只需修改您的样式表:

body{
    /* all browsers */
    background: red;

    /* newer browsers overwrite the previous value; old browsers ignore */
    background: linear-gradient( to left top, blue, red); 
}

IE9 不知道“线性渐变”是什么意思,所以会忽略它。这是 defined behavior您可以信赖。

演示:http://fiddle.jshell.net/K67yd/2/show/

关于html - 在 Razor View 中 - 如何检测浏览器类型和版本以选择线性渐变类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19437665/

相关文章:

javascript - 将链接附加到 D3 树布局中矩形的一侧

html - 如何用CSS添加第二个背景?

php - 获取ip位置和操作系统

html - 菱形表

html - IOS 上的输入字段错误 - 文本变白

asp.net-mvc - ASP.NET MVC 和 Razor 在 0 时显示整数或空白

asp.net-mvc - ASP.NET MVC 3 - 发布前从集合中添加/删除

html - 垂直对齐提交按钮和带有按钮标记的链接

php - <audio>标签与PHP变量

javascript - 在html表中获取倒数第二个 child td