我正在开发一个网站,并注意到它在所有浏览器上都无法正确执行。
我想为每个浏览器创建不同的 CSS 样式表,主要是 IE。
我的问题在于如何使用不同的浏览器调用不同的样式表。
我也找不到在我的 MVC 网站中调用主 site.css 的位置,如果有人可以告诉我在 MVC 网站中调用 site.css 的位置,那就太好了。
那么我在哪里以及如何在 MVC 网站中为不同的浏览器调用不同的样式表?
我正在开发一个网站,并注意到它在所有浏览器上都无法正确执行。
我想为每个浏览器创建不同的 CSS 样式表,主要是 IE。
我的问题在于如何使用不同的浏览器调用不同的样式表。
我也找不到在我的 MVC 网站中调用主 site.css 的位置,如果有人可以告诉我在 MVC 网站中调用 site.css 的位置,那就太好了。
那么我在哪里以及如何在 MVC 网站中为不同的浏览器调用不同的样式表?
在 ASP .NET MVC 中使用特定于浏览器的样式表没有什么不同。您放置if
语句并指向样式表。在这里查看更多。您可以将样式表语句放在_Layout.cshtml
文件Views\Shared
夹中的文件中
在 ASP .NET MVC 中,样式表位于Content
文件夹中。
ASP .NET MVC 4 使用 Minification 和 Bundling。查看App_Start
文件夹内部,您将看到一个 BundleConfig.cs 文件,在里面,您将看到bundles
包含 css 和 javascript 的文件。在_layout.cshtl
文件中,您将看到引用这些的代码,bundles
类似于@Styles.Render("~/Content/css")
.
“那么我在哪里以及如何在 MVC 网站中为不同的浏览器调用不同的样式表?”
在包含您的标签的布局文件中。<head>
像这样:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
</head>
....
使用条件:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
或者
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
或者
<!--[if gte IE 6]> (greater then IE6)
<link rel="stylesheet" type="text/css" href="iespecific.css" />
<![endif]-->
我不知道您的 css 将位于“MVC 网站”中的哪个位置,因为我不知道您使用的是什么框架。
您的方法实际上不是最佳实践。您不应该针对特定的浏览器,而应该针对标准(例如 HTML5 和 CSS3)。
如果您认为您的目标受众可能会使用旧版浏览器,那么请以 HTML4 和 CSS2 为目标。
另外...考虑使用 CSS 规范化,而不是为不同的浏览器使用不同的样式表。
从个人(实际上是专业的)经验来看,我发现在使用 CSS 规范化时,如果我什至必须编写特定于浏览器的样式表,那么我的全局样式表实现得很差......因此最好在 CSS 规范化之上构建一些东西这在全球范围内有效,而不是为浏览器编写黑客!
谷歌: HTML5 Boilerplate
|CSS Normalization
您可能想在这里尝试... http://html5boilerplate.com/
您可能喜欢的另一项研究是Google Chrome Frame
你可以在 IE 上试试这个:
<!--[if IE]>
According to the conditional comment this is IE<br />
<![endif]-->
<!--[if IE 6]>
According to the conditional comment this is IE 6<br />
<![endif]-->
<!--[if IE 7]>
According to the conditional comment this is IE 7<br />
<![endif]-->
<!--[if IE 8]>
According to the conditional comment this is IE 8<br />
<![endif]-->
<!--[if IE 9]>
According to the conditional comment this is IE 9<br />
<![endif]-->
<!--[if gte IE 8]>
According to the conditional comment this is IE 8 or higher<br />
<![endif]-->
<!--[if lt IE 9]>
According to the conditional comment this is IE lower than 9<br />
<![endif]-->
<!--[if lte IE 7]>
According to the conditional comment this is IE lower or equal to 7<br />
<![endif]-->
<!--[if gt IE 6]>
According to the conditional comment this is IE greater than 6<br />
<![endif]-->
<!--[if !IE]> -->
According to the conditional comment this is not IE<br />
<!-- <![endif]-->
注意特殊语法:
gt: greater than
lte: less than or equal to