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 :

Un menu en CSS avec images


Sujet :

CSS

  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Un menu en CSS avec images
    Bonjour

    Je souhaite réaliser un menu horizontal comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    image image
    texte texte
    En sachant que le même lien est affecté à l'image et au texte.

    Le soucis, je n'arrive pas à aligner verticalement vers le bas le texte. Sa position de départ est en haut sur l'image. Je peux utiliser un padding-bottom mais du coup lorsque que je clique sur l'image, l'espace sous le texte est énorme.

    Avez-vous des informations ou même un exemple ?

    Merci

  2. #2
    Membre expérimenté Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Par défaut
    Voici une façon de réaliser cela.
    Bon y'en a d'autres mais celle là est r apide et simple à mettre en place.
    Tu peux visualiser l'exemple ici : LIEN

    HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div id="nav">
            <a href="#" ><img id="ico" src="img/tux.png"><br/>Menu1</a>
            <a href="#" ><img id="ico" src="img/stylesheet.png"><br/>Menu2</a>
            <a href="#" ><img id="ico" src="img/printer.png"><br/>Menu3</a>
            <a href="#" ><img id="ico" src="img/smserver.png"><br/>Menu4</a>
            <a href="#" ><img id="ico" src="img/Login.png"><br/>Menu5</a>
        </div>
    J'ai inséré l'image devant le texte du lien et j'ai ajouté un <br/> pour passer à la ligne.

    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
    15
    16
    17
    18
    19
    20
     
    #nav{
    }
    #nav a{
        display : block ;
        float : left ;
        width : 120px;
        height : 60px;
        background-color : #F5F5F5 ;
        padding-top : 5px ;
        padding-left : 8px ;
        padding-right : 8px ;
        margin-right : 2px ;
        border : solid thin #000000 ;
        text-align : center ;
        text-decoration : none ;
    }
    #nav a img {
        border-width : 0;
    }
    A toi de mettre en forme le css.
    Si tu as besoin de + d'infos...

  3. #3
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Pour aligner vers le bas le texte avec le code d'onirisme je modifierais deux ou trois trucs :

    (suppression du br)
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="nav">
       <a href="#" ><img id="ico" src="img/tux.png" />Menu1</a>
       <a href="#" ><img id="ico" src="img/stylesheet.png" />Menu2</a>
       <a href="#" ><img id="ico" src="img/printer.png" />Menu3</a>
       <a href="#" ><img id="ico" src="img/smserver.png" />Menu4</a>
       <a href="#" ><img id="ico" src="img/Login.png" />Menu5</a>
    </div>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #nav a{
       display : block ;
       float : left ;
       width : 120px;
       height : 60px;
       background-color : #F5F5F5 ;
       padding-top : 5px ;
       padding-left : 8px ;
       padding-right : 8px ;
       margin-right : 2px ;
       border : solid thin #000000 ;
       text-align : center ;
       text-decoration : none ;
       /* ajouts */
       line-height:60px; /* identique au height */
       overflow:hidden; /* correction bug IE6 qui utilise le height comme un min-height */
    }
    #nav a img {
       border-width : 0;
       /* ajouts */
       display:block; /* permet d'aller à la ligne sous l'image sans br */
       margin:0 auto; /* centre l'image */
    }

  4. #4
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour

    Déjà merci pour le code ci-dessus. Il est vrai que le code est plus léger moi j'avais opté pour une liste.

    Le code html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        <ul>
          <li id="lien1"><a href="#">lien1</a></li>
          <li id="lien2"><a href="#">lien2</a></li>
          <li id="lien3"><a href="#">lien3</a></li>
          <li id="lien4"><a href="#">lien4</a></li>
       </ul>
    Voici le code 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    ul {
    	list-style:none;
    	padding:0;
    	margin:0;
    }
     
    ul li { float:left; }
     
    ul li a {
    	display:block;
    	height:20px;
    	width:138px;
    	padding-top:130px;
    	text-align:center;
    	text-decoration:none;
    	color:#666
    }
     
    ul li a:hover {
        text-decoration:underline;
       }
     
    li#whoami, #lien1, #lien2, #lien3 {
    	background-repeat:no-repeat;
    	width:128px;
    	height:128px;
    }
     
    li#lien1 { background-image:url("img/image1.png"); }
    li#lien2 { background-image:url("img/image2.png"); }
    li#lien3 { background-image:url("img/image3.png"); }
    li#lien4 { background-image:url("img/image4.png"); }
    Qu'en pensez-vous ?

    Merci

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Sémantiquement, c'est mieux.

    Dans la déclaration :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    li#whoami, #lien1, #lien2, #lien3
    je rajouterais juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-position: top center;
    Après, le choix de mettre les images en arrière-plan ou non, c'est au bon vouloir du développeur, je n'ai aucune préférence là-dessus.

  6. #6
    Membre expérimenté Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Par défaut
    Bonsoir,

    On ne peut pas trop se rendre compte du résultat sans les images mais le code est bon. Je ne peux pas tester sous IE mais je pense qu'il n'y aura pas de problèmes.

    Fais juste attention à ne pas avoir d'autres balises <ul> ouy <li>
    Mieux vaut encadré avec un div
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #nav{
      ...Propriétés
    }
    #nav ul{
    ...etc

  7. #7
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Citation Envoyé par onirisme Voir le message
    Voici une façon de réaliser cela.
    Bon y'en a d'autres mais celle là est r apide et simple à mettre en place.
    Tu peux visualiser l'exemple ici : LIEN
    Bonjour,

    Merci pour toutes les informations

    Si je me base sur l'exemple ci-dessus, est-il possible de placer l'image au dessus du menu, qu'une partie soit placée à l'extérieur et l'autre à l'intérieur ?

    Heu

  8. #8
    Membre expérimenté Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Par défaut
    Oui, c'est possible...HEU... Si j'ai bien compris...

    Le lien : ICI

    Les modifications du css :
    Ajoute ceci dans le css .img
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    position : relative ;
    top : -15px ; /*Positionnement relatif -15 px par rapport au haut du div #nav*/

  9. #9
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour

    C'est exactement ce que je cherche. Je me demande s'il est possible de réaliser ce même mécanisme avec une liste ? Autrement, je vais rester avec une div.

    Merci

  10. #10
    Membre expérimenté Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Par défaut
    Ca fonctionne de la même façon avec une liste

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

Discussions similaires

  1. superposer un menu html/css avec un menu Flash
    Par darius1000 dans le forum Intégration
    Réponses: 0
    Dernier message: 16/04/2011, 14h31
  2. menu onglet css avec taille variable
    Par altair8080 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/06/2010, 10h48
  3. probleme menu deroulant css avec ie6
    Par rerebubu dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 14/10/2009, 11h59
  4. Probleme Css avec Image
    Par kidseb dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/09/2008, 14h22
  5. Integration de menu HTML/CSS avec PHP
    Par sparrow dans le forum Langage
    Réponses: 7
    Dernier message: 31/01/2006, 02h50

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