Maison > interface Web > tutoriel CSS > CSS peut-il implémenter une logique conditionnelle sans instructions if/else ?

CSS peut-il implémenter une logique conditionnelle sans instructions if/else ?

Linda Hamilton
Libérer: 2024-11-26 06:50:09
original
484 Les gens l'ont consulté

Can CSS Implement Conditional Logic Without if/else Statements?

Le CSS peut-il incarner une logique conditionnelle ?

Le domaine du CSS, ou feuilles de style en cascade, ne prend pas en charge nativement les conditions if/else, comme indiqué dans les langages de programmation traditionnels. Cependant, cette limitation peut être contournée grâce à diverses approches :

1. Classes CSS :

En tirant parti des classes HTML, vous pouvez créer différentes règles de style pour différents scénarios. Par exemple, le code suivant attribue des positions d'arrière-plan distinctes en fonction de la classe :

<p class="normal">Text</p>
<p class="active">Text</p>
Copier après la connexion
p.normal {
  background-position: 150px 8px;
}
p.active {
  background-position: 4px 8px;
}
Copier après la connexion

2. Préprocesseurs CSS (par exemple, Sass) :

Les préprocesseurs CSS comme Sass fournissent des instructions conditionnelles qui permettent des conditions plus complexes :

$type: monster;
p {
  @if $type == ocean {
    color: blue;
  } @else if $type == matador {
    color: red;
  } @else if $type == monster {
    color: green;
  } @else {
    color: black;
  }
}
Copier après la connexion

3. Propriétés personnalisées CSS (variables) :

Les propriétés personnalisées en CSS se comportent de la même manière que les variables et sont évaluées au moment de l'exécution :

:root {
  --main-bg-color: brown;
}

.one {
  background-color: var(--main-bg-color);
}

.two {
  background-color: black;
}
Copier après la connexion

4. Prétraitement côté serveur :

En utilisant un langage côté serveur comme PHP, vous pouvez prétraiter les fichiers CSS en fonction de valeurs dynamiques :

p {
  background-position: <?php echo (@$_GET['foo'] == 'bar')? "150" : "4"; ?>px 8px;
}
Copier après la connexion

5. Techniques CSS pour la logique de l'interface utilisateur :

Ahmad Shadeed présente de nouvelles techniques CSS pour résoudre la logique conditionnelle courante basée sur l'interface utilisateur sans utiliser if/else dans son article :
[CSS If/Else](https : //www.sitepoint.com/css-ifelse/)

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal