Opérations logiques avec des variables CSS
Cet article montre comment effectuer des opérations logiques sur les variables de commutation CSS (variables avec des valeurs 0 ou 1) en utilisant l'arithmétique dans la fonction calc()
. Nous manquons de fonctions logiques dédiées dans le CSS, mais ces calculs fournissent des émulations efficaces.
Opérations logiques dans CSS à l'aide de calc()
Pas opération
Nier une variable de commutation ( --j
) est simple: soustrayez-le de 1.
--notj: calc (1 - var (- j));
Si --j
est 0, --notj
devient 1; Si --j
est 1, --notj
est 0.
Et opération
L'opération et l'opération ne renvoie que si les deux opérandes sont vrais. Pour les variables de commutation ( --k
et --i
), la multiplication y parvient:
- et: calc (var (- k) * var (- i));
Cela ne donne 1 que lorsque --k
et --i
sont 1; Sinon, c'est 0.
Opération NAND (pas et)
Nand est la négation de et:
--nand: calc (1 - var (- k) * var (- i));
Ou opération
L'opération OR est vraie si au moins un opérande est vrai. En utilisant la loi de de Morgan ( not (A or B) = (not A) and (not B)
), nous obtenons:
- ou: calc (1 - (1 - var (- k)) * (1 - var (- i)));
Ni opération (pas ou)
La négation ou:
--nor: calc ((1 - var (- k)) * (1 - var (- i)));
Opération XOR (exclusive ou)
XOR est vrai si exactement un opérande est vrai. Soustraire les variables et carré le résultat donne la valeur absolue, fournissant le résultat 0 ou 1 souhaité:
--xor: calc ((var (- k) - var (- i)) * (var (- k) - var (- i)));
Applications pratiques
Cacher un panneau désactivé sur de petits écrans
Cet exemple montre un panneau de commandes avancé désactivé qui ne doit être visible que sur des écrans plus grands.
HTML (illustratif):
<div class="advanced"> </div> <input type="checkbox" id="toggle">
CSS:
corps { --k: var (- large, 0); / * Commutateur pour la taille de l'écran * / Affichage: flex; Flex-Direction: var (- large, colonne); @Media (Min-Width: 768px) {--wide: 1; } / * Ajuster le point d'arrêt au besoin * / } .avancé { --i: var (- activé, 0); / * Commutateur pour l'état activé * / --Noti: calc (1 - var (- i)); Filtre: contraste (calc (1 - var (- noti) * 0,9)) opacité (calc (1 - var (- noti) * 0,7)); Pointer-Events: var (- activé, aucun); marge: calc (var (- ou) * 20px) 0; / * Exemple de marge * / hauteur: calc (var (- ou) * 200px); / * Exemple de hauteur * / [id = 'toggle']: vérifié ~ & {--enabled: 1; } - ou: calc (1 - (1 - var (- k)) * (1 - var (- i))); / * Ou opération * / }
Cela utilise l'opération OR ( --or
) pour afficher le panneau si l'écran est large ( --k
est 1) ou si le panneau est activé ( --i
est 1).
Positionnement des faces d'une forme 3D (exemple complexe)
Le deuxième exemple, impliquant une forme 3D complexe, montre une utilisation plus avancée des opérations logiques pour un positionnement de visage précis. En raison de sa complexité, cet exemple est omis pour la concision. Le texte original fournit une explication détaillée et des démos interactives illustrant ce cas d'utilisation. Le concept de base reste le même: utiliser calc()
et les opérations logiques (et, ou non, xor, nand, ni) pour appliquer conditionnellement des transformations en fonction des états variables de commutation.
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

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Différents navigateurs ont des différences dans l'analyse CSS, ce qui entraîne des effets d'affichage incohérents, y compris principalement la différence de style par défaut, la méthode de calcul du modèle de boîte, le niveau de support Flexbox et la disposition de la grille et le comportement incohérent de certains attributs CSS. 1. Le traitement de style par défaut est incohérent. La solution consiste à utiliser cssreset ou normaliser.css pour unifier le style initial; 2. La méthode de calcul du modèle de boîte de l'ancienne version de IE est différente. Il est recommandé d'utiliser la taille d'une boîte: Border-Box de manière unifiée; 3. Flexbox et Grid fonctionnent différemment dans les cas de bord ou dans les anciennes versions. Plus de tests et utilisent Autoprefixer; 4. Certains comportements d'attribut CSS sont incohérents. Caniuse doit être consulté et rétrogradé.

Accent-Color est un attribut utilisé dans CSS pour personnaliser les couleurs de surbrillance des éléments de formulaire tels que les cases à cocher, les boutons radio et les curseurs; 1. Il modifie directement la couleur par défaut de l'état sélectionné du contrôle de formulaire, tel que la modification de la coche bleue de la case en rouge; 2. Les éléments pris en charge incluent les cases d'entrée de type = "Checkbox", Type = "Radio" et Type = "Range"; 3. L'utilisation de la couleur accent peut éviter les styles personnalisés complexes et les structures DOM supplémentaires et maintenir l'accessibilité native; 4. Il est généralement soutenu par des navigateurs modernes et les anciens navigateurs doivent être rétrogradés; 5. Set Accent-Col

Thevertical-AlignPropertyInSsalignSInLineRable-cellElementsvertical.1.itAdjustSelements like iMageSorforminputSwithIntextlinesususingValues Like-Baseline, Middle, Super, andSub.2

UseAutomatedToolsLILLPURECCSSORUNCSSTOSCANAnDRemoveUnusedcSSS; 2. IntegratepurgingIntOyourBuildProcessViaWebpack, Vite, Ortailwind’sContentConfiguration; 3.AuditcssagewithChromedevToolscoveragetaforepurgoEToavoidRemovingNededStyles.

Pour modifier la couleur du texte dans CSS, vous devez utiliser l'attribut de couleur; 1. Utilisez l'attribut de couleur pour définir la couleur de la couleur de premier plan du texte, en prenant en charge les noms de couleurs (tels que le rouge), les codes hexadécimaux (tels que # FF0000), les valeurs RGB (telles que RVB (255,0,0)), les valeurs HSL (comme HSL (0,100%, 50%)) et RGBA ou HSLA avec transparence (tels que comme le fait de transparence (tels que les 50%) et RGBA ou HSLA avec transparence (tels que celles RGBA (255,0,0,0,5)); 2. Vous pouvez appliquer des couleurs à n'importe quel élément contenant du texte, tel que H1 aux titres H6, paragraphe P, lien A (Remarque les paramètres de couleur de différents états de A: Link, A: Visité, A: Hover, A: Active), Butons, Div, Span, etc.; 3. La plupart

Le filtre de fond est utilisé pour appliquer des effets visuels au contenu derrière les éléments. 1. Utilisez le filtre en toile de fond: flou (10px) et autre syntaxe pour obtenir l'effet de verre givré; 2. Prend en charge plusieurs fonctions de filtre telles que le flou, la luminosité, le contraste, etc. et peut être superposé; 3. Il est souvent utilisé dans la conception des cartes en verre, et il est nécessaire de s'assurer que les éléments chevauchent l'arrière-plan; 4. Les navigateurs modernes ont un bon support et @Supports peut être utilisé pour fournir des solutions de rétrogradation; 5. Évitez les valeurs de flou excessive et redémarrez fréquents pour optimiser les performances. Cet attribut ne prend effet que lorsqu'il y a du contenu derrière les éléments.

Tout d'abord, utilisez JavaScript pour obtenir les préférences du système utilisateur et les paramètres de thème stockés localement et initialiser le thème de la page; 1. La structure HTML contient un bouton pour déclencher la commutation du sujet; 2. CSS utilise: Root pour définir des variables de thème brillantes, la classe de mode. Dark définit les variables de thème sombres et applique ces variables via var (); 3. JavaScript détecte préfère-Color-Scheme et lit LocalStorage pour déterminer le thème initial; 4. Communiquez la classe en mode noir sur l'élément HTML lorsque vous cliquez sur le bouton et enregistre l'état actuel vers LocalStorage; 5. Tous les changements de couleur sont accompagnés d'une animation de transition de 0,3 seconde pour améliorer l'utilisateur

TheSpect-RatiocssproperTyDeFinesthewidth to-heightratioofanellement, assurant des proportions consommées de réponse
