2009-12-17 53 views

回答

7

根據this article about using CSS sprites in high contrast,在Windows的高對比度模式下,背景圖像應該設置爲「無」,並且它也會改變背景顏色。這應該覆蓋任何CSS樣式表。所以你可以在初始渲染後執行一些javascript來檢測它。檢查他的demo page(「FYI [不]高對比度模式」文本)。

我有Mac(FYI開關使用Cmd + Alt + Ctrl + 8)和他的技術不適合我,但他說它可以在Windows上工作。

如果有效,您可以使用一些JavaScript來簡單地更改CSS或設置(會話)cookie並重新加載頁面以將其傳遞到服務器並執行服務器端操作。

+0

你的mac命令不是高對比度,但是反轉的顏色;) – 2013-11-13 18:39:51

4

以下爲我工作在Win8中使用(在桌面 - ),即:

<style type="text/css"> 
// ... 
@media screen and (-ms-high-contrast: active) { 
    /* any rules may come here, for example: */ 
    .leftMenu a:hover { text-decoration: underline; } 
} 
// ... 
</style> 

我認爲,它必須與Windows應用商店的應用程序正常工作。 這不是一個完整的解決方案,但可能有用一點。

MSDN doc:@media, -ms-high-contrastHigh-contrast mode的描述也值得一提。

+1

非常感謝你指點我正確的方向。使用@media屏幕和(-ms-high-contrast:active)樣式的另一個優點是您可以再次設置background-image屬性來覆蓋高對比度圖像設置。 – Snakebyte 2014-05-30 01:04:59

+0

這隻適用於Internet Explorer,不適用於Firefox。 https://bugzilla.mozilla.org/show_bug.cgi?id=425598 – 2015-12-02 15:14:25

1

如果您要在Web應用程序中實現高對比度,請使用以下代碼塊檢測黑白對比度和白對黑對比度選擇。這將在IE中正常工作。

@media屏幕和(-MS-高對比度:黑色白底){ /* 把你的樣式代碼............. * /}

@media屏幕和(-MS-高對比度:白色黑底){ /* 把你的樣式代碼............. * /}

相關問題