J'ai vu ce sélecteur sur Twitter Bootstrap:
.show-grid [class*="span"] {
background-color: #eee;
text-align: center;
border-radius: 3px;
min-height: 30px;
line-height: 30px;
}
Est-ce que quelqu'un sait comment cette technique s'appelle et ce qu'elle fait?
C'est un sélecteur générique d'attribut. Dans l'exemple que vous avez donné, il recherche n'importe quel élément enfant sous .show-grid
qui a une classe qui CONTIENT _ span
.
Donc, sélectionnez l'élément <strong>
dans cet exemple:
<div class="show-grid">
<strong class="span6">Blah blah</strong>
</div>
Vous pouvez également faire des recherches pour 'commence par ...'
div[class^="something"] { }
qui fonctionnerait sur quelque chose comme ceci: -
<div class="something-else-class"></div>
et 'se termine par ...'
div[class$="something"] { }
qui travaillerait sur
<div class="you-are-something"></div>
Bonnes références
.show-grid [class*="span"]
C'est un sélecteur CSS qui sélectionne tous les éléments de la classe show-grid, qui a un élément enfant dont la classe contient le nom span.
Il sélectionne tous les éléments dont le nom de classe contient la chaîne "span"
quelque part. Il y a aussi ^=
pour le début d'une chaîne et $=
pour la fin d'une chaîne. Voici une bonne référence pour certains sélecteurs CSS: http://net.tutsplus.com/tutorials/html-css-techniques/the-30-css-selectors-you-must-memorize/
Je ne connais que les bootstrap _ classes spanX
où X est un entier, mais s'il y avait d'autres sélecteurs que se terminait dans span
, il serait également soumis à ces règles.
Il est simplement utile d’appliquer des règles CSS générales.
Ce qui suit:
.show-grid [class*="span"] {
signifie que tous les éléments enfants de '.show-grid' avec une classe qui CONTIENT le mot 'span' qu'il contient acquerront ces propriétés CSS.
<div class="show-grid">
<div class="span">.span</div>
<div class="span6">span6</div>
<div class="attention-span">attention</div>
<div class="spanish">spanish</div>
<div class="mariospan">mariospan</div>
<div class="espanol">espanol</div>
<div>
<div class="span">.span</div>
</div>
<p class="span">span</p>
<span class="span">I do GET HIT</span>
<span>I DO NOT GET HIT since I need a class of 'span'</span>
</div>
<div class="span">I DO NOT GET HIT since I'm outside of .show-grid</span>
Tous les éléments sont touchés, à l'exception du <span>
par lui-même.
En ce qui concerne Bootstrap:
span6
: il s'agissait de la technique d'échafaudage de Bootstrap 2 qui divisait une section en une grille horizontale, sur la base de parties de 12. Ainsi span6
aurait une largeur de 50%..col-*
(par exemple, col-sm-6
), qui spécifie également un point d'arrêt de média à gérer. réactivité lorsque la fenêtre est réduite en dessous d'une certaine taille. Consultez Bootstrap 4.1 et Bootstrap 3.3.7 pour plus de documentation. Je recommanderais d'aller avec un plus tard Bootstrap de nos jours