J'utilise depuis un certain temps des sprites (image constituée d'images composites) pour réduire les requêtes serveurs. Pour les balises de type span ou div, l'utilisation des sprites se rèvèle assez triviale.
L'utilisation de sprites pour les listes (ul) me pose toutefois des difficultés. L'image sprite et les classes de sélection d'icônes sont définies comme suit:
Si j'utilise la même approche pour une liste ul, les balises li font apparaître les premières icônes du sprite icon.gif au lieu de l'icône spécifiée (Ex2). Pour l'instant, j'ai réglé le problème de façon standard en spécifiant explicitement l'icône de référence (Ex1).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 /*css (image sprite de référence icon.gif composée des icônes sqred, .img_datetime, etc., espacés à intervalles réguliers.):*/ .sqred, .img_datetime {background:url(img/icons.gif) no-repeat;padding:0 0 0 19px;font-size:x-small;z-index:10;} /*classe de référence (ex img_datetime)*/ .img_datetime{background-position:0 -300px;margin-top:5px;margin-bottom:0;padding-top:0px;}
Existe-il une approche plus élégante, càd une classe de sélection sprite (ul.sqred1), pour arriver au même résultat? Merci d'avance pour toute suggestion.
Ex. 1. Approche actuelle (fonctionne, mais requiert une requête http)
Ex 2. Idéalement (sélection de l'icône via une classe ad hoc):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 css: ul.sqred1{list-style-image: url('img/bulred.gif');margin:0 30px;padding: 0 5px;} html: <ul class="sqred1"> <li><p>Header 1</p></li> <li><p>Header 2</p></li> <li><p>Header 3</p></li> </ul>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 css: ul.sqred1{background-position:0 -325px;margin-top:5px;margin-bottom:0;padding-top:0px;}
Partager