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 toggle en css?


Sujet :

CSS

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Par défaut menu toggle en css?
    bonsoir,

    est il possible de faire un menu toggle(excusez moi je connais pas le mot en francais) rien qu'avec du css sans employer du js. Voici l'exemple de menu , biensur celui la utilise du js: (voir la colonne a gauche)

    http://www.travail-solidarite.gouv.f...reves/409.html

    si c'est possible merci bien de me montrer un exemple de code!

  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
    Oui c'est possible mais je vois pas l'utilité de se passer de js...
    C'est ce compliquer la vie, ça oblige a modifier tes balises en fonction de tes pages...
    HTML :
    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
     
    <div id="nav">
            <a class="active" href="index.html" >Lien1</a>
            <div class="active" >
                <ul style="display:true">
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub2</a></li>
                <li><a href="#">sub3</a></li>
                <li><a href="#">sub4</a></li>
                <ul>
            </div>
    </div>
    <div id="nav">
            <a class="active" href="page2.html" >Lien2</a>
            <div >
                <ul style="display:none">
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                </ul>
            </div>
    </div>
    <div id="nav">
            <a class="active" href="page3.html" >Lien3</a>
            <div class="pan">
                <ul style="display:none">
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                <li><a href="#">sub1</a></li>
                </ul>
            </div>
    </div>
    Tu modifies le display none pour pas visible true pour visible.

    Résultat

  3. #3
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    L'intérêt du menu toggle est de ne pas recharger la page pour voir les liens d'une rubrique. Donc ta solution marche bien onirisme, mais il faut utiliser du javascript sinon ça n'a aucun intérêt.

    Voila

  4. #4
    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
    C'est bien ce que je disais...
    par moi :Oui c'est possible mais je vois pas l'utilité de se passer de js...
    C'est ce compliquer la vie, ça oblige a modifier tes balises en fonction de tes pages...

  5. #5
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Citation Envoyé par onirisme Voir le message
    C'est bien ce que je disais...
    j'avais mal lu ... du début jusqu'à la fin ...
    Mea culpa.

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Par défaut
    ok merci onirisme, je vois maintenant qu'en fesant ca rien qu'avec du css il faut faire plusieurs page html pour arrive au resultat toggle donc oui je crois que je vais utilisé js bien que je ne connais pas tres bien js mais le truc bien c'est quavec js je peux faire ca sur une seule page html (desolé pour la redac je viens de me reveillé).... bon je vais voir en tout cas merci pout ton code je vais l'etudier

  7. #7
    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
    Pour un menu de type "toggle"

    Javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    window.onload=montre;
    function montre(id) {
    var d = document.getElementById(id);
    	for (var i = 1; i<=10; i++) {
    		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    	}
    if (d) {d.style.display='block';}
    }
    Voir FAQ js -> FAQ
    HTML :
    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
     
    <html>
      <head>
        <title>Menus CSS et JS</title>
        <meta content="">
        	<link href="style.css" rel="stylesheet" type="text/css">
    	<script langage="javascript" src="functions.js"></script>
    </head>
     
        <div id="navContener">
            <h2>Menu type Panels</h2>
            <p>Ce menu fonctionne avec un script Javascript</p>
     
            <dl id="menu">
                <dt onclick="javascript:montre();"><a href="#">Menu 1</a></dt>
    			<--! Si on clic appel fonction montre sur l id smenu2-->
                    <dt onclick="javascript:montre('smenu2');">Menu 2</dt>
                        <dd id="smenu2"><!--Id du sous menu à afficher-->
                            <ul>
                                <li><a href="#">Sous-Menu 2.1</a></li>
                                <li><a href="#">Sous-Menu 2.2</a></li>
                                <li><a href="#">Sous-Menu 2.3</a></li>
                            </ul>
                        </dd>	
     
                    <dt onclick="javascript:montre('smenu3');">Menu 3</dt>
                        <dd id="smenu3">
                            <ul>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                                <li><a href="#">Sous-Menu 3.1</a></li>
                            </ul>
                        </dd>
     
                    <dt onclick="javascript:montre('smenu4');">Menu 4</dt>
                        <dd id="smenu4">
                            <ul>
                                <li><a href="#">Sous-Menu 4.1</a></li>
                                <li><a href="#">Sous-Menu 4.1</a></li>
                            </ul>
                        </dd>
     
            </dl>
    On appel la fonction javascript:montre en déclarant l'id
    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
     
    /**PAN**/
     
    dl, dt, dd, ul, li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    }
    #menu {
    position: relative; 
    top: 0;
    left: 0;
    }
    #menu {
    width: 15em;
    }
    #menu dt {
    cursor: pointer;
    height: 20px;
    line-height: 20px;
    text-align: center;
    font-weight: bold;
    border: 1px solid gray;
    background: #F5F5F5;
    }
    #menu dd {
    border: 1px solid gray;
    display : none ;
    }
    #menu li {
    text-align: center;
    background: #fff;
    }
    #menu li a, #menu dt a {
    color: #000;
    text-decoration: none;
    display: block;
    border: 0 none;
    height: 100%;
    }
    #menu li a:hover, #menu dt a:hover {
    background: #eee;
    }
    Le resultat (1er model) ICI

  8. #8
    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 : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 215
    Par défaut
    merci beaucoup! c'est génial, je vais étudier tout ca pour aussi apprendre a le faire, merci encore.

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

Discussions similaires

  1. Menu dynamique en CSS
    Par pontus21 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 16/08/2006, 16h12
  2. Menu horizontal en CSS et liste
    Par SYL666 dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 21/06/2006, 15h03
  3. menu déroulant en css
    Par cisse18 dans le forum Mise en page CSS
    Réponses: 25
    Dernier message: 08/06/2006, 09h12
  4. "Assembler" les éléments d'un menu javascript (.js + .css)
    Par beegees dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/06/2006, 10h15

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