Condition en CSS sur une classe [Fermé]

Signaler
-
Messages postés
3539
Date d'inscription
mercredi 20 septembre 2006
Statut
Membre
Dernière intervention
31 août 2020
-
Bonjour,
Je voudrai savoir s'il est possible en CSS de donner une condition, en fonction de la valeur qu'un class peut prendre

exemple un background-color
Si class "voyage" ="Inde" Alors background-color Noir
Si class "voyage" ="Maroc" Alors background-color Vert

Merci de vos réponses

6 réponses

Je réponds bien après mais il est possible de créer une condition de type valeur="xxx" :
Code HTML
<div class="pays">
<span pays="france">France</span>
<span pays="italie">Italie</span>
</div>

Code CSS
.pays span[pays="france"] { background:blue; color:white; }
.pays span[pays!="france"] { background: green; color:red; }

Voilà j'espère avoir aidé d'autres personnes qui passeront =).
15
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61033 internautes nous ont dit merci ce mois-ci

Désolé de déterrer ce post mais il m'a été bien utile et désolé Grizzly mais la réponse de Akuma06 fonctionne très bien , je me posais la même question sur un affichage conditionnel de code couleur pour une liste de département bien cela a bien fonctionné, merci Akuma06
OK merci beaucoup gryzzly pour toute ces précisions
euh en fait je continue un peu sur la lancée :) si ca t'ennuie pas. Désolé je suis amateur j'aimerai comprendre.

Donc dans mon code source j'ai ca : <h2 class="h2Album"> Inde 2007</h2>
ou ca <h2 class="h2Album"> Maroc 2006</h2>
etc...

et donc je voudrait faire changer le background-image selon ou je suis allé, je vais pas mettre le Taj mahal au maroc ou la Tour eiffel en Inde, j'espère me faire comprendre....:)

Donc peut être c'est la valeur de "h2" qui va déterminer ma condition....mais je suis un peu perdu...

Si je raconte n'importe quoi et que c'est pas possible ce que je veux faire, dis le moi c'est pas grave je recommencerai plus:)

Merci ! Toof

salut
je ne trouve pas tout ça très "saint" ! : )
pourquoi ne pas tout envelopper dans une div avec une class .nom_du_theme, et appliquer ensuite des styles
si le site est en PHP, on peut imaginer :

<?php
if($lieu=="inde") $theme="theme-1";
elseif($lieu=="maroc") $theme="theme-2";
//ou utiliser les "case"
?>
<div class="<?php echo $theme; ?>">
<h2>Titre</h2>
<p>bla bla</p>
</div>

<style>
div.theme-1 h2{
background: ....;
}
</style>
Messages postés
3539
Date d'inscription
mercredi 20 septembre 2006
Statut
Membre
Dernière intervention
31 août 2020
762
je ne trouve pas tout ça très "saint" ! : )
J'me demande si le dogme n'assainit pas
https://www.w3schools.com/css/css_attribute_selectors.asp :-)
Messages postés
4605
Date d'inscription
lundi 7 novembre 2005
Statut
Contributeur
Dernière intervention
30 avril 2020
1 267
Ce que tu ecris n'a pas de sens. une classe css n'a pas "identifiant + valeur" (ex: voyage = inde, voyage =maroc...)
Une classe, c'est un moyen d'attribuer aplusieurs éléments des propriétés communes (l'élément se répète plusieurs fois dans la page).

Si tu veux spécifier des particularités, il faut utiliser un identififant "id" (lélément est unique dans la page)

ex :
<style type="css/text">
.voyage
{
propriétés communes
}
#maroc
{
background-color: black;
}
#inde
{
background-color:green;
}
</style>

<div class="voyage" id="maroc"></div>
<div class="voyage" id="inde"></div>


cependant, il faudrait vérifier que cette syntaxe class+id dans un meme élément div est bien valide w3c. je n'en suis pas sur.

si ce n'est pas valide, il faut gérer uniquement par "id"