9
votes

Comment changer les éléments
  • qui ne sont pas actifs avec Pure CSS?
  • Je comprends comment changer la description d'un élément actif

  • élément xxx

    mais comment puis-je modifier tous les autres éléments qui ne sont pas Actif ?

    Par exemple, tous mes éléments sont en gras, mais lorsque j'en sélectionne l'un d'entre eux, tous les autres sont de retour à la normale.

    Merci! < / p>


  • 0 commentaires

    5 Réponses :


    20
    votes

    J'imagine Li: non (: actif) devrait au moins travailler théoriquement.


    4 commentaires

    +1 Oui, mais ceci est CSS3 uniquement pour la réponse de Brad est beaucoup plus compatible.


    @BoltClock: hum. : Non existe depuis si longtemps que je pensais que c'était CSS 2 (.1). Merci d'avoir fait remarquer cela.


    Tu veux dire dans jquery? Ouais, parce que les sélecteurs de jquery sont adaptés de CSS3 :)


    @BoltClock: Non, je veux dire dans CSS. Peut-être pas supporté par les navigateurs, mais toujours "autour" (disons, comme : "Code> a été autour de l'âge, mais il a fallu des années à savoir pour commencer correctement)



    7
    votes

    Appliquez une règle à tous, puis appliquez une règle différente à l'actif.

    li {
       color: blue;
    }
    
    li:active {
      color: red;
    }
    


    3 commentaires

    +1 Une bonne alternative au CSS3-seulement : non () pseudo-classe. Celui-ci a également plus de sens, car les éléments doivent être inactifs par défaut de toute façon.


    Si je comprends bien l'exemple, celui-ci ne fonctionnera pas comme demandé.


    Merci Brad, mais cela ne fera pas. Dans votre exemple, tous les éléments sont en bleu. Ce que je cherche, c'est qu'ils deviennent bleu une fois qu'un élément devient actif.



    0
    votes

    Pour développer la réponse de Brad en fonction de votre exemple:

    Vous voulez que tous les

  • sont audacieux, jusqu'à ce que celui-ci soit cliqué, non? Commencez avec: xxx

    puis, si un élément de liste est cliqué sur lequel un gras mais rendez les autres réguliers: xxx < p> Le ~ sélectionne tous les éléments qui sont des frères et sœurs de la LI active, sans sélectionner l'actif sur lui-même.


  • 3 commentaires

    ~ Sélectionne des frères et sœurs qui viennent uniquement après l'actif li . Je vois ton point sur ce que l'OP attend cependant ...


    @Stephan, est le ~ CSS3 ou CSS2.x?


    CSS3, mais supporté par chaque navigateur sauf IE6: QuirksMode.org/css/Contents.html# CSS3



    3
    votes

    Après avoir relu votre question, je pense que la vraie réponse est que vous ne pouvez pas utiliser CSS seul pour contrôler la manière dont les éléments se comportent sur l'interaction de l'utilisateur.

    Je réalise que cela ne fonctionnera pas parce que les styles sont appliqués Immédiatement et les éléments du DOM ne sont généralement pas : actif par défaut : xxx

    plus , : pas () est un pseudo-classe CSS3, alors le support est plutôt pauvre en ce moment si vous devez rendre compte des navigateurs plus anciens.

    Peut-être que vous pouvez faire cela avec JavaScript (j'utilise jQuery ici) ... xxx


    3 commentaires

    Merci! La classe: non () pseudo classe est exactement ce que je cherchais. Testé-la sur FF3, Chrome et IE8. IE8 ne le supporte pas, mais ça va.


    @Roberto: Vous voulez dire utiliser CSS : non () seul fonctionne comme prévu?


    "Je me rends compte que cela ne fonctionnera pas car les styles sont appliqués immédiatement et les éléments de la DOM ne sont généralement pas: actifs par défaut:" Encore un lien n'est jamais plané par défaut pour le moment où la feuille de style charge, mais: Hover fonctionne parfaitement amende? Pas sûr si votre argument est valide. Je suis d'accord sur la solution Tho, mais peut-être pour une autre raison: p



    2
    votes

    Si je comprends correctement, cela devrait le faire,

    li{  font-weight:bold; }
    
    :active li{ font-weight: normal; }
    
    :active li:active{ font-weight: bold; }
    


    3 commentaires

    Venez les gars c'est la réponse, non?


    Mais le nombre d'éléments ul est-il actif si un enfant LI est actif? Il est temps de tester cela, bonne pensée en effet


    Semble être donc, oui, l'élément que vous cliquez sur et que tous ses parents ont un état actif déclenché. C'est la même chose avec un vol stationnaire.