好的,所以我想让我的边框css仅适用于ie8或更早版本(如果它出来时不是ie9)。
目的:这样,即缺失的阴影将被边框替换:
* hack似乎无法正常工作?我在ie8本地测试...input, textarea{
display:block;
border:none;
*border: 1px solid #000;
-moz-box-shadow: 0px 0px 1px 1px #999;
-webkit-box-shadow: 0px 0px 1px 1px #999;
box-shadow: 0px 0px 1px 1px #999;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
margin: 1px 0px 10px 0px;
font-size:12px;
color:#494949;
}
答案 0 :(得分:12)
请勿使用CSS黑客,而是使用conditional comments来定位IE版本。
答案 1 :(得分:5)
添加到Residuum's answer,这是引用“pre IE 9”样式表所需的代码:
<!--[if lt IE 9]>
<link href="ie-pre-9.css" rel="stylesheet" type="text/css" />
<![endif]-->
第一行中的表达式指出,应在所有版本号小于(lt
)的Internet Explorer版本上评估注释中的标记.9。在非Microsoft浏览器上,代码将是作为评论处理 - 即它将被忽略,并且不包括额外的样式表。
如果您不想为Internet Explorer修补程序创建其他样式表,则可以使用条件注释来打开/关闭整个页面内容的容器,并使用此容器的存在来打开修复程序开/关。例如:
<!--[if lt IE 9]><div class="ie"><![endif]-->
Page content here...
<!--[if lt IE 9]></div><![endif]-->
在主CSS文件中,您现在可以使用.ie
为任何选择器添加前缀,使其仅定位版本号小于9的Internet Explorer:
a { color: red; }
.ie a { color: blue; }
答案 2 :(得分:3)
添加
<!--[if lt IE 9]>
<link href="/directroy/IE.css" rel="Stylesheet" type="text/css"/>
<![endif]-->
到你的head标签并使用这个新的样式表来定义你想要IE做什么。
它们被称为条件注释,IE使用它们来区分浏览器:)
答案 3 :(得分:1)
有一个像我一直在寻找的黑客,只需将其添加到css语句结尾之前;
\ 9
目标即&lt; = 8
答案 4 :(得分:1)
你真的应该添加条件样式表而不是添加黑客。你以后会感谢自己。