首頁 > web前端 > css教學 > 如何在高對比模式下自動調整顏色

如何在高對比模式下自動調整顏色

王林
發布: 2024-08-23 14:31:36
原創
650 人瀏覽過

How to Automatically Adjust Colors in High Contrast Mode

介紹

我最近收到一份錯誤報告,其中 SVG 圖示在高對比度模式下無法正確顯示。在本文中,我將分享對我有用的解決方案。

解決方案

在高對比模式下,我使用CanvasText系統顏色來自動調整圖示的顏色。

.icon {
  mask-image: url(svg-link);
  background-color: currentColor;
  ...
}

@media (forced-colors: active) {
  .icon::before {
    background-color: CanvasText;
  }
}
登入後複製

就我而言,我最初使用 currentColor 從父元素繼承顏色。但是,在高對比度模式下,我想在子元素中將背景顏色普遍設定為 CanvasText,所以我套用了此變更。

什麼是 CanvasText?

CanvasText 是指用於應用程式內容或文件的文字顏色。它會自動調整以提供與系統背景顏色的最佳對比。

透過使用 CanvasText,即使使用者啟用高對比模式,也可以確保文字和圖示保持可見。此外,由於 CanvasText 會根據系統主題進行調整,因此它在深色和淺色模式下都能很好地工作。

就我而言,圖示的背景顏色最初設定為黑色。然而,當背景在高對比模式下變黑時,該圖示就變得不可見。將顏色變更為白色使其再次可見,但為了在所有場景中一致地處理此問題,我選擇使用系統顏色 CanvasText。

參考

https://developer.mozilla.org/en-US/docs/Web/CSS/system-color

以上是如何在高對比模式下自動調整顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板