IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Sprites CSS : toujours que la première image qui s'affiche


Sujet :

CSS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Points : 8
    Points
    8
    Par défaut Sprites CSS : toujours que la première image qui s'affiche
    Bonjour,

    Je voulais créer les boutons qui switchent dans une même image en utilisant les "sprites CSS", ça pose un problème chez moi, c'est-à-dire que j'ai préparé une image 360 x 120 px (en sachant que 60px pour chacune à afficher), il y a 6 images sur une ligne, donc 12 sur les lignes pour les switcher avec les %, je n'ai toujours que la première image qui se montre !!! pour le survol, c'est bon, mais c'est la première image qui ne se décale pas ! Comment ça se fait ?
    voici le code html:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <ul class="icone">
    					<li class="icone1"></li>
    					<li class="icone2"></li>
    					<li class="icone3"></li>
    					<li class="icone4"></li>
    					<li class="icone5"></li>
    					<li class="icone6"></li>
    		   </ul>

    et le CSS:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    .icone li {width: 60px; height: 60px; display: inline-block; background: url("sprite.png") no-repeat;}
     
    	.icone1 {background-position: left top;}
    	.icone1:hover {background-position: left bottom;}
    	.icone2 {background-position: 20% top;}
    	.icone2:hover {background-position: 20% bottom;}
    	.icone3 {background-position: 40% top;}
    	.icone3:hover {background-position: 40% bottom;}
    	.icone4 {background-position: 60% top;}
    	.icone4:hover {background-position: 60% bottom;}
    	.icone5 {background-position: 80% top;}
    	.icone5:hover {background-position: 80% bottom;}
    	.icone6 {background-position: right top;}
    	.icone6:hover {background-position: right bottom;}

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    .icone li {width: 60px; height: 60px; display: inline-block; background: url("sprite.png") no-repeat; }
     
    	.icone .icone1 {background-position: left top;}
    	.icone .icone2 {background-position: 20% top;}
    	.icone .icone3 {background-position: 40% top;}
    	.icone .icone4 {background-position: 60% top;}
    	.icone .icone5 {background-position: 80% top;}
    	.icone .icone6 {background-position: right top;}
     
    	.icone1:hover {background-position: left bottom;}
    	.icone2:hover {background-position: 20% bottom;}
    	.icone3:hover {background-position: 40% bottom;}
    	.icone4:hover {background-position: 60% bottom;}
    	.icone5:hover {background-position: 80% bottom;}
    	.icone6:hover {background-position: right bottom;}
    ou :
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    .icone li {width: 60px; height: 60px; display: inline-block; }
     
    	.icone1 {background: url("sprite.png") left top no-repeat;}
    	.icone2 {background: url("sprite.png") 20% top no-repeat;}
    	.icone3 {background: url("sprite.png") 40% top no-repeat;}
    	.icone4 {background: url("sprite.png") 60% top no-repeat;}
    	.icone5 {background: url("sprite.png") 80% top no-repeat;}
    	.icone6 {background: url("sprite.png") right top no-repeat;}
     
    	.icone1:hover {background-position: left bottom;}
    	.icone2:hover {background-position: 20% bottom;}
    	.icone3:hover {background-position: 40% bottom;}
    	.icone4:hover {background-position: 60% bottom;}
    	.icone5:hover {background-position: 80% bottom;}
    	.icone6:hover {background-position: right bottom;}

  3. #3
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Hello,

    Tu rencontres un problème de spécificité des sélecteurs. Ton ".icone li" est plus spécifique que ".icone2" (classe+élément contre juste classe) du coup il a priorité.

    Par contre, pour tes hover, classe + pseudo-class est plus spécifique que classe+élément et donc tu as bien ton effet.

    Il te suffit donc d'augmenter la spécificité de ton sélecteur par exemple en spécifiant l'élément: "li.icone2"
    ce qui lui donnera la même spécificité que ".icone li" mais il prendra alors le dessus puisque placé après.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 9
    Points : 8
    Points
    8
    Par défaut
    Hello,

    Ca marche très bien, merci.
    Et merci aussi pour éclaircir le problème de spécificité des sélecteurs, je n'aurais pas pensé à cela.

    Résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. images qui s'affichent en local mais en ligne
    Par zepokpok dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 02/11/2007, 12h33
  2. image qui s'affiche pas
    Par jamalmoundir dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 04/07/2007, 17h29
  3. lien avec image qui s'affiche
    Par wazoo dans le forum Word
    Réponses: 8
    Dernier message: 12/06/2007, 15h21
  4. image qui s'affiche au dessus avec souris au passage sur un lien
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/09/2006, 22h55
  5. [Eclipse 3.0.1] Image qui n'affiche que son path
    Par thehpman dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/03/2005, 11h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo