Bienvenue
sur
Never-Utopia

Tu es déconnecté.

Never-Utopia

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.


    Barre de navigation ouvrable

    Partagez
    FémininAge : 22Message(s) : 2473

    Les Guildes
    Guilde des Conteurs:
    0/10  (0/10)
    Guilde des Illusionnistes:
    1/10  (1/10)
    Guilde des Architectes:
    13/20  (13/20)
    Onyx
    le Mer 3 Sep 2014 - 7:51
    Rappel du premier message :


    Barre de navigation ouvrable




    Salut !

    Voici un petit LS d'une barre de navigation ouvrable au clic que j'ai remodelée à partir de la demande de Valou93. À savoir que j'ai utilisé du javascript pour ouvrir/fermer la barre, mais que vous pouvez utiliser ce tuto pour faire la même chose avec des targets qui vous préférez cette méthode.

    Pour voir l'aperçu "fermé" : cliquez ici.
    Pour voir l'aperçu "ouvert" au clic : cliquez ici.

    Ce code est en deux parties.
    • Tout d'abord, nous allons installer la navigation (et le javascript qui la fait fonctionner) dans le template.
    • Puis, nous allons mettre en forme la navigation à l'aide du CSS.

    Mettre un crédit vers Never-Utopia est obligatoire si vous utilisez ce LS.


    Merci de laisser un message pour donner vos impressions/commentaires/remerciements ^^



    1. Corps de la navigation (Template Overhall_Header)


    Nous allons commencer par aller dans les templates, plus précisément dans le template "Index_box" .

    Pour cela, nous allons aller dans :
    > PANNEAU D'ADMINISTRATION
    > > AFFICHAGE
    > > > TEMPLATES
    > > > > GÉNÉRAL
    > > > > > OVERHALL HEADER

    Nous allons alors chercher l'ancienne navigation qui devrait être aux alentours des lignes 173 à 177 et ressembler à ceci :
    Code:
    <table cellspacing="0" cellpadding="0" border="0" align="{MENU_POSITION}">
     <tr>
     <td align="{MENU_POSITION}"{MENU_NOWRAP}>{GENERATED_NAV_BAR}</td>
     </tr>
     </table>

    Nous allons la remplacer par notre propre navigation, à savoir ceci :
    Code:
    <table id="navbloc" cellspacing="0" cellpadding="0" border="0">
      <tr>
        <td align="center">
          <div class="nav_links">
            {GENERATED_NAV_BAR}
          </div>
        </td>
      </tr>
      <tr>
        <td align="left">
          <span id="nav_ouvrir">Ouvrir la navigation</span>       
          <span id="nav_fermer" style="display: none;">Fermer la navigation</span>
        </td>
      </tr>
    </table>
    <script>document.getElementById("nav_ouvrir").onclick = function() {nav_open()}; /*Fonction pour ouvrir la navigation*/
    document.getElementById("nav_fermer").onclick = function() {nav_close()}; /*Fonction pour fermer la navigation*/
    function nav_open() {
      document.getElementById("nav_ouvrir").style.display = "none"; /*Fait disparition le bouton ouvrir*/
      document.getElementById("nav_fermer").style.display = "block"; /*Fait apparaître le bouton fermer*/
      document.getElementById("navbloc").style.top = "0px";} /*Fait baisser la navigation*/
    function nav_close() {
      document.getElementById("nav_fermer").style.display = "none"; /*Fait disparition le bouton fermer*/
      document.getElementById("nav_ouvrir").style.display = "block"; /*Fait apparaître le bouton ouvrir*/
      document.getElementById("navbloc").style.top = "-32px";} /*Fait monter la navigation*/</script>


    Donc, histoire de comprendre un peu ce qu'on a fait, nous allons regarder un peu le code que nous venons de rajouter :

    • Au tout début, il y a un tableau avec l'id "navbloc" qui nous permet de positionner notre navigation, de la même façon qu'avec la navigation normale.
    • Ensuite, dans la première cellule de notre tableau, nous avons la barre de navigation avec la class "nav_links".
    • Puis, dans la deuxième cellule, nous avons les deux boutons qui sont respectivements idenditifés avec les id "nav_ouvrir" et "nav_fermer". Le bouton "fermer" a un "display: none" pour qu'il soit invisible au départ.
    • Enfin, nous avons le javascript qui permet de fermer et d'ouvrir la navigation. Il y a déjà des explications directement dans le code, alors on va en rester là.



    2. Mise en forme (CSS)


    Si vous avez installé le code dans le template, vous voyez sans doute tout de suite que ce n'est pas très esthétique pour le moment. Du coup, nous allons mettre en forme notre navigation à l'aide du CSS.

    Pour cela, nous allons aller dans :
    > PANNEAU D'ADMINISTRATION
    > > AFFICHAGE
    > > > IMAGES ET COULEURS
    > > > > COULEURS
    > > > > > FEUILLE DE STYLE CSS

    Puis, nous allons ajouter le CSS suivant :
    Code:
       /********************************************* NAVIGATION *********************************************/
    /*Fixe la navigation en haut cachée*/
    #navbloc {
      position: fixed;
      z-index: 20;
      top: -32px;
      left: 0px;
      width: 100%;
      -webkit-transition: 0.5s;
      transition: 0.5s;
    }

    /*Barre de la navigation*/
    .nav_links {
      background: #1A1815;
      border-bottom: 2px solid #000000;
      color: #88346B;
      height: 20px;
      padding: 5px;
    }
    /*Liens de la navigation*/
    #navbloc a.mainmenu {
      font-family: monotype corsiva;
      font-size: 18px;
      color: darkgoldenrod;
      text-shadow: 1px 1px 1px #000000;
    }
    /*Liens de la navigation au survol*/
    #navbloc a.mainmenu:hover {
      color: goldenrod;
      text-shadow: 1px 1px 1px #000000;
    }

    /*Boutons pour ouvrir ou fermer la navigation*/
    #nav_ouvrir, #nav_fermer {
      display: block;
      width: 190px;
      margin-left: 15px;
      margin-top: -2px;
      background: #1A1815;
      border: 2px solid #000000;
      border-top: none;
      border-bottom-left-radius: 20px;
      border-bottom-right-radius: 20px;
      color: darkgoldenrod;
      text-shadow: 1px 1px 1px #000000;
      padding: 5px;
      font-family: Times New Roman;
      font-size: 20px;
      font-variant: small-caps;
      cursor: pointer;
      text-align: center;
    }
    /*Boutons au survol*/
    #nav_ouvrir:hover, #nav_fermer:hover {
      color: goldenrod;
    }
       /********************************************* FIN NAVIGATION *********************************************/


    Pour ceux qui veulent savoir comme la barre fait pour s'ouvrir et se refermer, je vais juste donner quelques explications qui pourraient être utiles.

    • Dans le CSS du tableau "navbloc", nous avons l'attribut "top". Le "top" indique que le bloc de rechercher à -32px du haut de l'écran.
    • C'est sur cette variable qu'agit le javascript (que nous avons mis dans le template tout à l'heure).
    • Ce javascript reprend le même "top", mais en change la valeur pour "0px" lorsqu'on clique sur le bouton "ouvrir", ce qui redescend la navigation à 0px en haut de l'écran.
    • De façon semblable, lorsqu'on clique sur le bouton "fermer", cela change la valeur pour "-32px" et remet la navigation à -32px en haut de l'écran, ce qui la cache.
    • Du coup, si jamais vous souhaitez modifier les dimensions de la barre de navigation, il faudrait aller le modifier dans le CSS du tableau "navbloc" et aussi dans le javascript pour changer la valeur du "top".


    C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans Un problème avec mon code ou Personnalisations si vous voulez personnaliser le LS et que vous avez besoin d'aide.

    À plus !


    Dernière édition par Onyx le Ven 30 Sep 2016 - 20:09, édité 4 fois
    FémininAge : 17Message(s) : 38
    Narratrice
    le Lun 27 Juin 2016 - 21:11
    Merci Very Happy
    FémininAge : 34Message(s) : 34
    Henoch
    le Mar 28 Juin 2016 - 9:05
    top merci !
    FémininAge : 19Message(s) : 53
    Shaïka
    le Ven 1 Juil 2016 - 18:48
    Merci pour le partage !
    FémininAge : 16Message(s) : 297

    Les Guildes
    Guilde des Conteurs:
    1/10  (1/10)
    Guilde des Illusionnistes:
    0/10  (0/10)
    Guilde des Architectes:
    1/10  (1/10)
    Merwyn Arehdel
    le Dim 3 Juil 2016 - 15:29
    Merci Very Happy


    Just want to be yours.
    FémininAge : 21Message(s) : 86

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Sideris
    le Dim 3 Juil 2016 - 19:55
    J'aime beaucoup. Merci.


    &

    MasculinAge : 17Message(s) : 73
    Applauze
    le Sam 9 Juil 2016 - 9:37
    Merci
    FémininAge : 29Message(s) : 38
    Dodolovelove
    le Sam 9 Juil 2016 - 17:16
    Je veux voir °°! Merci!!
    FémininAge : 29Message(s) : 126

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Sighild
    le Sam 9 Juil 2016 - 21:19
    merci pour le tuto
    FémininAge : 27Message(s) : 74
    Thessia
    le Lun 11 Juil 2016 - 14:29
    C'est beau et pratique merci ^^


    Ce n'est pas parce que tu ne le vois pas que ce n'est pas réel,
    Ce n'est pas par ce que tu n'y arrive pas que ce n'est pas possible.
    FémininAge : 19Message(s) : 33
    The A.
    le Mar 12 Juil 2016 - 21:57
    Merci !



    Jamais contente.
    MasculinAge : 53Message(s) : 297

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Kâ Lys
    le Sam 16 Juil 2016 - 23:16
    Merci!


    FémininAge : 25Message(s) : 61
    Argimpasa
    le Lun 18 Juil 2016 - 15:25
    Merci Very Happy
    FémininAge : 18Message(s) : 38
    Gaiya Inari
    le Lun 18 Juil 2016 - 21:08
    Marchi :)


    MasculinAge : 20Message(s) : 53
    Thanos
    le Mer 20 Juil 2016 - 2:40
    J'aime, merci.
    FémininAge : 26Message(s) : 154
    Neko Mimi
    le Jeu 21 Juil 2016 - 10:45
    Merci ♥


    FémininAge : 21Message(s) : 283

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Nymeria.
    le Sam 23 Juil 2016 - 16:16
    Merci :3
    MasculinAge : 25Message(s) : 32
    Amaziel
    le Mer 27 Juil 2016 - 22:54
    Merci pour le partage. Ca va m'être utile pour un projet.
    FémininAge : 19Message(s) : 120

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Isalia
    le Jeu 28 Juil 2016 - 20:18
    Génial, merci o:
    FémininAge : 16Message(s) : 15
    Nyhnn
    le Jeu 4 Aoû 2016 - 0:10
    Merci du partage! *-*
    FémininAge : 14Message(s) : 93
    Kira Hatsuki
    le Jeu 4 Aoû 2016 - 20:58
    Merci beaucoup !
    FémininAge : 30Message(s) : 18
    Sybline
    le Mar 9 Aoû 2016 - 23:43
    merci pour le partage
    MasculinAge : 30Message(s) : 25
    LeMonarque
    le Sam 13 Aoû 2016 - 12:22
    Merci
    FémininAge : 21Message(s) : 35

    Les Guildes
    Guilde des Conteurs:
    0/0  (0/0)
    Guilde des Illusionnistes:
    0/0  (0/0)
    Guilde des Architectes:
    0/0  (0/0)
    Jynnea
    le Mar 23 Aoû 2016 - 20:17
    Merci :)
    FémininAge : 23Message(s) : 23
    chocapiix59
    le Ven 26 Aoû 2016 - 19:16
    Extra ♥ Merci Very Happy
    FémininAge : 18Message(s) : 16
    Insane.
    le Mar 30 Aoû 2016 - 16:13
    merci !
    Contenu sponsorisé
    Aujourd'hui à 6:54

      La date/heure actuelle est Sam 1 Oct 2016 - 6:54