Classe CSS générique [dupliquer]

Cette question a déjà une réponse ici:

alors je me demandais s'il y avait un moyen de jeter un joker dans ma CSS?

j'ai plusieurs classes qui sont .button-0,.button-1, .button-2,.button-3, etc. dans un button élément. Je veux obtenir tous les .button-* classes à définir.

Est-il possible de faire quelque chose comme:

button .button-[=*] {
  margin-right: 2rem;  
}
7
demandé sur Josh Crozier 2015-03-02 17:50:44

2 réponses

utilisez un sélecteur d'attribut:

button [class*="button-"] {
  margin-right: 2rem;  
}

Exemple Ici


MDN:

[attr*=value] - représente un élément avec un attribut de nom d'attr et dont la valeur contient au moins une occurrence de chaîne "valeur" comme substrat.

button [class*="button-"] {
  color: red;
}
<button>
    <span class="button-0">text</span>
    <span class="button-1">text</span>
    <span class="button-2">text</span>
</button>

Chad souligne, il est entièrement possible qu'un élément peut contenir une classe telle que this-is-my-button-class. Dans ce cas, cet élément indésirable serait sélectionné. Afin d'éviter cela, vous pouvez utiliser une combinaison de deux sélecteurs:

Exemple Ici

button [class^="button-"],
button [class*=" button-"] {
  margin-right: 2rem;  
}

Le sélecteur button [class^="button-"] assure que l'élément est sélectionnée si elle commence par button-. Comme il est possible que la première classe de l'élément ne commence pas avec button-, le sélecteur [class*=" button-"] (la des espaces), assure qu'il sera sélectionné.

11
répondu Josh Crozier 2017-05-23 12:18:17

Vous pouvez le faire comme ceci

button[id|=button]{
    color:red;
}

tous les boutons dont l'id contient le mot bouton seront affectés. Par exemple,http://jsfiddle.net/czp28jpb/

0
répondu YourFriend 2015-03-02 14:59:14