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 :

Roll Over - Une image survole une autre


Sujet :

Survol d'un élément en CSS (:hover)

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 53
    Points : 39
    Points
    39
    Par défaut Roll Over - Une image survole une autre
    Bonjour,

    J'aimerai mettre une image sur une page web et quand je passe ma souris dessus que cela soit une autre image qui apparaisse.

    j'ai trouvé des tutos sur le net mais cela ne fonctionne pas.

    Quelqu'un pourrait me montrer comment faire svp ?

    @+ @ntoon

  2. #2
    Membre actif Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 289
    Points
    289
    Par défaut
    C'est un grand classique. le solution la plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="image"></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .image {
    height: 10px; /* La hauteur exacte de l'image */
    width: 10px; /* La largeur exacte de l'image */
    background: url(monimage.png) no-repeat;
    }
     
    .image:hover {
    background-image: url(monimage2.png);
    }
    Le problème de cette technique est que l'image va se charger au moment du survol. Résultat, une lenteur de l'affichage lorsque le site n'est pas en cache.

    Personnellement, je préfère n'utiliser qu'une seule image et jouer avec les background position.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    .image {
    height: 10px; /* La hauteur exacte de l'image */
    width: 10px; /* La largeur exacte de l'image */
    background: url(monimage.png) no-repeat;
    }
     
    .image:hover {
    background-position: right;
    }

  3. #3
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut
    en css cela n'est possible que sur certaines balises, par exemple la balise <a>

    je ne pense pas que la balise <img> en face partie (ou du moins pas sur tous les navigateurs).

    le mieux pour toi est que tu passes par du javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <img src="source.jpg" width="100px" height="100px" onmouseover="this.src='source2.jpg'" />
    tu peux le compléter avec un onmouseout


    edit: damouille ta solution ne fonctionne pas sur ie6 et surement <

  4. #4
    Membre actif Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 289
    Points
    289
    Par défaut
    en css cela n'est possible que sur certaines balises, par exemple la balise <a>

    Cela marche sur tous les éléments. Il n'y a que IE6 avec qui cela ne marche pas, mais c'est juste que ce navigateur ne respecte pas les normes w3c.

    Pour faire plaisir à IE6, il vaut mieux en effet utiliser une balise <a> en diplay: block;

    La technique en js de kohsaka marche bien. C'est juste que, si c'est possible à faire en css, il vaut mieux utiliser le css plutot que le javascript.

  5. #5
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut
    je suis d'accord avec toi et je le déplore, malheureusement trop de personnes utilise encore ie6.

    si on utilise la balise <a>, il faut préciser un lien pour que ça fonctionne, ce qui est gênant je trouve, mais après c'est un choix à faire.

  6. #6
    Membre actif Avatar de Damouille
    Inscrit en
    Avril 2006
    Messages
    268
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 268
    Points : 289
    Points
    289
    Par défaut
    Citation Envoyé par kohsaka Voir le message
    je suis d'accord avec toi et je le déplore, malheureusement trop de personnes utilise encore ie6.

    si on utilise la balise <a>, il faut préciser un lien pour que ça fonctionne, ce qui est gênant je trouve, mais après c'est un choix à faire.
    Pour désactiver le lien on peut utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="return false">...</a>
    Pour éviter la petite main au survol on peut utilisier

    a {
    cursor:default;
    }

    Mais, du coup, on utilise quand meme du javascript

  7. #7
    Membre confirmé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Points : 469
    Points
    469
    Par défaut
    bon je pense qu'on a répondu a la question de Antoon

    -> résolu ^^

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

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. Réponses: 3
    Dernier message: 30/10/2006, 11h21
  3. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  4. VBA : copier une image d'une feuille excel à une autre
    Par Equus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2005, 14h01

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