L'application de CSS à la liste ordonnée - couleur de fond, sous les numéros?
J'ai une liste ordonnée que j'ai coiffés en deux façons:
- De couleur les chiffres différemment le texte de la liste
- Appliquer une couleur de fond et une bordure à chaque élément de la liste
Voir la liste sur le côté droit de cette page
Les numéros sont mis à orange par la première application de la orange style à la <li>
, puis en appliquant le style noir pour le texte de la liste uniquement à l'aide de jQuery:
jQuery('#secondary ol li').wrapInner('<span class="notes"> </span>');
Je préfère utiliser les CSS, mais bon.
Donc, la question qui reste en suspens est de savoir comment étendre la couleur d'arrière-plan/frontière sous les numéros de trop.
Merci pour le contrôle de ma question!
- Quel nombre voulez-vous le style?
- Désolé ce n'était pas clair! Les numéros dans la liste sur le côté droit. Modifier ma question. Merci.
Vous devez vous connecter pour publier un commentaire.
Révisé Réponse: jsFiddle Pur CSS Solution
Ici est une nouvelle méthode qui n'utilise pas le cas des OP d'origine du framework jQuery, une demande qui n'a pas été accomplie dans ma réponse précédente. Cette méthode a utilisé jQuery pour appliquer une durée de wrapper pour la
li
élément depuis direct HTML modification n'a pas été possible.Cette nouvelle méthode utilise CSS sélecteurs de Pseudo
:before
et:after
avec CSS 2.1counter
fonction qui peut avoir son numéro de liste stylisée de sorte qu'aucun jQuery wrapper est nécessaire. En fait, le jsFiddle révision montre les nombres à l'aide de Google @font-face de la police.À l'aide de la CSS en fonction de compteur est effectué par la déclaration d'une variable de nom à utiliser dans la
ul
élément, puis incrémenter le compteur dans le:before
élément ainsi que de l'utiliser comme contenu réel.Exemple Simple: jsFiddle CSS Counter
HTML:
CSS:
Plus à propos de CSS compteurs ICI.
Mon original daté réponse qui utilise existant dans le cadre des OP question est indiqué ci-dessous.
J'ai regardé votre Question attentivement et ensuite regardé votre page web.
Ici est la solution dont vous avez besoin:
jsFiddle
Pour résumer, ce sont le remplacement des Règles CSS qui la faire fonctionner:
Résultat:
Supplémentaire: Cette variante exemple met l'accent sur les nombres: jsFiddle
Pour votre deuxième question, une possibilité serait de modifier le
list-style-position
à l'intérieur de votreli
tags:Cela vous permettra de déplacer le numéro en ligne avec le reste du texte, et vous permettent de style de l'ensemble. Ce n'est toutefois arrêter l'alignement du texte séparément.
Pour votre première question, il est possible de style les numéros séparément, en théorie, à l'aide de la pseudo-élément
marker
comme suit:Cependant, je pense que ce n'est actuellement pas pris en charge dans n'importe quel navigateur. Vous pouvez utiliser mozilla spécifiques
::-moz-list-number
mais qui ne fonctionne évidemment pas dans les autres navigateurs.Vous pouvez voir tous ces morceaux dans mon exemple ici: http://jsfiddle.net/XmtxL/
list-style-position: inside
va déplacer les numéros à l'intérieur de l'arrière-plan ou à la frontière, même si j'avais été dans l'espoir de garder le texte de la liste alignés comme un bloc. Hmmmm...il est facile à atteindre avec css:
remplacer les espaces réservés avec le bon code de couleur!
vous pourriez avoir à le modifier en fonction de votre css, mais le principe est le suivant:
<ol>
<li>
tagscomme pour le reste de votre question, envelopper le
<ol>
dans un div conteneur et d'appliquer le fond désiré pour elle.Comme pour la question #1:
Il semble que vous avez déjà colorés différemment? (Je peux modifier cette réponse si vous avez encore besoin de la solution)
Pour la #2:
où
idname
est l'id de la<ul>
padding-bottom
Pour ceux, qui ont besoin juste une image de fond comme je l'ai fais il y a un css seule solution pour cela:
Voir codepen