带有if/then浏览器逻辑的CSS
对于带有if/then浏览器逻辑的CSS,css,cross-browser,Css,Cross Browser,对于
您可以在某种程度上使用CSS表达式 有关一些示例,请参见。这些属性本身无法绕过条件CSS属性,但它们允许您动态更改CSS属性的值。您可以使用:
/*其他浏览器的样式*/
我发现这是解决这类问题最干净的办法。你可以用。但是你不应该这样做。在jQuery提示中,请查看此插件:
ghills建议的插件,这是一个很好的干净方法。以下是一个示例,说明如何包含IE6特定的CSS来覆盖IE6或更低版本的特定CSS类:
<link rel="stylesheet" type="text/css" href="/css/screen.css" title="MySiteStyle" media="screen" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="/css/screen-ie6.css" title="MySiteStyle" media="screen" />
<![endif]-->
或者,您可以按每个元素执行此操作,如下所示:
<!--[if (!IE) | (gt IE 6)]>
<div class="header">
<![endif]-->
<!--[if lte IE 6]>
<div class="ie6_header">
<![endif]-->
MSDN提供了更多关于支持的详细信息。下面将向您展示6种专门针对IE7的CSS攻击。您不应该使用它们,但它们是为您的网站获得准确外观的最简单方法。不在OP询问的“单一css文件”中。@chssly76:这是一个选项,而不是一个要求。但是你是对的,这个选项需要两个文件(我通常只覆盖IE特定样式表上的一些内容)。无论如何,我仍然认为这是一种更干净的方法。请注意,这将为所有版本的IE创建特定于IE的风格,不仅仅是@Franci Penov:我只是想给他一个指针,但你是对的,所以我更新了答案。有更简单的方法,看看这里的其他答案。
<!--[if (!IE) | (gt IE 6)]>
<div class="header">
<![endif]-->
<!--[if lte IE 6]>
<div class="ie6_header">
<![endif]-->