AccueilDernières imagesRechercherS'enregistrerConnexion

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.

Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

    Barre de navigation en haut du forum (fixe ou non)

    Sparrow-style
    Sparrow-style
    FémininAge : 39Messages : 32055

    Lun 20 Fév 2012 - 12:34

    Rappel du premier message :



    Bonjour, bonsoir

    Aperçu de la barre : lien forum test


    Pour réaliser une barre de navigation collé à votre haut de page et qui reste en place même en scrollant l'écran, voici comment vous devez procéder :

    1) Allez dans les templates (je rappelle qu'elles ne sont disponibles que dans les versions phpbb2 et punbb, et seulement par le compte fondateur du forum concerné), dans "Général" > "Haut de page" (ou "overall_header").

    Vous devez modifier deux choses : la première consiste à enlever la barre de navigation du forum, il faut donc enlever ce morceau de code :

    Code:
                <table cellspacing="0" cellpadding="0" border="0" align="{MENU_POSITION}">
                   <tr>
                      <td align="{MENU_POSITION}"{MENU_NOWRAP}>{GENERATED_NAV_BAR}</td>
                   </tr>
                </table>

    La seconde consiste à mettre ce code là où on veut que soit notre barre, à savoir tout en haut de la page, pour cela je l'ajoute juste après la balise "body" du template donc après ceci :


    Code:
    </head>
    <body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">

    J'ajoute ma barre :

    Code:
    <div id="navigation"><div id="navig">{GENERATED_NAV_BAR}</div></div>


    Pour les flemmards, voici le code entier de la template modifié :

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="{S_CONTENT_DIRECTION}" id="min-width" lang="{L_LANG_HTML}" xml:lang="{L_LANG_HTML}" {NAMESPACE_FB_LIKE} {NAMESPACE_FB} {NAMESPACE_BBCODE}>
    <head>
       <title>{SITENAME_TITLE}{PAGE_TITLE}</title>
       <meta http-equiv="content-type" content="text/html; charset={S_CONTENT_ENCODING}" />
       <meta http-equiv="content-script-type" content="text/javascript" />
       <meta http-equiv="content-style-type" content="text/css" />
       <!-- BEGIN switch_compat_meta -->
       <meta http-equiv="X-UA-Compatible" content="IE={switch_compat_meta.VERSION}" />
       <!-- END switch_compat_meta -->
       <!-- BEGIN switch_canonical_url -->
       <link rel="canonical" href="{switch_canonical_url.CANONICAL_URL}" />
       <!-- END switch_canonical_url -->
       {META_FAVICO}
       {META}
       {META_FB_LIKE}
       <meta name="title" content="{SITENAME_TITLE}{PAGE_TITLE}" />
       {T_HEAD_STYLESHEET}
       {CSS}
       <link rel="search" type="application/opensearchdescription+xml" href="/improvedsearch.xml" title="{SITENAME}" />
       <link rel="search" type="application/opensearchdescription+xml" href="{URL_BOARD_DIRECTORY}/search/improvedsearch.xml" title="{SEARCH_FORUMS}" />
       <script src="{JQUERY_PATH}" type="text/javascript"></script>
       <script src="{JS_DIR}{L_LANG}.js" type="text/javascript"></script>

       <!-- BEGIN switch_fb_login -->
       <script src="http://connect.facebook.net/{switch_fb_login.FB_LOCAL}/all.js" type="text/javascript"></script>
       <script src="{switch_fb_login.JS_FB_LOGIN}" type="text/javascript"></script>
       <!-- END switch_fb_login -->

       <!-- BEGIN switch_ticker -->
       <link type="text/css" rel="stylesheet" href="{JS_DIR}jquery/ticker/ticker.css" />
       <script src="{JS_DIR}jquery/ticker/ticker.js" type="text/javascript"></script>
       <!-- END switch_ticker -->

       <!-- BEGIN switch_ticker_new -->
       <script src="{JS_DIR}jquery/jcarousel/jquery.jcarousel.js" type="text/javascript"></script>
       <script type="text/javascript">//<![CDATA[
          /* Definir le sens de direction en fonction du panneau admin */
          var tickerDirParam = "{switch_ticker.DIRECTION}";
          var slid_vert = false;
          var auto_dir = 'next';
          var h_perso = parseInt({switch_ticker.HEIGHT});

          switch( tickerDirParam )
          {
             case 'top' :
                slid_vert = true;
                break;

             case 'left':
                break;

             case 'bottom':
                slid_vert = true;
                auto_dir = 'prev';
                break;

             case 'right':
                auto_dir = 'prev';
                break;

             default:
                slid_vert = true;
          }

          $(document).ready(function() {
             var w_cont = $('#fa_ticker_container').width();

             if (w_cont > 0)
             {
                $('#fa_ticker_container').width(w_cont);

                /* Affichage de la liste */
                $('#fa_ticker_content').css('display','block');

                /* Calcul des dimensions du conteneur et des elements */
                var width_max = $('ul#fa_ticker_content').width();
                var width_item = Math.floor(width_max / {switch_ticker.SIZE});
                var height_max = h_perso;

                /* Calcul de la hauteur maximale du conteneur en fonction des elements et de la hauteur personnalisee dans l'admin */
                $('ul#fa_ticker_content li').each( function () {
                   if ($(this).height() > height_max)
                   {
                      height_max = $(this).height();
                   }
                } );

                /* Redimensionnement des elements et des images trop larges */
                $('ul#fa_ticker_content li').width(width_item).height(height_max).find('img').each(function () {
                   if ($(this).width() > width_item)
                   {
                   var ratio      = $(this).width() / width_item;
                   var new_height = Math.round($(this).height() / ratio);
                   $(this).height(new_height).width(width_item);
                   }
                });

                /* Redimensionnement et centrage du conteneur en mode vertical */
                if (slid_vert)
                {
                   $('ul#fa_ticker_content').width(width_item).height(height_max).css('marginLeft','auto').css('marginRight','auto');
                }

                /* Initialisation du caroussel */
                $('#fa_ticker_content').jcarousel({
                      vertical: slid_vert,
                   wrap: 'circular',
                   auto: {switch_ticker.STOP_TIME},
                   auto_direction: auto_dir,
                scroll: 1,
                size: {switch_ticker.SIZE},
                height_max: height_max,
                animation: {switch_ticker.SPEED}
                });
             }
             else
             {
                $('ul#fa_ticker_content li:not(:first)').css('display','none');
                $('ul#fa_ticker_content li:first').css('list-style','none').css('text-align','center');
             }
          });
       //]]>
       </script>
       <!-- END switch_ticker_new -->

       <script type="text/javascript">//<![CDATA[
       $(document).ready(function(){
          <!-- BEGIN switch_enable_pm_popup -->
             pm = window.open('{U_PRIVATEMSGS_POPUP}', '_faprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
             pm.focus();
          <!-- END switch_enable_pm_popup -->
          <!-- BEGIN switch_report_popup -->
             report = window.open('{switch_report_popup.U_REPORT_POPUP}', '_phpbbreport', 'HEIGHT={switch_report_popup.S_HEIGHT},resizable=yes,scrollbars=no,WIDTH={switch_report_popup.S_WIDTH}');
             report.focus();
          <!-- END switch_report_popup -->
          <!-- BEGIN switch_ticker -->
             ticker_start({switch_ticker.HEIGHT}, {switch_ticker.SPACING}, {switch_ticker.SPEED}, '{switch_ticker.DIRECTION}', {switch_ticker.STOP_TIME});
          <!-- END switch_ticker -->
       });

       <!-- BEGIN switch_login_popup -->
          var logInPopUpLeft, logInPopUpTop, logInPopUpWidth = {LOGIN_POPUP_WIDTH}, logInPopUpHeight = {LOGIN_POPUP_HEIGHT}, logInBackgroundResize = true, logInBackgroundClass = false;
       <!-- END switch_login_popup -->

       <!-- BEGIN switch_login_popup -->
       $(document).ready( function() {
          $(window).resize(function() {
             var windowWidth = document.documentElement.clientWidth;
             var popupWidth = $("#login_popup").width();
             var mypopup = $("#login_popup");

             $("#login_popup").css({
             "left": windowWidth/2 - popupWidth/2
                });
          });
       });
       <!-- END switch_login_popup -->
       //]]>
       </script>
       {GREETING_POPUP}
       <!-- BEGIN switch_ticker_new -->
       <style>
       .jcarousel-skin-tango .jcarousel-item {
          text-align:center;
          width: 10px;
       }

       .jcarousel-skin-tango .jcarousel-item-horizontal {
          margin-right: {switch_ticker.SPACING}px;
       }

       .jcarousel-skin-tango .jcarousel-item-vertical {
          margin-bottom: {switch_ticker.SPACING}px;
       }
       </style>
       <!-- END switch_ticker_new -->
       {HOSTING_JS}
       <!-- BEGIN google_analytics_code -->
       <script type="text/javascript">
       //<![CDATA[
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', '{G_ANALYTICS_ID}']);
        _gaq.push(['_trackPageview']);

        (function() {
          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
       //]]>
       </script>
       <!-- END google_analytics_code -->
    </head>
    <body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">
       
     
     
      <div id="navigation"><div id="navig">{GENERATED_NAV_BAR}</div></div>
     
     
     
     
     
     
      <!-- BEGIN hitskin_preview -->
       <div id="hitskin_preview" style="display: block;">
          <h1><img src="http://2img.net/i/fa/hitskin/hitskin_logo.png" alt="" /> Hit<em>skin</em>.com</h1>
          <div class="content">
             <p>
                {hitskin_preview.L_THEME_SITE_PREVIEW}
                <br />
                <span>{hitskin_preview.U_INSTALL_THEME}<a href="http://{hitskin_preview.U_RETURN_THEME}">{hitskin_preview.L_RETURN_THEME}</a></span>
             </p>
          </div>
       </div>
       <!-- END hitskin_preview -->

       <!-- BEGIN switch_login_popup -->
       <div id="login_popup">
          <table class="forumline" width="{LOGIN_POPUP_WIDTH}" height="{LOGIN_POPUP_HEIGHT}" border="0" cellspacing="1" cellpadding="0">
             <tr height="25">
                <td class="catLeft">
                   <span class="genmed module-title">{SITENAME}</span>
                </td>
             </tr>
             <tr height="{LOGIN_POPUP_MSG_HEIGHT}">
                <td class="row1" align="left" valign="top">
                   <div id="login_popup_buttons">
                      <form action="{S_LOGIN_ACTION}" method="get">
                         <input type="submit" class="mainoption" value="{L_LOGIN}" />
                         <input type="button" class="mainoption" value="{L_REGISTER}" onclick="parent.location='{U_REGISTER}';" />
                         <input id="login_popup_close" type="button" class="button" value="{L_DONT_DISPLAY_AGAIN}" />
                      </form>
                   </div>
                   <span class="genmed">{LOGIN_POPUP_MSG}</span>
                </td>
             </tr>
          </table>
       </div>
       <!-- END switch_login_popup -->

       <a name="top"></a>
       {JAVASCRIPT}

       <table class="bodylinewidth" width="{T_BODY_TABLE_WIDTH}" cellspacing="0" cellpadding="10" border="0" align="center">
          <tr>
             <td class="bodyline">
                <table width="100%" cellspacing="0" cellpadding="0" border="0">
                   <tr>
                      <!-- BEGIN switch_logo_left -->
                      <td><a href="{U_INDEX}"><img src="{LOGO}" id="i_logo" border="0" alt="{L_INDEX}" vspace="1" /></a></td>
                      <!-- END switch_logo_left -->
                      <td align="center" width="100%" valign="middle">
                         <!-- BEGIN switch_logo_center -->
                         <a href="{U_INDEX}"><img src="{LOGO}" id="i_logo" border="0" alt="{L_INDEX}" vspace="1" /></a>
                         <br />
                         <!-- END switch_logo_center -->
                         <div class="maintitle">{MAIN_SITENAME}</div>
                         <br />
                         <span class="gen">{SITE_DESCRIPTION}<br />&nbsp; </span>
                      </td>
                      <!-- BEGIN switch_logo_right -->
                      <td><a href="{U_INDEX}"><img src="{LOGO}" id="i_logo" border="0" alt="{L_INDEX}" vspace="1" /></a></td>
                      <!-- END switch_logo_right -->
                   </tr>
                </table>


                <div style="clear: both;"></div>

                <!-- BEGIN switch_ticker_new -->
                <div id="fa_ticker_block" style="margin-top:4px;margin-bottom:4px;">
                   <table width="100%" border="0" cellspacing="0" cellpadding="0" class="forumline">
                      <tr>
                         <td {CLASS_TABLE_TYPE} align="left" class="row1">
                            <div id="fa_ticker_container">
                               <ul id="fa_ticker_content" class="jcarousel-skin-tango" style="display:none;">
                                  <!-- BEGIN ticker_row -->
                                  <li>{switch_ticker.ticker_row.ELEMENT}</li>
                                  <!-- END ticker_row -->
                               </ul>
                            </div>
                         </td>
                      </tr>
                   </table>
                </div>
                <!-- END switch_ticker_new -->

                <!-- BEGIN switch_ticker -->
                <div id="fa_ticker_block" style="margin-top:4px;margin-bottom:4px;">
                   <table width="100%" border="0" cellspacing="0" cellpadding="0" class="forumline">
                      <tr>
                         <td {CLASS_TABLE_TYPE} align="left" class="row1">
                            <div id="fa_ticker_container">
                               <div id="fa_ticker" style="height:{switch_ticker.HEIGHT}px;">
                                  <div class="fa_ticker_content">
                                     <!-- BEGIN ticker_row -->
                                     <div>{switch_ticker.ticker_row.ELEMENT}</div>
                                     <!-- END ticker_row -->
                                  </div>
                               </div>
                            </div>
                         </td>
                      </tr>
                   </table>
                </div>
                <!-- END switch_ticker -->

                <div id="page-body">
                   <div id="{ID_CONTENT_CONTAINER}"{CLASS_CONTENT_CONTAINER}>
                      <table cellpadding="0" cellspacing="0" width="100%" class="three-col">
                         <tbody>
                            <tr>
                               <td valign="top" width="{C1SIZE}">
                                  <div id="{ID_LEFT}">
                                     <!-- BEGIN giefmod_index1 -->
                                     {giefmod_index1.MODVAR}
                                        <!-- BEGIN saut -->
                                        <div style="height:{SPACE_ROW}px"></div>
                                        <!-- END saut -->
                                     <!-- END giefmod_index1 -->
                                  </div>
                               </td>
                               <td valign="top" width="100%">
    <!-- BEGIN html_validation -->
                               </td>
                            </tr>
                         </tbody>
                      </table>
                   </div>
                </div>
             </td>
          </tr>
       </table>
    </body>
    </html>
    <!-- END html_validation -->

    Si vous validez et regardez le résultat, vous verrez que la barre est bien en haut, mais qu'elle est alignée à gauche, sans fond, et pas fixe. C'est toute cette mise en forme que nous allons mettre dans la prochaine étape.


    2) Ouvrez votre feuille CSS (Affichage > Couleurs > CSS) et personnalisez à volonté votre barre. Pour la centrer, mettez dans votre css ceci :

    Code:
    #navig
    {
      width: 950px;
      margin: auto;
      text-align: center;
    }

    Explications :
    ▬ le width c'est la largeur, vous devez imposer une largeur pour pouvoir faire un "centrage" automatique sur la page
    ▬ le margin: auto c'est le centrage automatique de votre bloc par rapport à la page.
    ▬ le text-align: center sert à centrer le texte, sans cela le bloc est centré mais le texte reste aligné à gauche par défaut. Si vous voulez que votre navig' soit à droite, mettez "right" à la place.


    Si vous voulez que la barre de navigation ne soit pas fixée directement au haut de la page, passez à l'étape 3 et ne mettez pas de "position: fixed;".

    Pour fixer notre barre, nous allons simplement ajouter une ligne de code :

    Code:
    #navigation
    {
      position: fixed;
    z-index: 999;
    }

    Pourquoi le "z-index: 999" ? Cela indique que l'élément doit passer par dessus tout le reste niveau positionnement. Ainsi, en scrollant vous n'aurez jamais aucune image ou aucun bloc qui cache la navigation.

    Attention, comme vous pouvez le remarquer je n'ai pas agis sur le même "bloc". Le bloc "navigation" englobe tout, et le bloc "navig" ne concerne que l'intérieur (liens). Pourquoi m'embêter à cela ? Et bien pour réaliser la troisième et dernière étape.


    3) Pour faire en sorte que la barre prenne toute la largeur et puisse avoir les couleurs que vous voulez, vous allez devoir mettre en forme le bloc "navigation".


    Code:
    #navigation
    {
      position: fixed;
      z-index: 999;
      width: 100%;
      background-color: #cecece;
      border-bottom: 2px solid #828282;
      margin-top: -10px;
      margin-left: -10px;
      padding: 5px;
    }

    Donc les premières lignes vous connaissez, elles ont été expliquées plus haut.
    ▬ le width: 100% permet d'avoir la largeur de la page.
    ▬ le background donne une couleur de fond, le border-bottom une bordure basse.
    ▬ les margin recalent la barre (car il y a des espaces, souvent dus aux codes FA de base)
    ▬ le padding met une marge intérieure.

    Les codes sont à adapter selon vos envies et vos besoin. Les liens sont bien sûr personnalisables à souhaits, pour cela ajouter dans votre css :

    Code:
    #navig a
    {

    }

    Et à l'intérieur les propriétés CSS que vous voulez pour vos liens.


    N'oubliez pas un petit crédit à Never-Utopia, merci d'avance.

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


    Dernière édition par Sparrow-style le Mer 13 Juin 2012 - 23:15, édité 1 fois



    sign
    Neycha
    Neycha
    FémininAge : 30Messages : 58

    Mar 24 Nov 2015 - 22:31

    Merci ! Very Happy Pile ce que je cherchais !
    Heah92
    Heah92
    FémininAge : 26Messages : 89

    Mer 25 Nov 2015 - 20:18

    Merci !
    Nerine
    Nerine
    FémininAge : 31Messages : 15

    Jeu 26 Nov 2015 - 10:36

    Merci beaucoup c'est exactement ce que je voulais ^^
    Dante Le Magnifique
    Dante Le Magnifique
    MasculinAge : 38Messages : 48

    Jeu 26 Nov 2015 - 11:35

    Merci, merci, merci, merci, merci ! Razz
    Lena Choux
    Lena Choux
    FémininAge : 27Messages : 30

    Ven 27 Nov 2015 - 22:55

    Thanks o/
    avatar
    BillieJane
    FémininAge : 32Messages : 10

    Sam 28 Nov 2015 - 18:01

    Pratique, merci !
    Hybris
    Hybris
    MasculinAge : 36Messages : 308

    Dim 29 Nov 2015 - 23:05

    merci !
    Dadash_Pearl
    Dadash_Pearl
    FémininAge : 32Messages : 40

    Lun 30 Nov 2015 - 21:29

    Merci o/ c'est super !!
    O'Daim
    O'Daim
    FémininAge : 28Messages : 116

    Mer 2 Déc 2015 - 17:55

    merci :)
    tanagra
    tanagra
    FémininAge : 31Messages : 5

    Jeu 3 Déc 2015 - 0:54

    Merci! :)
    Fullmoon
    Fullmoon
    FémininAge : 26Messages : 162

    Sam 5 Déc 2015 - 4:05

    Merci pour ce tutoriel!
    L0une
    L0une
    FémininAge : 33Messages : 802

    Dim 6 Déc 2015 - 0:35

    Merci !




    Barre de navigation en haut du forum (fixe ou non) - Page 29 854973Sanstitre12

    Les cadeaux !:


    Les Aëro !:


    Evangeline~Mey
    Evangeline~Mey
    FémininAge : 22Messages : 20

    Dim 6 Déc 2015 - 20:41

    Merci!
    Sidiali
    Sidiali
    FémininAge : 27Messages : 21

    Lun 7 Déc 2015 - 16:22

    Merci beaucoup!
    Thyerus
    Thyerus
    MasculinAge : 32Messages : 2

    Mer 9 Déc 2015 - 10:07

    Merci beaucoup~
    Anya-Gackt
    Anya-Gackt
    FémininAge : 32Messages : 59

    Mer 9 Déc 2015 - 11:57

    Merci beaucoup
    Sakura Yuuki
    Sakura Yuuki
    FémininAge : 23Messages : 78

    Jeu 10 Déc 2015 - 19:27

    Merci !



    Barre de navigation en haut du forum (fixe ou non) - Page 29 4njt
    Lamire
    Lamire
    FémininAge : 30Messages : 96

    Ven 11 Déc 2015 - 1:03

    Merci beaucoup~
    megb59
    megb59
    FémininAge : 29Messages : 111

    Ven 11 Déc 2015 - 10:05

    Meric c'est génial, je cherchais ce code depuis un moment!
    Liraco
    Liraco
    FémininAge : 27Messages : 21

    Ven 11 Déc 2015 - 16:15

    Merci ♥
    Ehlènoha
    Ehlènoha
    FémininAge : 35Messages : 27

    Sam 12 Déc 2015 - 19:08

    Merci !
    Ikkaku
    Ikkaku
    MasculinAge : 23Messages : 56

    Dim 13 Déc 2015 - 12:37

    Merci
    ENDLESS-DREAM
    ENDLESS-DREAM
    FémininAge : 32Messages : 31

    Lun 14 Déc 2015 - 23:23

    merci beaucoup :)
    Ayamira
    Ayamira
    MasculinAge : 33Messages : 10

    Mar 15 Déc 2015 - 18:22

    Merci beaucoup, bien utile Wink
    Tanchi
    Tanchi
    Age : 32Messages : 373

    Jeu 17 Déc 2015 - 14:30

    Merci x)



    Barre de navigation en haut du forum (fixe ou non) - Page 29 335854plop
    Contenu sponsorisé


      La date/heure actuelle est Jeu 2 Mai 2024 - 11:14