8
votes

Combiner deux ou plusieurs sélecteurs de CSS avec une condition booléenne

Y a-t-il un moyen de combiner deux ou plusieurs sélecteurs CSS à l'aide d'une condition booléenne - et , ou , non ?

Considérons Ce

: xxx

Puis-je sélectionner uniquement les éléments contenant les deux classes par exemple?

quelque chose sur Les lignes de div.message && div.error ?


4 commentaires

Où voulez-vous faire la sélection? En JavaScript (en utilisant une lib?) Ou dans une feuille de style ou une autre langue?


Ces sélecteurs iront dans une feuille de style.


La question a déjà été répondu correctement, mais notez que sélecteurs double classe ne fonctionnent pas dans notre cher ami IE6.


Je travaille sur une nouvelle application, alors peut-être que je devrais comprendre exactement combien de mes utilisateurs seraient de choisir si cela vaut même la peine d'être soutenu. C'est un cauchemar d'entretien juste pour avoir un soutien IE6. Le temps passé à réparer IE6 Les bogues spécifiques pourraient plutôt être utilisés pour ajouter des améliorations géniales à l'application.


3 Réponses :


5
votes

Essayez div.message.error .


1 commentaires

... que, je crois que le cas "et". Pour "ou", vous pouvez simplement répéter la ligne avec chaque classe.



13
votes

Ceux-ci devraient fonctionner:

<html>
    <head>
        <style type="text/css">
            div.error.message {
                background-color: red;
            }
            div.message, div.error {
                border: 1px solid green;
            }
        </style>
    </head>
    <body>
        <div>None</div>
        <div class="error">Error</div>
        <div class="message">Message</div>
        <div class="error message">Error Message</div>
    </body>
</html>


2 commentaires

Parfait .. pas n'est pas une grosse inquiétude, seulement et et ou sont .. wow nous avons une langue twister ici :) .. merci beaucoup pour l'exemple détaillé.


Grande solution. Juste curieux, la solution est-elle formellement documentée n'importe où comme dans la spécification CSS, etc.? Utile pour référence.



1
votes

Ceci est un post sérieusement ancien, mais je suis tombé sur elle et j'ai compris que j'aurais ajouté à celui-ci avec le CSS : pas () code> Sélecteur:

Sélectionnez les deux classes p> xxx pré>

Sélectionnez la classe forte> p> xxx pré>

Ne sélectionnez aucune classe p> xxx pré>

p>

<div class="message">
    ONLY .message
</div>

<div class="error">
    ONLY .error
</div>

<div class="message error">
    BOTH classes
</div>

<div class="neither">
    NEITHER class
</div>


0 commentaires