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 :

Menu déroulant en CSS


Sujet :

CSS

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Menu déroulant en CSS
    Bonjour,

    j'ai un problème avec mon menu déroulant en CSS.
    En effet, lorsque la taille de la page diminue, le menu change complètement de forme, au départ il est aligné puis ne l'est plus.
    Par exemple sur internet, le menu est "normal" aligné etc... Mais si vous allez regarder via votre smartphone... le menu sera complètement changé.

    Je vous donne les deux captures d'écran

    capture d'écran lorsque la page est de taille normale :

    Nom : Capture.PNG
Affichages : 53
Taille : 1,6 Ko

    et par exemple si vous êtes sur un petit ordinateur ou sur un smartphone ... :

    Nom : capture 2.PNG
Affichages : 56
Taille : 64,2 Ko

    Je voudrais qu'il reste aligné quoi qu'il arrive peu importe la taille de l'écran mais je n'y arrive pas comment faire?

    Je vous passe le code HTML et CSS :

    code HTML :

    Code html : 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
    <ul id="menu">
            <li>
                    <a href="index.html">onglet 1</a>
            </li>
             <li>
                    <a href="histoire.html">onglet 2</a>
            </li>
            <li>
                    <a href="document.html">onglet 3</a>
                    <ul>
                            <li><a href="photo.html">Photos</a></li>
                            <li><a href="cartePostal.html">Carte postale</a></li>
    						<li><a href="livre.html">Livre</a></li>
                    </ul>
            </li>
     
            <li>
                   <a href="recherche.html">onglet 4</a>
            </li>
     
             <li>
    			<li><a href="lien.html">onglet 5</a></li>
    		</li>
     
            <li>
                    <a href="contact.html">onglet 6</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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    #menu a:hover /* Lorsque la souris passe sur un des liens */   
    {
            color: #000; /* On passe le texte en noir... */
            background: #fff; /* ... et au contraire, le fond en blanc */
    }
     
    #menu li:hover ul ul, #menu li.sfhover ul ul /* Sous-sous-listes lorsque la souris passe sur un élément de liste */
    {
            left: -999em; /* On expédie les sous-sous-listes hors du champ de vision */
    }
     
    #menu li:hover ul, #menu li li:hover ul, #menu li.sfhover ul, #menu li li.sfhover ul  /* Sous-listes lorsque la souris passe sur un élément de liste ET sous-sous-lites lorsque la souris passe sur un élément de sous-liste */
    {
            left: auto; /* Repositionnement normal */
            min-height: 0; /* Corrige un bug sous IE */
    }
     
    #menu, #menu ul /* Liste */    
    {
            padding : 0; /* pas de marge intérieure */
            margin : 0; /* ni extérieure */
            list-style : none; /* on supprime le style par défaut de la liste */
            line-height : 20px; /* on définit une hauteur pour chaque élément */
            text-align : center; /* on centre le texte qui se trouve dans la liste */
    }
     
    #menu /* Ensemble du menu */
    {
     
    		margin-top : 4%;
    		margin-left : 10%;
            font-weight : bold; /* on met le texte en gras */
            font-family : Arial; /* on utilise Arial, c'est plus beau ^^ */
            font-size : 12px; /* hauteur du texte : 12 pixels */
    }
     
    #menu a /* Contenu des listes */
    {
            display : block; /* on change le type d'élément, les liens deviennent des balises de type block */
            padding : 0; /* aucune marge intérieure */
            background : #000; /* couleur de fond */       
            color : #fff; /* couleur du texte */
            text-decoration : none; /* on supprime le style par défaut des liens (la plupart du temps = souligné) */
            width : 15em; /* largeur modifible */
    }
     
     
    #menu li /* Elements des listes */     
    { 
            float : left; 
            /* pour IE qui ne reconnaît pas "transparent" */
            border-right : 1px solid #fff; /* on met une bordure blanche à droite de chaque élément */
    }
     
    /* IE ne reconnaissant pas le sélecteur ">" */
    html>body #menu li
    {
            border-right: 1px solid transparent ; /* on met une bordure transparente à droite de chaque élément */
    }
     
    #menu li ul /* Sous-listes */
    { 
            position: absolute; /* Position absolue */
            width: 144px; /* Largeur des sous-listes  modifible*/
            left: -999em; /* Hop, on envoie loin du champ de vision */
    }
     
     
    #menu li ul li /* Éléments de sous-listes */
    {
            /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
            border-top : 1px solid #fff; /* on met une bordure blanche en haut de chaque élément d'une sous liste  modifible*/
    }
     
    /* IE ne reconnaissant pas le sélecteur ">" */
    html>body #menu li ul li                
    {
            border-top : 1px solid transparent; /* on met une bordure transparente en haut de chaque élément */
    }
     
    #menu li ul ul 
    {
            margin    : -22px 0 0 144px ; /* On décale les sous-sous-listes pour qu'elles ne soient pas au dessus des sous-listes */
            /* pour IE qui ne reconnaît pas "transparent" (comme précédemment) */
            border-left     : 1px solid #fff ; /* Petite bordure à gauche pour ne pas coller ... */     
    }
     
    /* IE ne reconnaissant pas le sélecteur ">" ... je me répète ;-) */
    html>body #menu li ul ul                
    {
            border-left     : 1px solid transparent ; /* on met une bordure transparente sur la gauche de chaque élément */
    }

    Voilà, pourriez vous m'aider à résoudre le problème?
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    le plus simple est de mettre un width (ou min-width) imposé pour le ul#menu.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    ça ne marche pas.
    Y a toujours le même problème ..

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Et bien j'ai déjà testé plusieurs fois et ça vient en effet de ça.

    Il faut que ton conteneur ait une taille fixe.

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 108
    Points : 44 921
    Points
    44 921
    Par défaut
    Bonjour,
    ajoute un DOCTYPE à ton document!!

    Sous quel navigateur testes tu, IE ?

Discussions similaires

  1. Pb avec Internet Explorer pour les menu déroulant en css
    Par gaet_045 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/06/2007, 08h31
  2. menu déroulant horizontal css
    Par dedel53 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 23/01/2007, 18h33
  3. Menu déroulant avec CSS
    Par fadex dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 20/11/2006, 14h14
  4. menu déroulant en css
    Par cisse18 dans le forum Mise en page CSS
    Réponses: 25
    Dernier message: 08/06/2006, 09h12

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