Mettre image devant lien

Résolu
Flothebobcat Messages postés 1427 Statut Membre -  
Flothebobcat Messages postés 1427 Statut Membre -
Salut les webmasters ,
Bon je vous explique j'aimerais pouvoir inserer une image devant chaque lien de mon menu sur mon site j'ai essayé en faisant : #menu a
{
color: white;
text-decoration: none;
margin-right: 10px;
margin-left:30px;
background-image:url(paw.png);
background-repeat:no-repeat;
}
Dans mon fichier CSS ca marche mais le problème c'est qu'au lieu que l'icone soit a gauche du lien (juste a coté) elle est en dessous ><
Si vous auriez la solution a mon probleme je vous en serait reconnaissant :)
Merci d'avance



--
Cordialement

14 réponses

Résumé de la discussion

Insertion d'une image devant chaque lien d'un menu via CSS et l'alignement problématique de l'icône qui apparaît sous le texte, faute de place ou de positionnement correct, sur des structures HTML simples. Plusieurs réponses suggèrent d'utiliser une structure HTML adaptée et d'ajuster padding et margins pour aligner l'icône, tandis que la solution retenue propose d'appliquer background-image sur les liens et de clarifier le HTML. Certaines réponses invitent à partager la structure HTML et le CSS pour diagnostiquer les décalages, puis à tester des variantes ou des ressources externes telles que des articles sur les puces images. Par ailleurs, un exemple concret montre l’emploi du CSS #menu et #menu a avec background-image et le HTML correspondant pour structurer correctement le menu.

Bobot (l'IA à votre service)
  1. Flothebobcat Messages postés 1427 Statut Membre 55
     
    :(
    0
  2. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Personne ?
    0
  3. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
     
    Salut, utilise tu la liste à puce ?
    0
  4. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Non
    Merci pour ta reponse
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
     
    Peut tu nous monter la structure de ton menu html et css ?
    0
  7. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Oui bien sur
    0
  8. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Le css
    #menu
    {
       background-image: url("../images/menu.jpg");
       width: 954px;
       height: 54px;
       text-align: center;
       font-size: 16px;
       padding-top: 20px;
    }
    
    #menu a
    {
       color: white;
       text-decoration: none;
       margin-right: 10px;
       margin-left:30px;
       background-repeat:no-repeat;
    
    }
    
    #menu a:hover
    {
       text-decoration: underline;
    }
    

    Et le html
     <div id="menu">
                 <a href='index.html' >Accueil</a><a href='index.html'>News</a> <a href='index.html'>Guestbook</a>
              </div>
    0
  9. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
     
    Tu l'a compris le plus simple c'est d'utiliser la liste à puce cela évite les soucis d'affichage, suit le tuto que tu as trouvé et revient si tu as des problèmes
    0
  10. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Lis plus haut :P
    0
  11. Flothebobcat Messages postés 1427 Statut Membre 55
     
    Je dois aussi preciser qu'il s'agit d'un menu a l'horizontal
    0
  12. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
     
    Et si tu enlève les padding et margin ça donne quoi ?
    Sinon essai celui-la :

    <!-- menu principal -->     
    <div id="menu">
    
    <ul>                         
        <li><a href="#">AAAAAA</a></li>
        <li><a href="#">BBBBBB</a></li>
        <li><a href="#">CCCCCC</a></li>
    </ul>
    
    </div>
    <!-- fin du menu principal -->


    #menu{ 
        display: block; 
        width: 954px;  
        height: 54px; 
        margin: 0; 
        padding: 0; 
    }
    #menu ul {
        margin: 0; 
        padding:0; 
        list-style-image: url('puce.png'); (l'image)
        width: 954px;
    }
    #menu li  {
        float:left; 
        margin:0 1px 0 0; 
        padding: 0;
    }
    #menu a {
        display: block;  
        height: 54px; 
        width: 150px; (à vérifier)
        margin: 0; 
        padding: 0; 
        text-decoration: none; 
        color:#000000;
    }
    0
    1. Flothebobcat Messages postés 1427 Statut Membre 55
       
      Sa donne nimp :/ comme le site n'est pas publier tu pourrais m'envoyer un mp contenant ton mail si eventuellement tu es dispo pour teamviewer?
      0
    2. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
       
      La dans l'immédiat pas trop disponible mais le code que je t'ai fourni fonctionne très bien, si ça ne donne rien c'est que tu as une erreur dans ta structure html si tu te sens pour la poster ici pourquoi pas !!
      0
    3. Flothebobcat Messages postés 1427 Statut Membre 55
       
      C'est bon ton code marche a merveille :) merci encore
      0
    4. Flothebobcat Messages postés 1427 Statut Membre 55
       
      Enfaite tout marche bien mais la puce est trop loin du texte (trop decalé vers la gauche) tu peux m'eclairé ? :)
      0
    5. Stéphane18 Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   132
       
      As tu ajouté par hasard un text-align: center dans le bloc #menu si oui enlève le sinon regarde avec les valeurs de margin et padding !
      0
  13. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 344
     
    Bonjour,

    C'est l'élément a qu'il faut directement modifier comme ceci:

    body header nav a {
     display: inline-block;
    color: white;
    text-decoration: none;
    margin-right: 10px;
    margin-left:30px;
    background-image:url(paw.png);
    background-repeat: no-repeat; } 


    et naturellement dans votre page web, on supposera que les liens impactés soient dans cette hiérarchie HTML:

    <body>
      <header>
        <h1>Titre de ma page</h1>
        <nav>
          <a href='galerie.php'>galerie</a>
          <a href='contact.php'>contact</a>
        </nav>
      </header>
      <article>...suite de la page ...</article>
    </body>


    Commentaire:
    - les liens a sont inscrits à la suite sans li.../li. C'est l'indication display: inline-block; qui contraint la balise a à devenir un bloc en ligne, donc à prendre en compte les spécifications de marge. Sans cette ligne (en gras), margin-left et margin-right ne fonctionnent pas...
    - si on veut que les liens a fonctionnent comme encadrés par li.../li, il suffit de réécrie cette ligne:

    display: inline-block;

    en

    display: block;

    Pour exemple, allez voir mes pages d'exemple ici:
    http://exemple.camping-car.org/

    Vous avez un menu à l'horizontale. En haut et à droite de la page, changez simplement le style et sélectionnez le style ciel bleu, le même menu devient vertical.

    Le code HTML de ce site d'exemple ne change pas d'une virgule entre chaque style de présentation. Tout est maitrisé par le css. Les menus ne font pas appel à li.../li...

    A+
    0