Html 仅在CSS文件中指定IE的CSS属性
Html 仅在CSS文件中指定IE的CSS属性,html,css,internet-explorer,internet-explorer-11,Html,Css,Internet Explorer,Internet Explorer 11,实际上我需要指定这个属性 margin-left:-20px; 仅适用于IE-11和CSS文件中所有浏览器的其余属性 .navigator li a span { display: block; float: right; width: 80px; height: 50px; margin-right: -10px; margin-left:-20px; } 有没有办法做到这一点,因为我尝试了许多解决方案,但都没有成功 提前谢谢 听起来
实际上我需要指定这个属性
margin-left:-20px;
仅适用于IE-11和CSS文件中所有浏览器的其余属性
.navigator li a span {
display: block;
float: right;
width: 80px;
height: 50px;
margin-right: -10px;
margin-left:-20px;
}
有没有办法做到这一点,因为我尝试了许多解决方案,但都没有成功提前谢谢 听起来您的问题可以通过浏览器条件样式以外的其他方式解决,请先尝试一下,但无论如何: 对于IE 10和11,您可以使用以下命令:
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}
不过请注意,它将同时识别IE 10和11
资料来源:
您可能还想看看这个:
对于IE 9及更低版本,您可以使用以下命令:
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}
为此创建一个单独的样式表,然后使用它将其包含在HTML中
资料来源:
例如,如果你想瞄准IE7,你会这样做。您只需更改版本号即可
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->
然后,您还可以针对比特定版本更低或更高的版本:
低于IE 8和IE 8:
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
高于IE 8:
<!--[if gt IE 8]>
<link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->
请注意,您可以使用
lt
,lte
,gt
或gte
,我编写的非常简单,仅受IE 11支持+
_:-ms全屏,:root.msie11{color:blue;}
//或者你可以试试这个
@介质全部和(-ms高对比度:无)
{
*:-ms背景,.foo{color:red}/*IE11*/
}
为什么IE只需要左边距
?如果这是由于IE中的显示怪癖造成的,那么可能有更好的方法来处理这个问题,而不必求助于浏览器嗅探。Microsoft从最近的浏览器中删除了特定于浏览器的css,尽管您可以使用hack()来完成,但不推荐使用!你应该尝试修复潜在的问题,因为ie11是相对现代的,并且应该遵守标准。你的代码在IE10上工作吗?或者其他人已经检查过了。@NickR hack解决了这个问题但问题是我不知道为什么这种奇怪的行为只发生在IE中。@HimeshAadeshara实际上我对IE-10不感兴趣。我关注的是你链接到的那篇文章中的IE-11:“请注意,IE 10及以上版本根本不支持有条件的评论。”@CBroe太糟糕了,我自己也意识到了这一点。因此,这并不适用。我还为IE 10和11添加了一个解决方案,虽然它能识别这两个选项。非常感谢您的帮助,我也会尝试这个解决方案。谢谢您的帮助。@Yasmin很荣幸能帮助您,如果您发现答案帮助已满,您可以接受作为答案,或者您可以投票it@Yasmin你应该接受以下任何一个答案,这样这个案子就可以在第二个解决方案中解决(*::-ms background)对我来说效果很好。非常感谢你的帮助。我很抱歉延迟接受答案。我以为我升级并接受了答案。@Yasmin没问题,我很荣幸能帮助你。