


Utilisation des propriétés personnalisées CSS pour ajuster les poids de police variables en mode sombre
Impact du mode noir sur la lisibilité au texte: une solution CSS utilisant des polices variables
Le mode sombre, bien quehétique, présente souvent un défi: le texte peut apparaître plus lourd dans les arrière-plans sombres. Cet article explore les solutions utilisant des propriétés personnalisées CSS et des polices variables pour résoudre ce problème, garantissant une apparence de texte cohérente à travers les modes clairs et sombres.
Le problème n'est pas une illusion; Les personnages plus clairs apparaissent vraiment plus audacieux sur des arrière-plans plus sombres. Ceci est facilement observable lors de la comparaison du texte léger et du mode sombre, et devient encore plus clair lors de l'inversion des couleurs.
Solutions utilisant des polices variables
Les polices variables offrent une solution puissante. L'effet idéal implique une amincissement subtilement le texte en mode sombre sans modifier la largeur du caractère. Nous pouvons y parvenir à travers plusieurs stratégies:
Ajustement manuellement
font-weight
: cela implique de modifier directement les valeurs defont-weight
dans une requête multimédia en mode sombre. Bien que fonctionnel, il devient lourd avec de nombreux éléments.Multiplicateur
font-weight
: une approche plus élégante utilise une propriété personnalisée CSS (--font-weight-multiplier
) pour contrôler le réglage du poids. Ce multiplicateur modifiefont-weight
par défaut de chaque élément en mode sombre. Par exemple, le réglage--font-weight-multiplier
à 0,85 réduit le poids de 15%.Sélecteur et multiplicateur universel: cette technique avancée exploite la portée variable CSS et le sélecteur universel (
*
) pour appliquer le calcul du multiplicateur à l'échelle mondiale. Cela simplifie le CSS mais nécessite une attention particulière pour éviter les effets involontaires sur des éléments spécifiques.font-variation-settings
et manipulation de l'axe: certaines polices variables offrent des axes comme "Grad" (grade) ou "DRKM" (mode sombre) qui contrôle directement le poids apparent sans affecter la largeur du caractère. Roboto Flex utilise "Grad", tandis que la police DarkMode DarkMode de Dalton Maag dispose de l'axe "DRKM".
Stratégie 1: manipulation font-weight
La méthode la plus simple est d'ajuster manuellement font-weight
pour chaque élément d'une requête multimédia en mode sombre. Cependant, cela devient moins gérable à mesure que le nombre d'éléments augmente.
/ * Par défaut (mode lumineux) CSS * / Corps {Font-Weight: 400; } Strong {Font-Weight: 700; } / * Mode sombre CSS * / @Media (préfère-Color-Scheme: Dark) { Corps {Font-Weight: 350; } Strong {Font-Weight: 600; } }
Stratégie 2: Multiplicateur font-weight
avec des propriétés personnalisées
L'utilisation d'une propriété personnalisée ( --font-weight-multiplier
) fournit une solution plus maintenable.
/ * Propriétés personnalisées spécifiques au mode noir * / @Media (préfère-Color-Scheme: Dark) { : root {--font-weight-multiplier: .85; } } / * Styles CSS par défaut ... * / Corps {Font-Weight: Calc (400 * var (- Font-Weight-Multiplier, 1)); } Strong {Font-Weight: Calc (700 * var (- Font-Weight-Multiplier, 1)); }
Stratégie 3: sélecteur universel et multiplicateur
Cette approche applique le multiplicateur à tous les éléments à la fois.
/ * Propriétés personnalisées par défaut * / : root {--font-weight: 400; --font-poids-multiplicateur: 1; } Strong {--font-weight: 700; } / * Propriétés personnalisées spécifiques au mode noir * / @Media (préfère-Color-Scheme: Dark) { : root {--font-weight-multiplier: .85; } } / * Application des propriétés personnalisées ... * / * {Font-Weight: Calc (var (- Font-Weight, 400) * var (- Font-Weight-Multiplier, 1)); }
Stratégie 4: Manipulation des axes avec font-variation-settings
Les polices avec des axes "Grad" ou "DRKM" offrent un contrôle direct sur le poids.
/ * Pour Roboto Flex (axe "grad") * / : root {--grad: 0; } @media (préfère-Color-Scheme: Dark) {: root {--grad: -.75; }} Corps {Font-Variation-Settings: "Grad" var (- Grad, 0); }
Considérations supplémentaires
- Écrans à haute résolution: L'effet est moins prononcé sur les écrans de rétine. Ajustez les multiplicateurs en conséquence.
- Polices mixtes: Considérez soigneusement l'impact sur les polices avec différents axes ou polices non variables.
- Espacement des lettres: La baisse du poids de la police peut étroiter les caractères. Ajustez l'espacement des lettres au besoin.
En tirant parti de ces techniques, les développeurs peuvent assurer un texte cohérent et lisible à travers des modes clairs et sombres, améliorant l'expérience utilisateur globale. Une démo présentant ces stratégies est disponible [lien vers la démo].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Avec la récente montée du prix du bitcoin sur 20k $ USD, et pour lui, récemment en train de briser 30k, je pensais que cela valait la peine de reprendre une profonde plongeon dans la création d'Ethereum

L'article discute de l'utilisation de CSS pour les effets de texte comme les ombres et les gradients, les optimiser pour les performances et l'amélioration de l'expérience utilisateur. Il répertorie également les ressources pour les débutants (159 caractères)

Les commandes NPM exécutent diverses tâches pour vous, soit en tant que processus unique ou en cours d'exécution pour des choses comme le démarrage d'un serveur ou la compilation de code.

Quelle que soit le stade dans lequel vous vous trouvez en tant que développeur, les tâches que nous effectuons - qu'elles soient grandes ou petites - ont un impact énorme dans notre croissance personnelle et professionnelle.

Je discutais avec Eric Meyer l'autre jour et je me suis souvenu d'une histoire d'Eric Meyer de mes années de formation. J'ai écrit un article de blog sur la spécificité CSS, et
