为特定浏览器使用不同的CSS样式
IE和其他浏览器使用单独CSS的最佳方式是什么?我正在考虑只针对IE、Firefox和Safari用户。尤其是现在,除了IE之外,大多数浏览器都支持CSS3 我遇到的各种方法有为特定浏览器使用不同的CSS样式,css,cross-browser,Css,Cross Browser,IE和其他浏览器使用单独CSS的最佳方式是什么?我正在考虑只针对IE、Firefox和Safari用户。尤其是现在,除了IE之外,大多数浏览器都支持CSS3 我遇到的各种方法有 加载单独的样式表 有条件地使用我会有一个样式表,所有内容都会显示在文档顶部 下面是你的 [!--[if IE]] 条件样式表 在这里,只需覆盖在IE中引起问题的样式即可。特定类的最后一种样式将被采用。我们的团队按照以下三条规则处理CSS: 确保通用/通用CSS文件在所有浏览器中都能正常工作 在单独的文件中处理所有IE“b
有条件地使用
我会有一个样式表,所有内容都会显示在文档顶部
下面是你的
[!--[if IE]]
条件样式表
在这里,只需覆盖在IE中引起问题的样式即可。特定类的最后一种样式将被采用。我们的团队按照以下三条规则处理CSS:
确保通用/通用CSS文件在所有浏览器中都能正常工作李>
在单独的文件中处理所有IE“bug”,控制加载带有IE条件的样式表
除非无法按照前两条规则进行操作,否则不允许进行黑客攻击
我同意将所有核心CSS保存在一个文件中。如果您使用的是ASP.NET,那么您可以使用WebHandler来管理实际发送的CSS。我相信其他语言也有类似的解决方案。这允许您只发送所需内容,并允许对其进行缓存。另一个好处是您可以组合多个css文件(如果您是这样做的话),并且只显示一个。这是减少对web服务器的请求数量的良好做法
然后你可以写一些东西,比如[if lt IE 8]margin:0px;它不会被发送到IE8或FF等
如果您只是使用HTML,那么您必须使用上面提到的[!--[If IE]]样式条件
我们在非常大的项目中使用WebHandler,我不会用任何其他方式
看。它可用于PHP、C#和C
祝你好运。
<!--[if !IE]><!--><link rel="stylesheet" href="non-ie.css"><!--<![endif]-->
<!--[if IE]><link rel="stylesheet" href="ie.css"><![endif]-->
这个技巧广泛使用Yandex(又名“俄罗斯谷歌”)来减少HTTP请求。例如,使用这种方法。您也可以使用这种方法;有时,条件可能不起作用,我们需要在代码中间写样式。< /P>
<?php $browser = $_SERVER['HTTP_USER_AGENT']; ?>
<?php if (strstr($browser, "MSIE 6.0")) { ?>
<link rel="stylesheet" href="ie6style.css" type="text/css" media="screen" />
<?php }else{ ?>
<link rel="stylesheet" href="default.css" type="text/css" media="screen" />
<?php } ?>
使用以下选项检查$browser
:
IE-“MSIE”
Firefox—“Firefox”
Safari—“Safari”
歌剧-“歌剧”
Chrome—“Chrome”除了解决浏览器bug之外,您是否以特定浏览器为目标?我的目标浏览器是支持CSS3和不支持CSS3的浏览器没有支持所有CSS 3的浏览器,Internet Explorer和Firefox都支持部分CSS 3。(对于CSS 3的大部分定义,你可以给出它的当前状态)这正是我所做的,因为我讨厌弄乱我的符合标准的样式表来修复ie。谢谢。这是为我做的。:)这只有在他使用PHP时才有效