J'ai une liste et chaque élément est lié, y a-t-il un moyen d'alterner les couleurs d'arrière-plan de chaque élément?
<ul>
<li><a href="link">Link 1</a></li>
<li><a href="link">Link 2</a></li>
<li><a href="link">Link 3</a></li>
<li><a href="link">Link 4</a></li>
<li><a href="link">Link 5</a></li>
</ul>
Réponses:
Que diriez-vous d'un joli CSS3?
la source
Si vous voulez le faire uniquement en CSS, vous auriez une classe que vous attribueriez à chaque élément de liste alternatif. Par exemple
Si votre liste est générée dynamiquement, cette tâche serait beaucoup plus facile.
Si vous ne souhaitez pas avoir à mettre à jour manuellement ce contenu à chaque fois, vous pouvez utiliser la bibliothèque jQuery et appliquer un style en alternance à chaque
<li>
élément de votre liste:Et votre code jQuery:
la source
Vous pouvez y parvenir en ajoutant des classes de style alternées à chaque élément de la liste
Et puis le coiffer comme
Vous pouvez automatiser davantage ce processus avec javascript (exemple jQuery ci-dessous)
la source
Essayez d'ajouter une paire d'attributs de classe, par exemple «pair» et «impair», à des éléments de liste alternés, par exemple
Dans une section <style> de la page HTML, ou dans une feuille de style liée, vous définiriez ces mêmes classes, en spécifiant les couleurs d'arrière-plan souhaitées:
Vous souhaiterez peut-être utiliser une bibliothèque de modèles au fur et à mesure que vos besoins évoluent pour vous offrir une plus grande flexibilité et réduire la saisie. Pourquoi taper tous ces éléments de liste à la main?
la source
Puisque vous utilisez du HTML standard, vous devrez définir une classe distincte et définir manuellement les lignes sur les classes.
la source
Vous pouvez le faire en spécifiant des noms de classe alternés sur les lignes. Je préfère utiliser
row0
etrow1
, ce qui signifie que vous pouvez facilement les ajouter, si la liste est construite par programme:Une autre façon serait d'utiliser javascript. jQuery est utilisé dans cet exemple:
Edit: Je ne sais pas pourquoi j'ai donné des exemples en utilisant des lignes de tableau ... remplacer
tr
parli
ettable
parul
et cela s'applique à votre exemplela source
Si vous utilisez la solution jQuery, cela fonctionnera sur IE8:
jQuery
CSS
Si vous utilisez la solution CSS, cela ne fonctionnera pas sur IE8:
la source
Ceci est défini la couleur d'arrière-plan sur les li pairs et impairs:
la source
Vous pouvez en codant en dur la séquence, comme ceci:
la source