我有一个继承的项目,有些地方一团糟。这是其中之一。我只需要针对 IE(任何版本)而不更改 HTML,也不需要 JavaScript 或除 CSS 之外的任何其他技术。
#nav li {
float: left;
height: 54px;
background: #4f5151;
display: table;
border-left: 1px solid grey;
}
需要明确的是: 在 嵌入式样式表中,并且 不 向 html 中的标签添加 ID 或类,我需要 仅 在用户使用 IE 时应用边框样式。我怎样才能做到这一点?
编辑:找到 Firefox 的解决方案,编辑问题以反映这一点。
原文由 FuckStackoverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
Internet Explorer 9 及更低版本: 您可以使用条件注释为您想要专门定位的任何版本(或版本组合)加载特定于 IE 的样式表。如下所示使用外部样式表。
但是,从版本 10 开始,IE 不再支持条件注释。
Internet Explorer 10 & 11: 使用 -ms-high-contrast 创建媒体查询,在其中放置 IE 10 和 11 特定的 CSS 样式。因为 -ms-high-contrast 是 Microsoft 特定的(并且仅在 IE 10+ 中可用),所以它只会在 Internet Explorer 10 及更高版本中被解析。
Microsoft Edge 12: 可以使用@supports 规则 这是有关此规则的所有信息的链接
内联规则IE8检测
我还有 1 个选项,但它只检测 IE8 及以下版本。
正如您为嵌入式样式表指定的那样。我认为您需要为以下版本使用媒体查询和条件注释。