搜尋
首頁web前端css教學使用CSS自定義屬性在黑模式下調整可變字體權重

暗模式對文本可讀性的影響:使用可變字體的CSS解決方案

黑暗模式雖然美學上令人愉悅,但通常會帶來一個挑戰:在黑暗的背景下,文本看起來更重。本文使用CSS自定義屬性和可變字體探討解決方案來解決此問題,從而確保跨光和黑暗模式的文本外觀一致。

使用CSS自定義屬性在黑模式下調整可變字體權重

問題不是幻想。較輕的角色在深色背景上確實看起來更大膽。當比較光和暗模式文本時,這很容易觀察到,並且在倒轉顏色時變得更加清晰。

使用可變字體的解決方案

可變字體提供了強大的解決方案。理想的效果涉及在黑暗模式下巧妙地變薄的文本,而不會改變字符寬度。我們可以通過幾種策略來實現這一目標:

  1. 手動調整font-weight這涉及在黑模式媒體查詢中直接修改font-weight值。功能性雖然具有許多元素,但它變得繁瑣。

  2. font-weight乘數:一種更優雅的方法使用CSS自定義屬性( --font-weight-multiplier )來控制重量調整。此乘數在暗模式下修改了每個元素的默認font-weight 。例如,設置--font-weight-multiplier為0.85可將重量降低15%。

  3. 通用選擇器和乘數:此高級技術利用CSS變量範圍和通用選擇器( * )在全球應用乘數計算。這簡化了CSS,但需要仔細考慮以避免對特定元素的意外影響。

  4. font-variation-settings和軸操縱:某些可變字體提供諸如“ grad”(級)或“ drkm”(暗模式)之類的軸,它們直接控制明顯的重量而不會影響字符寬度。 Roboto Flex利用“ Grad”,而Dalton Maag的Darkmode字體具有“ Drkm”軸。

策略1: font-weight操縱

最簡單的方法是在暗模式媒體查詢中手動調整每個元素的font-weight 。但是,隨著元素數量的增加,這將變得易於管理。

 / *默認(燈模式)CSS */
身體{字體權重:400; }
強{字體重量:700; }

/ *黑模式CSS */
@Media(prefers-color-scheme:dark){
  身體{字體權重:350; }
  強{字體重量:600; }
}

策略2:具有自定義屬性的font-weight乘數

使用自定義屬性( --font-weight-multiplier )提供了更可維護的解決方案。

 / *暗模式特定的自定義屬性 */
@Media(prefers-color-scheme:dark){
  :root { -  -font-weight-Multiplier:.85; }
}

/ *默認的CSS樣式... */
Body {font-jight:calc(400 * var( -  font-weight-multiplier,1)); }
strong {font-jight:calc(700 * var( -  font-weight-multiplier,1)); }

策略3:通用選擇器和乘數

這種方法一次將乘數應用於所有元素。

 / *默認自定義屬性 */
:root { -  -font-jight:400; - 聯合體重 - 武力:1; }
強{ -   - 五大:700; }

/ *暗模式特定的自定義屬性 */
@Media(prefers-color-scheme:dark){
  :root { -  -font-weight-Multiplier:.85; }
}

/ *應用自定義屬性... */
* {font-權重:calc(var( -  font-pronger,400) * var( -  font-weight-multiplier,1)); }

策略4:用font-variation-settings軸操縱

具有“畢業”或“ DRKM”軸的字體可直接控制重量。

 / *對於Roboto Flex(“畢業”軸) */
:root {-grad:0; }
@Media(prefers-color-scheme:dark){:root { -  grad:-.75; }}}
身體{font-variation-settings:“ grad” var( -  grad,0); }

其他考慮因素

  • 高分辨率屏幕:對視網膜顯示器的效果不太明顯。相應地調整乘數。
  • 混合字體:仔細考慮對具有不同軸或不可變化字體的字體的影響。
  • 信件間隔:降低字體重量可以縮小字符。根據需要調整字母間隔。

通過利用這些技術,開發人員可以確保跨光和深色模式的一致且清晰的文本,從而增強整體用戶體驗。可以提供展示這些策略的演示[鏈接到演示]。

以上是使用CSS自定義屬性在黑模式下調整可變字體權重的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
光標的下一個CSS樣式光標的下一個CSS樣式Apr 23, 2025 am 11:04 AM

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

世界碰撞:使用樣式查詢的鑰匙幀碰撞檢測世界碰撞:使用樣式查詢的鑰匙幀碰撞檢測Apr 23, 2025 am 10:42 AM

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

使用CSS背景過濾器進行UI效果使用CSS背景過濾器進行UI效果Apr 23, 2025 am 10:20 AM

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

微笑嗎?微笑嗎?Apr 23, 2025 am 09:57 AM

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

'漂亮”在情人眼中'漂亮”在情人眼中Apr 23, 2025 am 09:40 AM

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

CSS-tricks編年史XLIIICSS-tricks編年史XLIIIApr 23, 2025 am 09:35 AM

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

tailwind的@Apply功能比聽起來更好tailwind的@Apply功能比聽起來更好Apr 23, 2025 am 09:23 AM

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯

感覺就像我沒有釋放:走向理智的旅程感覺就像我沒有釋放:走向理智的旅程Apr 23, 2025 am 09:19 AM

像白痴一樣部署的部署歸結為您部署的工具與降低複雜性與添加的複雜性之間的獎勵之間的不匹配。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。