我想在不同的浏览器上应用不同的CSS。
我想在野生动物园时运行一个css,在其他所有人中运行第二个。
我如何根据那个检测到并应用css?
答案 0 :(得分:2)
您可以使用CSS浏览器选择器。网上有不同的解决方案。
例如:
CSS浏览器选择器是一个小型JavaScript库,允许您为每个浏览器包含不同的级联样式表(CSS)。
一个例子:
<style type="text/css">
.ie .example {
background-color: yellow
}
.ie7 .example {
background-color: orange
}
.opera .example {
background-color: green
}
.webkit .example {
background-color: black
</style>
如果您使用谷歌“每个浏览器不同的CSS”,您也可以找到其他解决方案,但大多数解决方案归结为类似的解决方案。
另一种方法是检测ASP.NET中的浏览器类型和功能,以便您可以呈现适当的HTML / CSS / ...等。您可以在此处找到有关该主题的更多信息:
http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx
例如:
private void Button1_Click(object sender, System.EventArgs e)
{
System.Web.HttpBrowserCapabilities browser = Request.Browser;
string s = "Browser Capabilities\n"
+ "Type = " + browser.Type + "\n"
+ "Name = " + browser.Browser + "\n"
+ "Version = " + browser.Version + "\n"
+ "Major Version = " + browser.MajorVersion + "\n"
+ "Minor Version = " + browser.MinorVersion + "\n"
+ "Platform = " + browser.Platform;
TextBox1.Text = s;
}
Request的Browser属性返回一个HttpBrowserCapabilities对象。它包含有关客户端上运行的浏览器功能的信息。
http://msdn.microsoft.com/en-us/library/system.web.httpbrowsercapabilities.aspx
答案 1 :(得分:2)
您可以检查UserAgent
对象的Request
属性。
页面内部标记
<%# Request.UserAgent.ToLower().Contains("safari") ?
"<link rel='stylesheet' type='text/css' href='safari.css' />" :
"<link rel='stylesheet' type='text/css' href='other.css' />" %>
答案 2 :(得分:2)
在你的控制中使用以下东西....你可以为不同的浏览器设置不同的样式...到asp.net文本框控件。
<asp:TextBox ID="TestTextBox" runat="server" ie:Text="You are in Internet explorer." mozilla:Text="You are in Firefox." Text="You are in other browser." ie:CssClass="IEStyle" mozilla:CssClass="FFStyle" CssClass="DefaultStyle" />
答案 3 :(得分:0)
使用Request.Browser
您可以确定浏览器用户正在使用您的
答案 4 :(得分:0)
你可以从javascript中查看:
if (navigator.appName == 'Microsoft Internet Explorer') {
var fileref = document.createElement("link")
fileref.setAttribute("rel", "stylesheet")
fileref.setAttribute("type", "text/css")
fileref.setAttribute("href", filename)
}