我们的一个 CSS 文件使用-ms-high-contrast-adjust: none来确保即使在高对比度模式下也能显示一些背景特征。它在 IE10 和 IE11 上运行良好。现在我们正在尝试将相同的 CSS 移植到 IE9,显然它不被支持。
IE9 下的 -ms-high-contrast-*** 属性相当于什么?是否有其他方法可以欺骗浏览器不使用“高对比度模式”设置更改功能?
我们的一个 CSS 文件使用-ms-high-contrast-adjust: none来确保即使在高对比度模式下也能显示一些背景特征。它在 IE10 和 IE11 上运行良好。现在我们正在尝试将相同的 CSS 移植到 IE9,显然它不被支持。
IE9 下的 -ms-high-contrast-*** 属性相当于什么?是否有其他方法可以欺骗浏览器不使用“高对比度模式”设置更改功能?
没有等价物。
备注
-ms-high-contrast 媒体功能是在 Windows 8 中引入的。
这是ie10的。
您可以使用以下媒体查询对其进行测试:
@media screen and (-ms-high-contrast: active) {/* ... */}
@media screen and (-ms-high-contrast: black-on-white) { /* */ }
@media screen and (-ms-high-contrast: white-on-black) { /* */ }
http://msdn.microsoft.com/en-us/library/windows/apps/hh465764.aspx
一些开发人员使用它来针对 IE10 进行媒体查询:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
/* i-love-ie */
}
PS,这有点奇怪,您希望浏览器强制操作系统以特定方式显示,或者以特定方式在操作系统上显示。
[坚持,稍等]
我刚刚从 Steve Faulkner 那里找到了这篇文章:http: //blog.paciellogroup.com/2010/01/high-contrast-proof-css-sprites/
CSS sprites 使用 before: 伪元素
使用传统背景图像方法实现 CSS sprites 的替代方法是可用的,它解决了图像无法在高对比度模式下显示的问题。这种替代方法利用 CSS before: 伪元素(注意:也可以使用 after: 伪元素)。例子:
使用默认显示颜色与主页图标和文本链接。与带有 Windows 高对比度颜色的主页图标和文本链接。
CSS
span.test1:before {
margin-right: -10px;
content: url(icons.png);
position:relative;
left:-2px;
top:-109px;
}
span.test1 {width:17px;
height:18px;
display:inline-block;
overflow:hidden;}
HTML
<a href="#"><span class="test1"></span>Home</a>
我没有时间测试它。试一试,然后回到我们这里,如果需要,我可以“更正”这个答案。