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.


55 résultats trouvés pour effet_hover

Fangs

[HTML5 & CSS3] - Catégories & forums modernes - Mer 1 Juil 2015 - 18:58




Catégories et forums modernes

Bonjour à tous !  cheers


Me voici avec un nouveau libre service ! Ca faisait très longtemps que j'avais pas codé et du coup cet après midi je me suis dit qu'il était temps de s'y remettre !


Ce que je vous propose la c'est une mise en page des catégories et forums que j'aime pas mal. Je me suis bien débrouillé :)


Pour avoir un petit aperçu je vous invite à regarder cette image. (À noter que la description de forum apparaît au survol de l'image).


Il y a donc trois étapes à suivre pour ce LS donc:
- Le HTML dans les templates
- Le CSS
- Quelques codes dans la description de vos forums et dans votre titres de catégories


Je vous rappelle que, vu que nous modifions les templates il sera necessaire que votre forum tourne sous PHPBB2 ou PUNBB.

Je tiens à rapeler aussi que les codeurs qui créent les ls et les tutoriels font ça bénévolement, il est donc normal que nous attention un crédit de Never Utopia sur vos forums. Merci  :toto:

Assez parlé, tout d'abord on va premièrement se rendre dans le template 'index-box'. Vous allez tout selectionner et remplacer par ceci:


Code:

<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center">
   <tr>
      <td valign="bottom">
         <!-- BEGIN switch_user_logged_in -->
         <span class="gensmall">{LAST_VISIT_DATE}<br />
         {CURRENT_TIME}<br />
         </span>
         <!-- END switch_user_logged_in -->
         <div class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_CAT_DESC}</div>
      </td>
      <td class="gensmall" align="right" valign="bottom">
         <!-- BEGIN switch_user_logged_in -->
         <a class="gensmall" href="{U_SEARCH_NEW}">{L_SEARCH_NEW}</a><br />
         <a class="gensmall" href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a><br />
         <!-- END switch_user_logged_in -->
         <a class="gensmall" href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a>
      </td>
   </tr>
</table>
<div class="index_fc">
<!-- BEGIN catrow -->
   <!-- BEGIN tablehead -->
      <div class="categorie">{catrow.tablehead.L_FORUM}</div>
   <!-- END tablehead -->
   <!-- BEGIN forumrow -->
      <div class="forum">
                <div class="forum_case">
                     <div class="description">
                        {catrow.forumrow.FORUM_DESC}
                     </div>
                     <div class="bottom_section"></div>
                     <div class="bottom_border"></div>                  
                     <div class="forum_name">
                           <a class="forum_link" href="{catrow.forumrow.U_VIEWFORUM}">{catrow.forumrow.FORUM_NAME}</a>
                     </div>
                     <div class="tnm">
                        {catrow.forumrow.POSTS} messages dans {catrow.forumrow.TOPICS} sujets
                     </div>
                </div>
      </div>
   <!-- END forumrow -->

<!-- END catrow -->
</div>

N'oubliez pas de publier votre template. Donc à ce stade-ci, votre forum doit être aussi laid que possible. C'est pourquoi nous allons nous occuper des CSS, et plus particulièrement ceux-ci que vous allez coller dans vos feuilles de style:

Code:

/* DEBUT MISE EN PAGE CATEGORIES ET FORUMS - FANGS */
/* clearfix categorie - regle un bug*/
.index_fc::after {
  clear: both;
  content: "";
  display:block;
}

.categorie {
  position: relative;
  clear: both;
  height: 50px;
  position: relative;
  margin-top: 50px;
  margin-bottom: -18px;
  margin-left: 35px;
  z-index: 2;
}

.categorie_txt {
  position: relative;
  font-size: 40px;
  font-family: 'Josefin Slab', Georgia, serif;
  color: #fff;
  text-shadow: 1px 1px 2px #000;
  text-align: right;
}

.forum {
  width: 980px;
  margin: auto !important;
}

.forum_case {
  float: left;
  width: 490px;
  height: 245px;
  background-color: #111418;
}

.description {
  position: relative;
  width:490px;
  height: 245px;
  margin: 0 !important;
  padding: 0 !important;
}

.bottom_section {
  position: relative;
  margin-top: -40px;
  width: 490px;
  height: 40px;
  background-color: #fff;
  opacity: 0.3;
}

.bottom_border {
  position: relative;
  margin-top: -40px;
  width: 490px;
  height: 40px;
  border-top: 1px solid #fff;
}

.tnm {
  position: relative;
  margin-top: -30px;
  height: 30px;
  width: 480px;
  margin-right: 11px;
  text-align: right;
  font-size: 12px;
  color: #ffffff;
  text-shadow: 1px 1px 2px #000;
  font-family: Georgia, Arial, serif;
}

.forum_name {
  position: relative;
  margin-top: -30px;
  height: 30px;
  width: 480px;
  margin-left: 10px;
  z-index: 2;
}

.forum_link {
  color: #fff !important;
  text-shadow: 1px 1px 2px #000;
  font-variant: small-caps !important;
  text-decoration: none;
  font-size: 16px;
  font-family: Georgia, Arial, serif;
}

.description_img {
  position: relative;
  width: 490px;
  height: 245px;
  margin-top: -245px;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: all;
  transform: all;
}

.description_img:hover {
  position: relative;
  width: 490px;
  height: 245px;
  margin-top: -245px;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: all;
  transform: all;
  opacity: 0.2;
}

.description_txt {
  position: relative;
  width: 460px;
  height: 215px;
  padding: 15px;
  color: #fff;
  text-shadow: 1px 1px 2px #000;
  font-size: 12px;
  font-family: Georgia, Arial, serif;
  text-align: justify;
}

/* FIN MISE EN PAGE CATEGORIES ET FORUMS - FANGS */

Les deux premières étapes sont terminées. Mais ce n'était que du copier-coller. Les deux porchaines risquent d'être un peu plus longues.


Vous allez vous rentre dans la configuration de vos catégories et forums et pour chaque titre de catégories vous allez entrer ce code:


Code:
<span class="categorie_txt">Nom de votre catégorie</span>

Et enfin vous allez vous rendre dans les description de vos forums et allez utiliser ce code:


Code:
<div class="description_txt">
       Lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet lorem impsum dolor sit amet.    
</div>
<div class="description_img">
      <img alt="**" src="URL DE L'IMAGE 490*245" />
</div>

Cette étape peut paraître longue mais elle est nécessaire.


Bien sur vous pouvez personnaliser ces codes à l'infini, mais je vous conseille d'avoir quelques notions en codage pour ne pas... tout casser ?



Si vous avez une question, je vous rappelle que cette section est disponible !


Invité

Barre de navigation «Art Sport» - Dim 17 Mai 2015 - 18:24

{#}html{/#} {#}css{/#} {#}navigation{/#} {#}effet_hover{/#} {#}position_fixe{/#} {#}auteur_Asphodèle{/#} {#}phpBB2{/#}




Barre de navigation «Art Sport»


Voir ce que ça donne

- La version du forum doit être PhpBB2.
- La navigation a largeur d'environ 855 pixels.


Le template overhall_header :::
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>
    {RICH_SNIPPET_GOOGLE}

   <!-- 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');
         if(pm != null) { 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}');
         if(report != null) { report.focus(); }
      <!-- END switch_report_popup -->
      <!-- BEGIN switch_ticker -->
         $(document).ready(function() {            
            Ticker.start({
               height : {switch_ticker.HEIGHT},
               spacing : {switch_ticker.SPACING},
               speed : {switch_ticker.SPEED},
               direction : '{switch_ticker.DIRECTION}',
               pause : {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']);
   _gaq.push(['_trackPageLoadTime']);

   <!-- BEGIN google_analytics_code_bis -->
   _gaq.push(['b._setAccount', '{G_ANALYTICS_ID_BIS}']);
   _gaq.push(['b._trackPageview']);
   <!-- END google_analytics_code_bis -->

    (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 class="navig" align="{MENU_POSITION}"><div class="navigin">{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="" /> <em>Hit</em>skin.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" style="z-index: 10000 !important;">
      <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 />  </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 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 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 -->


Le CSS :::
Code:
/* DEBUT BARRE DE NAVIGATION */
.navig {
  height: 41px;
  top: 0;
  left: 0;
  width: 100%;
  position: fixed;
}
.navigin {
  background-color: #BFCFC5;
  box-shadow: 0 0 5px #615B5A;
  font-family: Helvetica,Verdana,Arial;
  height: 41px;
  margin: auto;
  width: 855px;
  text-align: center;
  vertical-align: top;
}
.navig a.mainmenu {
  text-decoration: none;
  color: #F17272;
  display: inline-block;
  margin: 0px;
  font-family: Calibri;
  font-size: 15px;
  font-weight: 700;
  height: 30px;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 10px;
  text-decoration: none;
  -webkit-transition-duration: 500ms;
  transition-duration: 500ms;
}
.navig a.mainmenu:hover {
  background-color: #8DB09B;
}
.navig a.mainmenu img {
  display: none;
}
/* FIN BARRE DE NAVIGATION */


Pensez à me créditer (Fait par Asphodèle sur Never Utopia.)


code (c) crackle bones



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

Nephilime

Fiche de présentation imagée - Ven 16 Jan 2015 - 20:04



Bonsoir amis n'utopiens !

Je vous présente une fiche de présentation un peu plus sophistiquée que d'ordinaire sans pour autant faire trop lourd à mon sens. Les images de droite transite pour laisser apparaître le texte.

Voici un petit apperçu : initialement puis au survol de d'une image de droite.

Les codes permettant la transition venant d'Okhmhaka (que je remercie vraiment chaleureusement Very Happy ) seul y figure le crédit de NU que vous êtres bien évidemment priés de ne pas retirer.
Les images de droite font 370*185px, celle de gauche fait 178*559px et celle du haut fait 550*112px.


Voici donc la partie CSS à ajouter à la feuille de codage :
Code:
/* ------------------------------- CODES CSS fiches ------------------------------------- */

.bloc_pcp
{
  width: 550px;
  height: 675px;
  margin: auto;
  background-color: #2e2e2c;
  border: 2px solid #202020;
  border-bottom: none;
  color: #101010;
}
.bloc_pcp .entete_pres
{
  width: 550px;
  height: 102px;
  text-align: center;
  padding-top: 10px;
  background: url('http://img15.hostingpics.net/pics/972122Sanstitre.jpg'); /*Image du haut*/
  border-bottom: 2px solid #202020;
 
}
.bloc_pcp .colonne_gauche
{
  width: 172px;
  height: 553px;
  float: left;
  background: url('http://img15.hostingpics.net/pics/887715Sanstitre2.jpg'); /*Image de gauche*/
  padding: 3px;
  border-right: 2px solid #202020;
  border-bottom: 2px solid #202020;
}
.bloc_pcp .colg_text
{
  width: 166px;
  height: 520px;
  overflow: auto;
  overflow-x: hidden
}
.bloc_pcp .police
{
  font-family: Berkshire Swash;
  font-size: 14px;
  letter-spacing: 2px;
}
.bloc_pcp .cate
{
  width: 370px;
  height: 185px;
  overflow: hidden;
  background-color: #a3a3a3;
  border-bottom: 2px solid #202020;
}
.bloc_pcp .cate_img
{
  position: relative;
  z-index: 2;
  width: 370px;
  height: 185px;
  margin-left: 0px;
  -webkit-transition: all ease 2s;
  transition: all ease 2s;
}
.bloc_pcp .cate:hover .cate_img
{
  margin-left: 400px;
  -webkit-transition: all ease 2s;
  transition: all ease 2s;
}
.bloc_pcp .cate_description
{
  position: relative;
  z-index: 1;
  width: 370px;
  height: 185px;
  margin-top: -185px;
  text-align: left;
  font-size: 11px;
  color: #555555;
  padding: 3px;
  overflow: auto;
}

/* ---------------------------- FIN CODES FICHES ------------------------- */



Et la partie HTML à copier dans vos sujets de présentation :
Code:
<link href='http://fonts.googleapis.com/css?family=Berkshire+Swash' rel='stylesheet' type='text/css' />
   <div class="bloc_pcp"><div class="entete_pres"> <br/><span style="font-size: 23px; font-family: Berkshire Swash; letter-spacing: 2px;">[Nom du personnage]</span>

   "citation"</div><div class="colonne_gauche"><div class="colg_text">
   <span class="police">Prénom: </span>


   <span class="police">Nom:</span>


   <span class="police">Date de naissance:</span>


   <span class="police">Clan:</span>


   <span class="police">Rang:</span>


   <span class="police">Arme:</span>


   <span class="police">Signe particulier:</span> </div><a href="http://www.never-utopia.com/" target="_blank"><span style="font-size: 11px;"> |Never Utopia|</span></a></div><div class="cate"><div class="cate_img"><img src="http://img15.hostingpics.net/pics/836909Sanstitre3.jpg" /></div><div class="cate_description"> <br />  <span class="police"> Physique </span>

   texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte</div></div><div class="cate"><div class="cate_img"><img src="http://img15.hostingpics.net/pics/115164Sanstitre4.jpg" /></div><div class="cate_description"> <br />  <span class="police"> Caractère </span>

   texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte</div></div><div class="cate"><div class="cate_img"><img src="http://img15.hostingpics.net/pics/353049Sanstitre5.jpg" /></div><div class="cate_description"><br />  <span class="police"> Histoire </span>

   texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte texte</div></div>
   </div>

Hancok

PA pour forum RP avec image - Sam 3 Jan 2015 - 11:35



Hello, je vais vous proposez ma deuxième PA. Dans celle-ci vous pourrez mettre un titre en image mais aussi une image en fond. Vous pourrez également changer l'onglet "RP du moment" par " top sites" c'est vous qui voyez. Maintenant place à l'aperçu et au code.

Voici un aperçu www et voici ce que donne l'infobulle www


Le code à mettre dans vos CSS:
Code:
 /*....Page d'accueil....*/
.cadre-principal {
  display:block;
  background-image:url(http://zupimages.net/up/16/21/fqiq.png);
  background-repeat: repeat;
  background-position: top center;
  width:820px;
  height:680px;
  margin-left:-5px;
  border-radius:15px 15px 15px 15px;
  border: 3px solid #8F4835;
  text-align: center;
}
.contexte {
float:left;
display:block;
background: #945539;
height:300px;
width:250px;
position:relative;
margin-top: 40px;
margin-left: 20px;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
}
.bloc1{ 
overflow:auto;
margin: auto;
width:235px;
height:270px;
text-align: left;}

.image {
float:left;
display:block;
background:# ;
background-repeat: no-repeat;
background-position: top center;
height:300px;
width:370px;
position:relative;
margin-top: 65px;
margin-left: 20px;
}

.bloc2{
width: 370px;
height: 300px;
margin: auto;
}

.crédit {
float:left;
display:block;
background: #945539;
height:120px;
width:110px;
padding:5px;
position:relative;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
margin-top: 40px;
margin-left: 20px;
text-align: left;
}
.lienutile {
float:left;
display:block;
background: #945539;
height:125px;
width:110px;
padding:5px;
position:relative;
margin-top: 20px;
margin-left: 20px;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
text-align: left;
}
.rpmoment {
float:left;
display:block;
background: #945539;
height:100px;
width:230px;
padding:5px;
position:relative;
margin-top: 20px;
margin-left: 20px;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
text-align: left;
}
.new {
float:left;
display:block;
background: #945539;
height:100px;
width:300px;
padding:5px;
position:relative;
margin-top: 20px;
margin-left: 20px;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
}
.bloc3{
overflow:auto;
width:300px;
height:80px;
text-align: left;
margin: auto;}

.staff {
float:left;
display:block;
background: #945539;
height:100px;
width:180px;
padding:5px;
position:relative;
margin-top: 20px;
margin-left: 20px;
border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
text-align: center;
}
.partenaire {
float:left;
display:block;
background: #945539;
height:50px;
width:770px;
padding:5px;
margin-top: 20px;
margin-left: 20px;
position:relative;

border-top: 3px solid #8F4835;
border-bottom: 3px solid #8F4835;
border-radius:0px 0px 0px 0px;
}
.titre2 {
  color:#4A1C00;font-size:30px;
  text-align:center;text-shadow:1px 1px 0px #fff;font-style: italic;
  font-family: 'Great Vibes', sans-serif;
  font-weight: 700;
  margin-top:-20px;}
div.infobulle{
position: relative;
display: inline-block;

}

div.infobulle span{
display: none;

}

div.infobulle:hover{
background: none;
z-index: 999;
}

div.infobulle:hover span
{
display: inline;
position: absolute;
top: 10px; left: 6px;
}
div.infobulle span{
  background: #8F4835;
  width: 50px;
  height: 70px;
  border: 1px solid #fff;
  border-radius:10px 10px 10px 10px;
 
}
/*....fin page d'accueil....*/


Code à mettre dans votre page d'accueil (HTML):
Code:
     
<div class="cadre-principal">
                                                                       <link href="https://fonts.googleapis.com/css?family=Great Vibes" rel="stylesheet" type="text/css" />                                                                   
   <div>
            <img src="http://zupimages.net/up/16/21/b84x.png" />                         
   </div>
                                                                                                
   <div class="contexte">
                                                                                                         
      <div class="titre2">
                                                                                     Le concept                                                       
      </div>
                                 
      <div class="bloc1">
                                                                   Et est admodum mirum videre plebem innumeram mentibus ardore quodam infuso cum dimicationum curulium eventu pendentem. haec similiaque memorabile nihil vel serium agi Romae permittunt. ergo redeundum ad textum.        Quod cum ita sit, paucae domus studiorum seriis cultibus antea celebratae nunc ludibriis ignaviae torpentis exundant, vocali sonu, perflabili tinnitu fidium resultantes. denique pro philosopho cantor et in locum oratoris doctor artium ludicrarum accitur et bybliothecis sepulcrorum ritu in perpetuum clausis organa fabricantur hydraulica, et lyrae ad speciem carpentorum ingentes tibiaeque et histrionici gestus instrumenta non levia.                 
      </div>
                                                           
   </div>
                                                                                  
   <div class="image">
                               
      <div class="titre2">
                                                                                                                                          
      </div>
                 
      <div class="bloc2">
                             <img style="width: 370px; height: 300px;" src="http://zupimages.net/up/16/21/1cbt.png" />             
      </div>
                                         
   </div>
                                                                              
   <div class="crédit">
                                                                                 
      <div class="titre2">
                                                                             Crédits                                                       
      </div>
                                                            <br />Forum @...  <br /> PA @<a href="http://www.never-utopia.com/" class="postlink" target="_blank" rel="nofollow">Hancok</a> <br /> Design @... <br /> Catégorie @... <br /> Qeel @... <br />                                                                                   
   </div>
                                                                      
   <div class="lienutile">
                                                                                                           
      <div class="titre2">
                                                                       Liens                                                     
      </div>
                                                    <br /><a href="lien du règlement">Le règlement</a>  <br /> <a href="lien des règles">Les règles d'écriture</a> <br /><a href="lien de la présentation">Présentation</a> <br />                                                                                                                                           
   </div>
                                                            
   <div class="rpmoment">
                                                                                   
      <div class="titre2">
                                                                               Les rp du moments                                                                     
      </div>
                                                                <a href="Lien du rp">Titre du rp</a>                                                             
   </div>
                                                                        
   <div class="new">
                                 
      <div class="titre2">
                                                                               Les nouveautés                                                                   
      </div>
                                                                                                         
      <div class="bloc3">
                                                               ¤00/00/00: .... <br />¤00/00/00: ...<br /> ¤00/00/00: ... <br />¤00/00/00:... <br />¤00/00/00 <br />¤00/00/00 <br />                                                 
      </div>
                                                                                     
   </div>
                                                                            
   <div class="staff">
                                                                               
      <div class="titre2">
                                                                           Le staff                                                                   
      </div>
                                                                                               
      <div class="infobulle">
                                                           <img src="http://img4.hostingpics.net/pics/171727ympapa.png" /><span>Pseudo  </span>*                                               
      </div>
                                                                                           
      <div class="infobulle">
                                                           <img src="http://img4.hostingpics.net/pics/423743roypa.png" /><span>  Pseudo</span>*                                               
      </div>
                                                                                             
      <div class="infobulle">
                                                           <img src="http://i39.servimg.com/u/f39/11/27/81/85/ava_pa10.png" /><span>  Pseudo  </span>                                                 
      </div>
                                                                           
   </div>
                                                                          
   <div class="partenaire">
                                                                           
      <div class="titre2">
                                                                             Les partenaires                                                                 
      </div>
                                                                                             
      <marquee direction="left" scrollamount="5" scrolldelay="3" onmouseover="this.stop();" onmouseout="this.start();">
                                                           <a href="http://www.never-utopia.com/" target="_blank"><img src="http://img4.hostingpics.net/pics/120350miniban.jpg" alt="Image hébergée gratuitement chez " border="0" /></a>-<a target="_blank" href="http://www.never-utopia.com/" title="Hebergeur d'image"><img src="http://img4.hostingpics.net/pics/120350miniban.jpg" alt="Hebergeur d'image" border="0" /></a> <a target="_blank" href="http://www.never-utopia.com/" title="Hebergeur d'image"><img src="http://img4.hostingpics.net/pics/120350miniban.jpg" alt="Hebergeur d'image" border="0" /></a>                             
      </marquee>
                                                                           
   </div>
   <div class="clear">
   </div>
                                                                                
</div>


Attention pour l'image du titre ne pas dépasser la taille suivante (mais vous pouvez faire plus petit) pour ne pas déformer la PA: 800*80


Mettre un crédit vers Never-Utopia est obligatoire. Retirer un crédit est interdit.
Si vous avez des problèmes avec ce LS, venez poster ici.

Bloc de partenaires décalés, zoom au survol - Mar 23 Déc 2014 - 0:42



Hello hello,

Un petit libre service pour afficher la liste de ses partenaires, créé à la demande de 1charlotte qui a réalisé le schéma.

Informations


Rendu visuel :




  • Largeur du bloc : 791px.

  • Les images de partenaire font 88px * 31px.

  • 7 partenaires par ligne


Vous pouvez personnaliser le crédit vers Never Utopia, mais ne l'enlevez pas


Les codes


Les codes ne sont pas sous hide, vous pouvez les tester directement.
Mais si vous le souhaitez, un merci est toujours accepté, personne ne vous mangera.
Et ça fait toujours plaisir (◕‿◕✿)


HTML :
Vous pouvez le placer où vous souhaitez dans vos templates, une page html, la PA...

Spoiler:


Le CSS
PA > Affichage > Couleurs > Feuille de style CSS

Spoiler:


En cas de problème ou de difficulté à personnaliser, il y a une partie "Un problème en codage" qui est là pour ça.


Placement

Par exemple pour le mettre en dessous du QEEL et de la chatbox du bas, on peut le mettre dans le template index_body après les lignes
Code:
{CHATBOX_BOTTOM}
<br clear="all" />


Ce qui peut donner :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 GJInaN2




On peut aussi mettre le code dans un message d'accueil (PA > Affichage > Page d'accueil > Généralités)
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 N0gIb0e

Akina-chan

Fiche de pub futuriste - Jeu 11 Déc 2014 - 14:57



Coucou ! Je vous propose une fiche de pub :)

Un p'tit aperçu de celle-ci en image :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 8bw1

Elle te plaît ? Les codes sont à toi :)
Code:
<style type="text/css">.fond {width: 650px; background-image: url('http://zupimages.net/up/14/23/x35y.jpg'); border: 3px solid #ffffff; color: #ffffff; font-size: 20px; margin: auto;} .nom_forum {font-family: 'Audiowide', cursive; font-size: 40px; color: #ffffff; text-align: center; display: block;  margin-right: auto; margin-left: auto; margin-top: -10px;} .conteneur {margin: auto; position: relative; height: 100px; width: 100px; overflow: visible; display: inline-block;} .contenu_bulle {width: 100px; height: 102px; background: #004d50; opacity: 0; overflow: auto; -webkit-transition: 0.5s all linear; transition: 0.5s all linear; font-family: Unica One; font-size: 12px; text-align: justify; position: absolute; top: 0em;} .contenu_bulle:hover {opacity: 0.7;} .contenu_bulle a {color: #000000;}</style>
<div class="fond"><img style="width: 650px;" alt="image" src="http://zupimages.net/up/14/50/0p5m.png" />
  <span class="nom_forum">Atlantis Insurrection</span>
<table style="position: relative; top: -4em;"><tr><td style="width: 30%; font-family: 'Iceland', cursive;"><img alt="" border="0" src="http://image.noelshack.com/fichiers/2014/48/1416995936-722407chevronbis.png" />AI, c'est :
  <div style="border: 2px solid #004d50;"><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Bientôt 2 ans de RP ;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />103 Héros;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Le forum où vous créez votre Héros;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Un Univers sombre et dangereux;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Des Missions (MJ) et Intrigues;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Un Système de compétences;<br /><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" />Une gestion du gène ATA.</div><br /></td>
<td colspan="2" style="width: 70%; font-family: 'Iceland', cursive;"><img src="http://image.noelshack.com/fichiers/2014/48/1416995936-722407chevronbis.png" />Contexte :   
  <div style="border: 2px solid #004d50; height: 168px; overflow: auto;"> « Chacun d'entre vous s'est proposé pour cette mission et vous représentez une douzaine de pays. Vous êtes les les meilleurs et les plus brillants du monde et à la vue de cette aventure dans laquelle nous allons nous embarquer, vous êtes aussi les plus courageux.<br />J'espère que nous reviendrons tous un jour en ayant découvert un tout nouveau domaine à explorer pour l'Humanité, mais comme vous le savez tous, nous pourrions ne jamais revenir chez nous.<br />Je vous offre à tous une chance de retirer votre participation...<br />...<br />Commencez la séquence d'ouverture ! »</div>
<img src="http://image.noelshack.com/fichiers/2014/48/1416995936-722407chevronbis.png" />Actuellement sur AI :   
  <div style="border: 2px solid #004d50;"><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /> nouveauté; <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /> nouveauté; <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /> nouveauté; <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /> nouveauté.</div></td></tr>

<tr><td style="font-family: 'Iceland', cursive;" colspan="3"><img src="http://image.noelshack.com/fichiers/2014/48/1416995936-722407chevronbis.png" />Nous recherchons :
     
<div class="conteneur"><img style="border: 2px solid #004d50;" src="http://www.myfconline.com/character_avatars/9050_22528.gif" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div><div class="conteneur"><img style="border: 2px solid #004d50;" src="http://staceyuk.chaotic-creative.com/coppermine/cpg1416/albums/wpw-20080214/thumb_mckay_plain.png" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div><div class="conteneur"><img style="border: 2px solid #004d50;" src="http://img.photobucket.com/albums/v17/LoveEmpress/MyIcons3/lizabethdaily_2weekch_10.png" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div><div class="conteneur"><img style="border: 2px solid #004d50;" src="http://kaisa12.bloxode.com/images/miniature/113588688139.jpg" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div><div class="conteneur"><img style="border: 2px solid #004d50;" src="http://www.dreamwidth.org/userpic/164424/168770" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div><div class="conteneur"><img style="border: 2px solid #004d50;" src="http://www.hollow-art.com/files/bases/2014/08/20140810/19720/Rhona%20Mitra%20in%20Strike%20back-2517880.png" /> <div class="contenu_bulle">Nom Prénom<br />Rôle<br /><a href="#">Voir</a></div></div></td></tr>



<tr><td colspan="3" style="font-family: 'Iceland', cursive;"><img src="http://image.noelshack.com/fichiers/2014/48/1416995936-722407chevronbis.png" />Quelques liens :

<img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /><a rel="nofollow" target="_blank" class="postlink" href="#">Contrat de confidentialité</a> <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /><a rel="nofollow" target="_blank" class="postlink" href="#">Contexte</a> <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /><a rel="nofollow" target="_blank" class="postlink" href="#"></a><a rel="nofollow" target="_blank" class="postlink" href="#"><span style="color: red;"> Se porter candidat </span></a><img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /><a rel="nofollow" target="_blank" class="postlink" href="#">Poser une question</a> <img src="http://image.noelshack.com/fichiers/2014/20/1400069736-minicat-new.png" /><a rel="nofollow" target="_blank" class="postlink" href="#">Persos vacants</a>

<div style="text-align: center;"><a href="http://www.never-utopia.com/">Never Utopia</a></td></tr></table></div>
<link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Audiowide|Iceland" />


Voilà ! Profitez bien <3

Onyx

Qeel à onglets fantasy - Sam 22 Nov 2014 - 0:07



Qeel à onglets fantasy



Voici un petit LS d'un qeel à onglets que j'ai fait pour la demande de The One Pandemonium et que j'ai un peu remanié.

Pour voir l'aperçu, onglet "nains" actif : cliquez ici.
Pour voir l'aperçu, onglet "elfes" actif et survol de l'image du groupe : cliquez ici.

Ce LS est en trois parties.
  • Tout d'abord, nous allons installer le qeel dans le template et regarder comment ajouter/supprimer/modifier des groupes.
  • Puis, nous allons le mettre en forme à l'aide du CSS.
  • Enfin, nous allons voir comment changer les textes préprogrammés dans le qeel.


La largeur du Qeel est de 800 pixels et l'image des groupes (celle tout en bas) fait 800x200 pixels.


Mettre un crédit vers Never-Utopia est obligatoire.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^





1. Corps du qeel (Template Index_Body)



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

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

Puis, il va nous falloir trouver le "BEGIN disable_viewonline" et le "END disable_viewonline". Normalement, ils sont respectivement aux lignes 173 et 221 du template.

Nous allons remplacer tout ce qu'il y a entre ces deux lignes par :
Code:
<link href='http://fonts.googleapis.com/css?family=Great+Vibes' rel='stylesheet' type='text/css' />
<div id="qeel">
 
  <div id="qeel_info_members">
    <span id="totaluser">{TOTAL_USERS}</span>
    <span id="totalpost">{TOTAL_POSTS}</span>
    <span id="newuser">{NEWEST_USER}</span>.
    <span id="totalonline">{TOTAL_USERS_ONLINE}</span>.
    <div id="userlists">
      <div id="loggedlist">{LOGGED_IN_USER_LIST}</div>
      <div  id="totalconn"><table cellspacing="0" cellpadding="0">{L_CONNECTED_MEMBERS}</table></div>
    </div>
    <div id="qeel_title">
      Qui va là?
    </div>
   
    <script type="text/javascript">
      document.getElementById('totaluser').innerHTML=document.getElementById('totaluser').innerHTML.replace(/Nous avons/,"Nos");
      document.getElementById('totaluser').innerHTML=document.getElementById('totaluser').innerHTML.replace(/membres enregistrés/,"guerriers");
      document.getElementById('totalpost').innerHTML=document.getElementById('totalpost').innerHTML.replace(/Nos membres ont posté un total de/,"ont gagné");
      document.getElementById('totalpost').innerHTML=document.getElementById('totalpost').innerHTML.replace(/messages/,"batailles");
      document.getElementById('totalpost').innerHTML=document.getElementById('totalpost').innerHTML.replace(/message/,"bataille");
      document.getElementById('newuser').innerHTML=document.getElementById('newuser').innerHTML.replace(/L'utilisateur enregistré le plus récent est/,"et notre plus nouvelle recrue est");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Il y a en tout/,"Il y a");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/utilisateurs en ligne ::/,"aventuriers qui parcourent nos terres, dont");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/utilisateur en ligne ::/,"aventurier qui parcourt nos terres, dont");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Enregistrés/,"guerriers");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Enregistré/,"guerrier");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Invisibles/,"fantômes");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Invisible/,"fantôme");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Invités /,"inconnus");
      document.getElementById('totalonline').innerHTML=document.getElementById('totalonline').innerHTML.replace(/Invité /,"inconnu");
      document.getElementById('loggedlist').innerHTML=document.getElementById('loggedlist').innerHTML.replace(/Utilisateurs enregistrés/,"Guerriers présentement sur nos terres");
      document.getElementById('totalconn').innerHTML=document.getElementById('totalconn').innerHTML.replace(/Membres connectés/,"Guerriers ayant été présents");
    </script>
  </div>
 
  <div id="qeel_bottom">
   
    <script type="text/javascript">
        //<!--
                function change_qeelonglet(name)
                {
                        document.getElementById('qeelonglet_'+anc_qeelonglet).className = 'qeelonglet_0 qeelonglet';
                        document.getElementById('qeelonglet_'+name).className = 'qeelonglet_1 qeelonglet';
                        document.getElementById('contenu_qeelonglet_'+anc_qeelonglet).style.display = 'none';
                        document.getElementById('contenu_qeelonglet_'+name).style.display = 'block';
                        anc_qeelonglet = name;
                }
        //-->
    </script>
   
    <span class="qeelonglet_1 qeelonglet" id="qeelonglet_Groupe1" onclick="javascript:change_qeelonglet('Groupe1');">
      <font color="#5e90c4">Groupe 1</font>
    </span>
    <span class="qeelonglet_0 qeelonglet" id="qeelonglet_Groupe2" onclick="javascript:change_qeelonglet('Groupe2');">
      <font color="orange">Groupe 2</font>
    </span>
    <span class="qeelonglet_0 qeelonglet" id="qeelonglet_Groupe3" onclick="javascript:change_qeelonglet('Groupe3');">
      <font color="#4dc740">Groupe 3</font>
    </span>
    <span class="qeelonglet_0 qeelonglet" id="qeelonglet_Groupe4" onclick="javascript:change_qeelonglet('Groupe4');">
      <font color="#6e4819">Groupe 4</font>
    </span>
    <span class="qeelonglet_0 qeelonglet" id="qeelonglet_Groupe5" onclick="javascript:change_qeelonglet('Groupe5');">
      <font color="#c50c0c">Groupe 5</font>
    </span>
   
    <div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe1">
      <img src="url_image_groupe_1" alt="Image du groupe 1" />
      <div class="qeel_desc">
        Description du groupe 1
      </div>
    </div>
    <div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe2">
      <img src="url_image_groupe_2" alt="Image du groupe 2" />
      <div class="qeel_desc">
        Description du groupe 2
      </div>
    </div>
    <div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe3">
      <img src="url_image_groupe_3" alt="Image du groupe 3" />
      <div class="qeel_desc">
        Description du groupe 3
      </div>
    </div>
    <div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe4">
      <img src="url_image_groupe_4" alt="Image du groupe 4" />
      <div class="qeel_desc">
        Description du groupe 4
      </div>
    </div>
    <div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe5">
      <img src="url_image_groupe_5" alt="Image du groupe 5" />
      <div class="qeel_desc">
        Description du groupe 5
      </div>
    </div>
   
    <script type="text/javascript">
        //<!--
                var anc_qeelonglet = 'Groupe1';
                change_qeelonglet(anc_qeelonglet);
        //-->
    </script>
   
  </div>
</div>


Pour ce qui est rajouter, d'enlever ou de modifier un groupe, cela se fait par deux manipulations. Premièrement, on ajoute/enlève/modifie le nom du groupe. Puis, on enlève/ajoute/modifie la description du groupe.

Les noms des groupes ressemblent à ceci :
Code:
<span class="qeelonglet_0 qeelonglet" id="qeelonglet_Groupe5" onclick="javascript:change_qeelonglet('Groupe5');">
      <font color="#c50c0c">Groupe 5</font>
    </span>


Quant aux descriptions des groupes, elles correspondent à ceci :
Code:
<div class="contenu_qeelonglet" id="contenu_qeelonglet_Groupe5">
      <img src="url_image_groupe_5" alt="Image du groupe 5" />
      <div class="qeel_desc">
        Description du groupe 5
      </div>
    </div>





2. Mise en forme (CSS)



Si vous regardez votre qeel, vous voyez sans doute que ce n'est pas très esthétique pour le moment. Du coup, nous allons mettre en forme notre qeel à 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:
/************************************************************ DÉBUT QEEL ************************************************************/

/*Fond du qeel*/
#qeel {
  position: relative;
  width: 800px;
  height: 680px;
  margin: auto;
  margin-top: 50px;
  margin-bottom: 50px;
  background: #141313 url('http://img15.hostingpics.net/pics/570241qeel2.png') no-repeat top center;
  border-radius: 20px;
  box-shadow: 0px 0px 10px #000000;
}


/*Titre du qeel*/
#qeel_title {
  color: goldenrod;
  font-size: 44px;
  font-family: 'Great Vibes', cursive;
  text-shadow: 1px 1px 2px #000000;
  padding-left: 15px;
}


/*Carré des informations sur les membres*/
#qeel_info_members {
  position: absolute;
  top: 25px;
  left: 25px;
  width: 320px;
  height: 290px;
  background-color: rgba(20, 19, 19, 0.6);
  border-radius: 10px;
  box-shadow: 0px 0px 3px #141313;
  padding: 10px;
  color: #c9c7be;
  font-size: 13px;
  font-family: arial;
  letter-spacing: 1px;
  text-align: left;
}


/*Mise en forme des listes des membres connectés*/
#userlists {
  margin-top: 5px;
  height: 205px;
  overflow: auto;
}
#totalconn {
  margin-top: 5px;
}
#totalconn .row1{
  background: transparent;
  vertical-align: top;
}
#totalconn .gensmall {
  color: #c9c7be;
  font-size: 13px;
  font-family: arial;
  letter-spacing: 1px;
  text-align: left;
}


/*Section des groupes*/
#qeel_bottom {
  position: absolute;
  top: 418px;
  left: 0px;
  width: 800px;
  text-align: center; 
}


/*Nom des groupes*/
.qeelonglet {
  display: inline-block;
  margin-left: 20px;
  margin-right: 20px;
  margin-top: 2px;
  height: 40px;
  font-size: 38px;
  font-family: 'Great Vibes', cursive;
  letter-spacing: 1px;
  text-shadow: 0px 0px 3px #000000;
  opacity: 0.6;
}
/*Groupe au survol*/
.qeelonglet_0:hover {
  cursor: pointer;
  opacity: 0.8;
}
/*Groupe actif*/
.qeelonglet_1 {
  opacity: 1;
}


/*Description des groupes*/
.contenu_qeelonglet {
  position: relative;
  width: 800px;
  height: 200px;
  margin-top: 20px;
  display: none;
}
/*Images des groupes*/
.contenu_qeelonglet img {
  width: 800px;
  height: 200px;
  border-radius: 0px 0px 20px 20px;
}
/*Descriptions des groupes*/
.qeel_desc {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 780px;
  height: 180px;
  background-color: rgba(20, 19, 19, 0.6);
  border-radius: 0px 0px 20px 20px;
  padding: 10px;
  color: #c9c7be;
  font-size: 13px;
  font-family: arial;
  letter-spacing: 1px;
  text-align: justify;
  overflow: auto;
  transition: 0.5s;
  opacity: 0;
}
/*Descriptions des groupes au survol*/
.contenu_qeelonglet:hover .qeel_desc {
  opacity: 1;
}

/************************************************************ FIN QEEL ************************************************************/





3. Personnaliser les textes (Template Index_Body)



De base, ForumActif a des phrases déjà formatées pour le qeel.
Par exemple, il y a "Nous avons X membre enregistré", "Nos membres ont posté un total de X messages" ou encore "L'utilisateur enregistré le plus récent est NOM".

Dans mon qeel, j'ai modifiés ces phrases pour que cela donne "Nos X guerriers" "ont gagné X batailles" et "et notre plus nouvelle recrue est Admin".


Mais peut-être que vous n'aimez pas ces phrases ou que vous voulez les adapter autrement. Alors direction le template "Index_body"!

Vous trouverez à plusieurs endroits des parties de code qui ressemblent à ceci :
Code:
<script type="text/javascript">document.getElementById('newuser').innerHTML=document.getElementById('newuser').innerHTML.replace(/L'utilisateur enregistré le plus récent est/,"et notre plus nouvelle recrue est");</script>


Ce sont ces bouts de codes qui viennent modifier les phrases préfabriqués de ForumActif. Donc pour commencer, il faut tout d'abord regarder sur quelle phrase préfabriquée le code agit.

Pour cela, nous allons regarder le début du code où il y a :
Code:
document.getElementById('newuser').innerHTML=document.getElementById('newuser').innerHTML.



Ce qu'il y a entre parenthèses correspond l'id de la phrase qui est affectée.
Le "newuser" veut donc dire que cela affecte la phrase :
"L'utilisateur enregistré le plus récent est NOM".


Dans ce qeel, chaque phrase préfabriqué à son propre id. Les voici :


newuser : "L'utilisateur enregistré le plus récent est NOM"

totalpost : "Nos membres ont posté un total de X messages"

totaluser : "Nous avons X membre enregistré"

totalonline : "Il y a en tout X utilisateur en ligne :: X Enregistré, X Invisible et X Invité"

loggedlist : "Utilisateurs enregistrés : NOM"

totalconn : "Membres connectés au cours des 24 dernières heures : NOM"


Maintenant fois qu'on sait qu'elle phrase est affectée, nous allons la modifier.

Donc, on va à la fin de la ligne de code qu'on parlait tout à l'heure et on trouve le :
Code:
replace(/L'utilisateur enregistré le plus récent est/,"La nouvelle recrue est");


On met la partie qu'on veut remplacer entre les / / par ce qui la remplace entre les " ".

C'est tout aussi simple que cela! À savoir que s'il y a des phrases au pluriel ET au singulier, il faut s'assurer de bien modifier les deux options.


C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans "Un problème avec un code" ou dans "Personnalisations" si vous avez de la difficulté à le personnaliser.

À plus !

Fangs

Menu déroulant moderne (HTML & CSS3) - Lun 10 Nov 2014 - 22:41






Menu déroulant moderne

(HTML & CSS3)


Bonjour à tous ! :gentleman:

Alors, comme son nom l'indique, dans ce ls, je vais vous ai réalisé un petit menu déroulant très moderne pour vos forums et vos pages web. Il est uniquement fait à partir de HTML et de CSS3, la dernière version du CSS qui propose beaucoup de possibilités.

Ce ls est donc divisé en deux parties:

- Le codage HTML
- Le codage CSS

Sachez que ce menu déroulant, qui peut servir de barre de navigation, est totalement personnalisable ! Il suffit de changer les textes dans le HTML et de changer des paramètres dans le CSS, et pour les plus à l'aise en codage, modifier cette barre à l'infini et selon leurs envies !
Attention
Je vous rappelle que les codeurs qui créent les ls et les tutoriels font ça bénévolement, il est donc normal que nous attention un crédit de Never Utopia sur vos forums. Merci :toto:

Assez parlé, passons aux choses sérieuses.

Aperçu de la barre de navigation

Aperçu
Voici donc un petit aperçu de ce que cela donne:
barre de navigation ; barre au survol

Codage: HTML


Voici donc le code que vous pouvez disposer où vous voulez: dans une page web, une template ou dans un message. (Si vous publiez ce code dans une template, n'oubliez pas de la publier par la suite).

Code:

<center>
        
   <div class="barre_nav">
               
      <div class="nav_1">
                          
         <div class="nav_txt">
                    Titre 1<br /><br />       
         </div><br /><a href="#">  Lien 1</a><br /><a href="#">  Lien 2</a><br /><a href="#">  Lien 3</a><br /><a href="#">  Lien 4</a><br />     
      </div>
               
      <div class="nav_2">
                          
         <div class="nav_txt">
                    Titre 2<br /><br />       
         </div><br /><a href="#">  Lien 1</a><br /><a href="#">  Lien 2</a><br /><a href="#">  Lien 3</a><br /><a href="#">  Lien 4</a><br />   
      </div>
               
      <div class="nav_3">
                          
         <div class="nav_txt">
                    Titre 3<br /><br />       
         </div><br /><a href="#">  Lien 1</a><br /><a href="#">  Lien 2</a><br /><a href="#">  Lien 3</a><br /><a href="#">  Lien 4</a><br />
      </div>
               
      <div class="nav_4">
                          
         <div class="nav_txt">
                    Titre 4<br /><br />       
         </div><br /><a href="#">  Lien 1</a><br /><a href="#">  Lien 2</a><br /><a href="#">  Lien 3</a><br /><a href="#">  Lien 4</a><br /> 
      </div>
               
      <div class="nav_5">
                          
         <div class="nav_txt">
                    Titre 5<br /><br />       
         </div><br /><a href="#">  Lien 1</a><br /><a href="#">  Lien 2</a><br /><a href="#">  Lien 3</a><br /><a href="#">  Lien 4</a><br />   
      </div>
           
   </div>
</center>


Codage: CSS


Et voici donc le code CSS qui en découle ! :)

Code:

/* DEBUT BARRE DE NAVIGATION */
.nav_txt {
  text-align: center;
  font-variant: small-caps;
  font-family: Gerogia;
  color: #e6e7e7;
  background: #091016;
  font-size: 20px;
  height: 25px;
  text-shadow:1px 1px 2px #000000;
  border-bottom: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
}
.barre_nav a{
  text-align: center;
  font-variant: small-caps;
  font-family: Gerogia;
  color: #e6e7e7;
  font-size: 15px;
  margin-left: 5px;
  text-decoration: none !important;
  -moz-transition:  0.2s all;
  -webkit-transition:  0.2s all;
  -o-transition:  0.2s all;
  -ms-transition:  0.2s all;
  -khtml-transition:  0.2s all;
  transition:  0.2s all;
}
.barre_nav a:hover {
  text-decoration: none !important;
  letter-spacing: 2px;
  -moz-transition:  0.2s all;
  -webkit-transition:  0.2s all;
  -o-transition:  0.2s all;
  -ms-transition:  0.2s all;
  -khtml-transition:    0.2s all;
  transition:    0.2s all;
}
.barre_nav {
  width:960px; /* à adapter selon la largeur de votre forum */
  height:175px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  top: 100px; /* à adapter selon les éléments présents au dessus de votre barre */
  overflow: hidden;
  z-index: 10;
  border-top: 1px solid #e6e7e7;
}
.nav_1 {
  width:190px;
  height:25px;
  background: #080e13;
  float: left;
  border: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
  overflow: hidden;
}
.nav_2 {
  width:190px;
  height:25px; 
  background: #080e13; 
  float: left;
  border: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
  overflow: hidden;
}
.nav_3 {
  width:190px;
  height:25px;
  background: #080e13; 
  float: left;
  border: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
  overflow: hidden;
}
.nav_4 {
  width:190px;
  height:25px;
  background: #080e13;
  float: left;
  border: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
  overflow: hidden;
}
.nav_5 {
  width:190px;
  height:25px; 
  background: #080e13;
  float: left;
  border: 1px solid #091016;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
  overflow: hidden;
}
.nav_1:hover {
  width:190px;
  height:125px;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
}
.nav_2:hover {
  width:190px;
  height:125px; 
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
}
.nav_3:hover {
  width:190px;
  height:140px;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
}
.nav_4:hover {
  width:190px;
  height:125px;
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
}
.nav_5:hover {
  width:190px;
  height:125px; 
  box-shadow: 0px 0px 3px #000000;
  -moz-transition:  0.5s all;
  -webkit-transition:  0.5s all;
  -o-transition:  0.5s all;
  -ms-transition:  0.5s all;
  -khtml-transition:  0.5s all;
  transition:  0.5s all;
}

/* FIN BARRE DE NAVIGATION */


Question ?

Si vous avez une question, je vous rappelle que cette section est disponible !

Voilà, voilà, je vous remercie. :)


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

Onyx

Signature à onglets - Jeu 25 Sep 2014 - 2:56




LS - Signature à onglets


Voici un petit LS de signature à onglets j'ai fait pour la demande de Madii-x.

Pour voir l'aperçu de l'onglet "Signature" : cliquez ici.
Pour voir l'aperçu de l'onglet "Cadeaux" : cliquez ici.
Pour voir l'aperçu de l'onglet "Moi" : cliquez ici.

Ce LS est en deux parties.
  • Tout d'abord, nous allons créer notre signature dans une page html.
  • Puis, nous allons mettre l'iframe qui contient la page html dans notre signature.

  • Puisqu'on se sert d'une page html, il que vous ayez votre propre forum pour héberger la page html ou que votre administrateur accepte de le faire sur son propre forum.

  • Il ne faudrait pas que l'image de l'onglet "signature" dépasse 500x200 pixels.

  • L'image dans l'onglet "moi" a une hauteur de 180 pixels.
Merci de ne pas enlever le crédit vers Never-Utopia.



1. Le corps de la signature (Page HTML)


Pour commencer, nous allons créer une page HTML dans laquelle nous allons mettre le code de notre signature.

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES PAGES HTML

Ensuite, on clique sur le bouton vert "Création en mode avancé (HTML)"
On choisit un nom, comme "Signature de NOM" par exemple.
Enfin, on met le code suivant et on enregistre :
Code:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Signature</title>
<link href='http://fonts.googleapis.com/css?family=Abel' rel='stylesheet' type='text/css' />
<script type="text/javascript">
        //<!--
                function change_ongletii(name)
                {
document.getElementById('ongletii_'+anc_ongletii)
.className = 'ongletii_0 ongletii';
document.getElementById('ongletii_'+name).
className = 'ongletii_1 ongletii';
document.getElementById('contenu_ongletii_'+anc_ongletii)
.style.display = 'none';
document.getElementById('contenu_ongletii_'+name).
style.display = 'block';
                        anc_ongletii = name;
                }
        //-->
</script>
<style type="text/css">
/*Fond par HTML*/
body {
  margin: 0px;
}

/*Tableau qui entoure la sign*/
.signii {
  border: 1px solid #fe285a;
  width: 502px;
  height: 218px;
}
 
/*Onglets*/
.ongletii {
  background: #fe285a;
  height: 20px;
  font-size: 16px;
  color: white;
  font-family: abel;
  text-transform: uppercase;
  text-align: center;
  border-bottom: 1px solid #fe285a;
}
/*Onglet au survol*/
.ongletii_0:hover {
  cursor: pointer;
}
/*Onglet actif*/
.ongletii_1 {
  background: #c8254b;
}
 
/*Contenu des onglets*/
.contenu_ongletii {
  background: url('http://i39.servimg.com/u/f39/18/85/39/07/transi10.jpg');
  display: none;
  font-family: abel;
  color: #fe285a;
  font-size: 14px;
}
 
/*Contenu onglet SIGNATURE*/
.inside_1 {
  height: 200px;
}

/*Contenu onglet CADEAUX*/
.inside_2 {
  overflow: auto;
  height: 200px;
}

/*Contenu onglet MOI*/
.inside_3 {
  padding: 9px;
  padding-right: 0px;
  height: 182px;
}

/*Image dans contenu onglet MOI*/
.imgii {
  float: left;
  height: 180px;
  border: 1px solid #fe285a;
  margin-right: 10px;
}
 
/*Texte dans contenu onglet MOI*/
.textii {
  height: 172px;
  padding-right: 10px;
  text-align: justify;
  overflow: auto;
}

/*Liens dans contenu onglet MOI en bas*/
.linksii a {
  display: inline-block;
  color: #fe285a;
  font-size: 14px;
  font-weight: bold;
  text-decoration: none!important;
  margin-right: 20px;
  margin-bottom: -8px;
}
/*Liens au survol dans contenu onglet MOI en bas*/
.linksii a:hover {
  color: #7a162d;
  font-size: 14px;
}
</style>
</head>
<body>
  <table align="center" border="0" cellpadding="0" cellspacing="0" class="signii"><tr>
    <td width="33%">
      <div onmouseover="javascript:change_ongletii('1er');" id="ongletii_1er" class="ongletii_1 ongletii">
        Signature
      </div>
    </td>
    <td width="34%">
      <div onmouseover="javascript:change_ongletii('2eme');" id="ongletii_2eme" class="ongletii_0 ongletii">
        Cadeaux
      </div>
    </td>
    <td width="33%">
      <div onmouseover="javascript:change_ongletii('3eme');" id="ongletii_3eme" class="ongletii_0 ongletii">
        Moi
      </div>
    </td></tr><tr>
    <td colspan="3">
      <div id="contenu_ongletii_1er" class="contenu_ongletii">
        <div align="center" class="inside_1">
          Contenu de l'onglet "Signature"
        </div>
      </div>
      <div id="contenu_ongletii_2eme" class="contenu_ongletii">
        <div align="center" class="inside_2">
          Contenu de l'onglet "Cadeaux"
        </div>
      </div>
      <div id="contenu_ongletii_3eme" class="contenu_ongletii">
        <div class="inside_3">
          <img src="URL DE L'IMAGE DE L'ONGLET MOI" alt=" " class="imgii" />
          <div class="textii">
            Texte de l'onglet moi.
          </div>
          <div align="right" class="linksii">
            <a href="LIEN VERS LE PROFIL" target="_blank">Profil</a>
            <a href="LIEN VERS LES MP" target="_blank">MP</a>
            <a href="http://www.never-utopia.com/t51249-signature-a-onglets" target="_blank">N-U</a>
          </div>
        </div>
      </div>
    </td></tr>
  </table>
<script type="text/javascript">
        //<!--
                var anc_ongletii = '1er';
                change_ongletii(anc_ongletii);
        //-->
</script>
</body>
</html>


Changer les images/texte
Si jamais vous voulez changer ce qu'il y a dans les onglets, c'est indiqué par "contenu de l'onglet signature", "contenu de l'onglet cadeaux", "URL DE L'IMAGE DE L'ONGLET MOI", "texte de l'onglet moi", etc... Je vous fais confiance pour vous y retrouver Wink

Modifier les onglets pour qu'ils changent au clic
Il vous suffit de trouver tous les endroits où il est indiqué "onmouseover" et de le remplacer par "onclick".

Comment modifier le style ou la mise en forme
Dans ce code, il y a aussi du CSS qui met en forme la signature. Si vous voulez modifier la police, les couleurs ou autres éléments de mise en forme, c'est là qu'il faudra le faire. Le CSS est entre les balises suivantes :
Code:
<style type="text/css">
VOTRE CSS EST ICI
</style>


Lorsque vous modifiez votre signature, il faut cliquer sur l'engrenage où c'est inscrit "HTML", pas l'engrenage normal. Sinon, cela va se déformer d'une façon très très horrible.



1. Mettre l'iframe (espace signature)


Maintenant que la page HTML est créée avec votre signature à l'intérieur, on va aller la mettre dans votre profil à l'aide d'un iframe.

Pour cela, nous allons aller dans :
> PROFIL
> > SIGNATURE

Puis, nous allons mettre le code suivant :
Code:
<iframe src="LIEN DE LA PAGE HTML" style="display: block; margin: auto; height: 230px; width: 510px; border: none;"></iframe>


Comme vous pouvez le deviner, il faut mettre le lien de la page HTML là où c'est écrit. Mais peut-être que vous vous demandez d'où sort ce lien? Ce n'est pas trop compliqué ^^

Quand on va dans la gestion de nos pages HTML, la dernière qui a été enregistrée (donc normalement, notre signature), se trouve en haut de la liste. Il vous suffit de copier l'url de votre page HTML et de la mettre là où nous l'avons vu ci-haut. C'est vraiment écrit "URL DU LIEN", alors vous ne pouvez pas vous tromper Wink

C'est tout! Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans "Un problème avec un tutoriel".

À plus !

Onyx

Les filtres (CSS3) - Jeu 4 Sep 2014 - 6:21




Tuto - Les filtres (CSS3)


Certains auront peut-être vu le tutoriel d'Alzufen sur comment faire passer une image "noir et blanc" à "couleur" ou ce tutoriel de Sparrow-Style sur l'opacité. Les filtres sont une nouveauté du CSS3 qui appliquent un certain filtre sur une image et peuvent être utilisés pour parvenir aux mêmes résultats que dans ces deux tutoriels. Il existe 10 filtres différents et ce tuto vous permettra d'apprendre à les connaître et les utiliser.

Voici ce que ce tutoriel va contenir :
  • 1. Ce qu'est un filtre et comment s'en servir?
  • 2. Greyscale => Échelle de noir et blanc
  • 3. Blur => Flou
  • 4. Saturate => Saturation
  • 5. Sepia
  • 6. Hue Rotate => Roue des couleurs/teintes
  • 7. Invert => Invertion
  • 8. Brightness => Luminosité
  • 9. Contrast => Contraste
  • 10. Opacity => Opacité
  • 11. Drop Shadow
  • 12. Comment faire pour que l'effet soit progressif?
  • 13. Comment additionner plusieurs filtres

À noter que les filtres fonctionnent avec Chrome, Opéra et Firefox, sauf l'opacité qui est supporté partout.




1. Les filtres (Ce que c'est)


C'est quoi exactement un filtre?
Dites-moi, si vous mettez une paire de lunettes roses, qu'est-ce que vous verrez? Et bien vous verrez la même chose que normalement, mais en rose. Et plus la teinte de vos lunettes sera forte, plus ce que vous verrez semblera rose.
Un filtre fonctionne de la même façon! En appliquant un filtre sur une image, c'est comme de mettre un calque invisible avec un effet spécial sur l'image. Plus vous intensifierez le filtre, plus l'image sera affectée par l'effet spécial.

Mais plus encore, quand on parle de codage, c'est quoi un filtre?
C'est simplement une propriété CSS à laquelle on donne une valeur pour déterminer l'intensité du filtre.

Et comment on l'utilise?
La première des choses est de mettre une image à l'endroit que l'on veut. Après tout, les filtres ne s'appliquent que sur les images. Nous allons donc mettre une image avec une class. Cela donnerait donc :
Code:
<img class="nom_de_la_class" src="url_de_l'image" />


Ensuite, on met le filtre comme une propriété normale dans le CSS. On commence par mettre la propriété "filter" qui indique qu'il y a un filtre. Puis, on détermine un "type" qui nous indique quel effet de filtre est utilisé. Ensuite, entre parenthèses, on indique la valeur qui détermine l'intensité du filtre. Nous aurons donc ceci :
Code:
.nom_de_la_class {
  -webkit-filter: type(valeur);
  filter: type(valeur);
}



2. Greyscale (Noir et blanc)


Premièrement, à quoi sert le filtre Greyscale? Eh bien ce filtre va convertir votre image en nuances de gris (noir et blanc). D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "0", à savoir qu'aucun filtre n'est appliqué et que l'image est en "couleurs".
> La valeur maximale est de "1", à savoir que l'image est complètement en noir et blanc.
> En choisissant une valeur entre "0" et "1", l'image sera de plus en plus dans des tons de noir et blanc au fur et à mesure qu'on se rapproche du "1".

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: grayscale(1);" pour y mettre le filtre en noir et blanc au maximum.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: grayscale(0);" pour qu'au survol, le filtre se dissipe et que l'image apparaisse en couleurs.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.nom_de_la_class:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}



3. Blur (Flou)


Premièrement, à quoi sert le filtre Blur? Eh bien ce filtre va mettre un flou sur votre image. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "0", à savoir qu'aucun filtre n'est appliqué et que l'image reste nette
> Plus on choisit une valeur en px élevée, plus le filtre est appliqué fortement.

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: blur(1px);" pour y mettre le filtre qui rend l'image floue de 1px.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: blur(0);" pour qu'au survol, le filtre se dissipe et que l'image apparaisse sans flou.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: blur(1px);
  filter: blur(1px);
}

.nom_de_la_class:hover {
  -webkit-filter: blur(0);
  filter: blur(0);
}



4. Saturate (Saturation)


Premièrement, à quoi sert le filtre Saturate? Eh bien ce filtre va servir à augmenter ou diminuer la saturation de votre image. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "1", à savoir que la saturation est normale.
> En mettant une valeur de "0", l'image n'aura plus aucune saturation et apparaîtra en noir et blanc.
> Plus on choisit une valeur élevée au-delà de "1", plus l'image sera saturée.

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: saturate(3);" pour augmenter la saturation à 300%.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: saturate(1);" pour qu'au survol, le filtre se dissipe et que l'image reprenne sa saturation normale.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: saturate(3);
  filter: saturate(3);
}

.nom_de_la_class:hover {
  -webkit-filter: saturate(1);
  filter: saturate(1);
}



5. Sepia


Premièrement, à quoi sert le filtre Sepia? Eh bien ce filtre va mettre un filtre qui fait ressembler votre image à une vieille photographie. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de sepia de "0", à savoir qu'aucun filtre n'est appliqué et que l'image a ses couleurs normales.
> La valeur maximale est de "1", à savoir que l'image ressemble complètement à une vieille photographie.
> En choisissant une valeur entre "0" et "1", l'image sera de plus en plus semblable à une vieille photographie au fur et à mesure qu'on se rapproche du "1".

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: sepia(1);" pour que l'image ressemble à une vieille photographie.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: sepia(0);" pour qu'au survol, le filtre se dissipe et que l'image reprenne ses couleurs normales.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: sepia(1);
  filter: sepia(1);
}

.nom_de_la_class:hover {
  -webkit-filter: sepia(0);
  filter: sepia(0);
}



6. Hue Rotate (Roue de couleurs)


Premièrement, à quoi sert le filtre Hue Rotate? C'est un peu plus dur à expliquer... Si on pense à une roue de couleurs, notre image de base est sur un point de cette roue. En changeant la valeur de Hue Rotate, nous allons modifier les couleurs de l'image Voici un exemple pour illustrer un peu mieux :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image est à "0deg" de la roue.
> Une valeur à "360deg" nous ramène au point de départ sur la roue.
> Il est possible de mettre une valeur entre "0deg" et "360deg" et les couleurs de l'image sont affectés selon l'angle de la roue. Il est dur de voir avec exactitude quel couleur cela nous donnera, alors il est mieux de fonctionner par essai/erreur.

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: hue-rotate(270deg);" pour mettre mon image au 270ème degré de couleur sur la roue des couleurs.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: rotate(0deg);" pour qu'au survol, le filtre se dissipe et que l'image reprenne ses couleurs normales.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: hue-rotate(270deg);
  filter: hue-rotate(270deg);
}

.nom_de_la_class:hover {
  -webkit-filter: hue-rotate(0deg);
  filter: hue-rotate(0deg);
}


Petit détail relativement important
Je sais que certains ont tendance à ne pas mettre les "px" ou les "deg" quand la valeur est de 0.
Or, si vous ne mettez pas le "deg" à 0 pour ce filtre, firefox ne le prend pas en considération.
Du coup, assurez-vous de mettre "hue-rotate(0deg)" et non "hue-rotate(0)".
Et en même temps, si vous pouviez essayer de prendre l'habitude de toujours mettre vos "deg" et "px", ce serait parfait puisque c'est la bonne façon de faire ^^



7. Invert


Premièrement, à quoi sert le filtre Invert? Eh bien ce filtre va servir mettre un filtre qui inverse les couleurs et teintes de l'image. Le vert devient rouge, le mauve devient jaune, le orange devient bleu, les couleurs foncées deviennent pâles, le blanc devient noir, etc. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "0", à savoir qu'aucun filtre n'est appliqué et que l'image a son apparence normale.
> La valeur maximale est de "1", à savoir que les teintes et couleurs de l'image sont complètement inversées.
> En choisissant une valeur entre "0" et "1", les couleurs et teintes de l'image seront de plus en plus inversées au fur et à mesure qu'on se rapproche du "1".

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: invert(1);" pour que les teintes et couleurs de l'image soient inversées.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: invert(0);" pour qu'au survol, le filtre se dissipe et que l'image reprenne son apparence normale.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: invert(1);
  filter: invert(1);
}

.nom_de_la_class:hover {
  -webkit-filter: invert(0);
  filter: invert(0);
}



8. Brightness (Luminosité)


Premièrement, à quoi sert le filtre Brightness? Eh bien ce filtre va servir à augmenter ou diminuer la luminosité de votre image. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "1", à savoir que la luminosité est normale.
> En mettant une valeur de "0", l'image n'aura plus aucune luminosité et sera complètement noire.
> Plus on choisit une valeur élevée au-delà de "1", plus l'image sera lumineuse.

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencer par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: brightness(2);" pour augmenter ma luminosité à 200%.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: brightness(1);" pour qu'au survol, le filtre se dissipe et que l'image reprenne sa luminosité normale.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: brightness(2);
  filter: brightness(2);
}

.nom_de_la_class:hover {
  -webkit-filter: brightness(1);
  filter: brightness(1);
}



9. Contrast (Contraste)


Premièrement, à quoi sert le filtre Contrast? Eh bien ce filtre va servir à augmenter ou diminuer le contraste de votre image. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "1", à savoir que le contraste est normal.
> En mettant une valeur de "0", l'image n'aura plus aucun contraste et sera complètement gris.
> Plus on choisit une valeur élevée au-delà de "1", plus l'image sera contrastée.

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: contrast(2);" pour augmenter mon contraste à 200%.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: contrast(1);" pour qu'au survol, le filtre se dissipe et que l'image reprenne son contraste normal à 100%.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: contrast(2);
  filter: contrast(2);
}

.nom_de_la_class:hover {
  -webkit-filter: contrast(1);
  filter: contrast(1);
}



10. Opacity (Opacité)


Premièrement, à quoi sert le filtre Opacity? Eh bien ce filtre va servir à augmenter ou diminuer l'opacité de votre image. D'ailleurs, voici un exemple :

L'image n'est plus hébergée, contactez Onyx SVP

Ce filtre est l'exception qui confirme la règle :
Il fonctionne sur tous les navigateurs !
Il peut être utilisé sur d'autres choses que des images (sur des divs par exemple) !
La propriété qu'on met dans le CSS n'a pas le même format que les autres filtres. Vous en verrez un exemple plus bas.

Oh, et comment on fait pour déterminer si le filtre est là, pas là ou à moitié là?
> Par défaut, l'image a une valeur de "1", à savoir que l'image a son opacity normale.
> En mettant une valeur de "0", l'image n'aura plus aucune opacité et sera transparente.
> En choisissant une valeur entre "0" et "1", l'image sera de plus en plus transparente au fur et à mesure qu'on se rapproche du "0".

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "opacity: 0.5;" pour rendre mon image transparente à 50%.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "opacity: 1;" pour qu'au survol, le filtre se dissipe et que l'image reprenne son opacité normale.

Exemple :
Code:
.nom_de_la_class {
  opacity: 0.5;
}

.nom_de_la_class:hover {
  opacity: 1;
}


Hé, mais c'est différent des autres! Pourquoi c'est différent?
Oui oui, j'y venais ^^
Comme ce filtre s'applique ailleurs que sur des images et est plutôt assez utilisé, tous les navigateurs l'ont intégré, sans passer par un filtre normal.
Du coup, à la place du format habituel qui est "filter: type(valeur)", on a simplement "type : valeur".
Cela fonctionne pour Firefox, Safari, Internet Explorer, Chrome et Opéra.




11. Drop-Shadow


Premièrement, à quoi sert le filtre Drop-Shadow? Eh bien, est-ce que vous êtes familiers avec le Box-Shadow? Là où on peut mettre une ombre autour d'une image (ou div)? Eh bien quand on utilise le Box-Shadow sur une image png, cela fait un ombre autour du cadre de l'image. Le Drop-Shadow, lui, sera capable de faire la différence entre le "vide" de l'image et le "contenu" de l'image pour mettre l'ombre juste sur le vrai contenu de l'image.

D'ailleurs, voici un exemple Box-Shadow vs Drop-Shadow :

L'image n'est plus hébergée, contactez Onyx SVP L'image n'est plus hébergée, contactez Onyx SVP


Ça n'a pas l'air d'être des valeurs comme les autres... Cela fonctionne comment?
> Il y a comme d'habitude le "filter" qui est la propriété.
> Ensuite, on a encore le "drop-shadow" qui est le type.
> Dans la valeur entre parenthèse, le premier "#px" correspond au décalage de l'ombre vers le droite.
> Dans la valeur entre parenthèse, le deuxième"#px" correspond au décalage de l'ombre vers le bas.
> Dans la valeur entre parenthèse, le troisième "#px" correspond au flou de l'ombre.
> Dans la valeur entre parenthèse, la couleur à la fin correspond à la couleur de l'ombre.
=> Cela donne "filter: drop-shadow(#px #px #px couleur)"

Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencé par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: drop-shadow(5px 5px 2px #545454);" pour mettre une ombre de 5px sur la gauche, de 5px vers le bas, d'un flou de 2px et de couleur #545454.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" en lui donnant la propriété "filter: drop-shadow(8px 8px 3px #545454);" changer pour que l'ombre soit de 8px sur la gauche, de 8px vers le bas, d'un flou de 3px et de couleur #545454.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: drop-shadow(5px 5px 2px #545454);
  filter: drop-shadow(5px 5px 2px #545454);
}

.nom_de_la_class:hover {
  -webkit-filter: drop-shadow(8px 8px 3px #545454);
  filter: drop-shadow(8px 8px 3px #545454);
}



12. Faire un effet progressif


Vous savez maintenant comment utiliser les 10 types de filtres. Vous savez même comment mettre un effet différent lorsqu'on survole l'image à l'aide de la pseudo-class "hover".

Mais comment je fais si je veux que l'effet soit progressif quand je survole l'image?
> Nous allons rajouter la propriété "transition" à la class de notre image dans notre CSS.
> La propriété transition se décompose comme ceci : "transition: #s;".
> Nous avons donc la propriété "transition", puis la valeur en secondes qui indiquent la durée de la transition.

Prenons mon premier filtre comme exemple, à savoir celui Greyscale. Nous avons actuellement le code suivant :
Code:
.nom_de_la_class {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.nom_de_la_class:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}



Pour que l'effet soit progressif, on va rajouter la propriété transition comme ceci "transition: 1s;" pour que la durée de la transition soit de 1 seconde. Pour mettre ½ seconde, on aurait mis "transition: 0.5s;" et pour mettre 3 secondes on aurait mis "transition: 3s;".

Résultat avec une transition de 1 seconde :
Code:
.nom_de_la_class {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  -webkit-transition: 1s;
  transition: 1s;
}

.nom_de_la_class:hover {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}



13. Additionner plusieurs filtres


Maintenant qu'on sait comment utiliser les filtres et comment faire pour que l'effet du filtre se fasse de façon progressive, voyons comment appliquer plusieurs filtres à une même image

D'ailleurs, voici un exemple où on additionne les filtres Brightness (Luminosité) et Sepia :

L'image n'est plus hébergée, contactez Onyx SVP


Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencer par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: brightness(2) sepia(1);" pour augmenter ma luminosité à 200% et pour que l'image ressemble à une vieille photographie.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: brightness(1) sepia(0);" pour qu'au survol, le filtre se dissipe et que l'image reprenne sa luminosité normale et apparence normale.

Comme vous le constatez, dans ma propriété "filter", j'ai séparé les différents "types" (brightness et sepia) avec un simple espace.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: brightness(2) sepia(1);
  filter: brightness(2) sepia(1);
}

.nom_de_la_class:hover {
  -webkit-filter: brightness(1) sepia(0);
  filter: brightness(1) sepia(0);
}



C'est simple comme ça?
Oui, c'est tout simplement cela! Il y a une seule exception, soit l'opacité qui se met dans une propriété à part.




Petit exemple avec l'Opacité ajouté en plus de Brightness et Sepia :

L'image n'est plus hébergée, contactez Onyx SVP


Et comment j'ai fait pour l'appliquer sur mon image dans l'exemple?
1. Eh bien j'ai commencer par mettre une image à l'endroit que je veux en lui donnant une "class".
2. Dans mon CSS, j'ai mis la class de mon image en lui donnant la propriété "filter: brightness(2) sepia(1);" pour augmenter ma luminosité à 200% et pour que l'image ressemble à une vieille photographie. J'ai également mis la propriété "opacity: 0.5;" pour baisser l'opacité de mon image à 50%.
3. Dans mon CSS, j'ai mis la class de mon image avec un "hover" avec la propriété "filter: brightness(1) sepia(0);" pour qu'au survol, le filtre se dissipe et que l'image reprenne sa luminosité normale et apparence normale. J'ai également mis la propriété "opacity: 1;" pour remettre l'opacité de mon image à 100%.

Exemple :
Code:
.nom_de_la_class {
  -webkit-filter: brightness(2) sepia(1);
  filter: brightness(2) sepia(1);
  opacity: 0.5;
}

.nom_de_la_class:hover {
  -webkit-filter: brightness(1) sepia(0);
  filter: brightness(1) sepia(0);
  opacity: 1;
}




Conclusion

  • Un filtre est une propriété où un effet est appliqué à une intensité variable sur une image.

  • Son format est "filter: type(valeur);"

  • Il est possible d'utiliser 10 effets différents : Greyscale, Blur, Saturate, Sepia, Hue Rotate, Invert, Brightness, Contrast, Opacity et Drop Shadow.

  • Presque chaque effet a une "échelle de valeurs" différente, alors il faut s'assurer de les consulter avant d'utiliser les filtres.

  • Il est possible de faire un effet progressif à l'aide des transitions.

  • Vous pouvez additionner plusieurs filtres sur une même image selon en les séparant par un espace "filter: type(valeur) type(valeur) type(valeur);"

Voilà, j'espère que cela a pu vous aider. Si jamais vous avez des problèmes avec ce LS, n'hésitez pas à passer dans "Un problème avec un tutoriel".

À plus !

NyoTheNeko

Slideshow full CSS3 sans :target ! - Sam 12 Juil 2014 - 17:27



Slideshow full CSS3





   
Ceci est un tuto, optimal pour une PA, crée suite à la Demande d'SatoruMasao, ici.
Notez, en tant que petit disclaimer, que je ne sors pas tout ça de mon chapeau. Vous trouverez en lien le slideshow que j'ai prit en base, qui montrait comment ne pas utiliser les :target mais plutôt les input et label (ce qui évite de faire comme une "nouvelle page" et permet de cliquer sur le bouton de "précédent" du navigateur pour vraiment aller sur la page précédente et non pas l'id du slide précédent.


Toutes versions ▬ CSS3 & HTML5 ▬ Ce que ça donne


   
Notez que je vais donc vous montrer comment faire autant le slideshow simple, que les personnages avec la petite bulle qui apparait au passage de la souris! Cependant, vous n'êtes pas obliger de mettre forcément des render de personnages et des petits bulles, mais pouvez très bien remplir d'autres choses! En gros, cela dépend fortement de votre imagination et de vos compétences. Le cas échéant, la section des problèmes est là pour vous aider!




Le slideshow de base


Avant de commencer à s'amuser à mettre les petites bulles d'informations sur les personnages ou même quoi que ce soit d'autres, il faudrait tout d'abord commencer à créer le slideshow de base, c'est à dire, le conteneur, les slides (de simples div pour l'instant) et les flèches avec l'animation qui devrait y avoir.

Je vais aller étape par étape, mais tout de même montrer tout le HTML avant de montrer tout le CSS. Cependant, il est à noter que sans le CSS, le HTML risque d'être très moche (et surtout de ne rien faire!).

Le HTML


Alors, tout d'abord, commençons par le commencement!
Nous allons créer notre toute première div qui va contenir tous le slideshow. Vous pouvez l’appeler comme vous le voulez, mais ici, elle sera appelée "slideshow". Elle contiendra alors tout ce qui a un rapport avec le slider: les slides, les boutons pour aller d'un slide à l'autre, etc. Donc la voici:

Code:
<div id="slideshow">
</div>


C'est très simple n'est-ce pas?

Maintenant, nous allons rajouter des balises input de type radio. Ces balises, ce sont normalement ce qu'on utilise dans le formulaires, pour choisir une option ou une autre. Un exemple simple est sur ForumActif, plus précisément sur NeverUtopia: quand vous créez un sujet, sous "Icône de sujet" vous avez à côté de chaque icône un petit rond qu vous pouvez cocher. Eh bien c'est ça les input de type radio d'un formulaire!
Mais pourquoi utiliser ça, mais surtout, à quoi ça sert? Eh bien plutôt que d'utiliser des liens et d'utiliser ensuite le pseudo-élément :target, ici nous allons utiliser les input et leur pseudo-élément :checked, qui regarde si un input est coché ou non. Cela permet donc de ne pas ouvrir un "nouveau lien" à chaque slide, mais bel et bien de toujours avoir le même lien dans la barre de navigation.

Nous allons donc mettre autant d'input que nous voulons de slides, ici 5:

Code:

<input checked name="slideshow" id="slide1" type="radio" />
<input name="slideshow" id="slide2" type="radio" />
<input name="slideshow" id="slide3" type="radio" />
<input name="slideshow" id="slide4" type="radio" />
<input name="slideshow" id="slide5" type="radio" />


   
Si vous ne connaissez pas la balise input, laissez-moi vous expliquer ce qu'est chacun des éléments ici présent. Premièrement, le nom (name)  permet simplement de... donner un nom à l'élément. Normalement, on tente d'en donner un unique à chacun, notamment lorsqu'on  utilise le JavaScript ou alors que l'on utilise ça vraiment comme un formulaire, et non pas pour un slideshow comme ici. Cependant, ici ce n'est pas important et tous nos input s'appellent slideshow.
Ensuite, on a donné un id à chacun de nos éléments, qui correspond au combientième slide on est. Cela est important pour le CSS, pour savoir que input a été coché, alors que le name n'est pas utilisé pour ça.
Le type est ensuite, eh bien, le type de l'input. Ici on a radio, c'est à dire que seul un input peut être coché à la fois, mais il existe beaucoup de différents types d'input (vu que c'est un formulaire: il y a pour du texte, un choix multiple, une barre avec plusieurs choix de mots, etc). Ici cependant, on a besoin du type radio pour notre slideshow.
Enfin, vous aurez pu remarquer que le premier input a le mot clé "checked" ajouté dans la balise. Cela veut dire que par défaut, c'est l'input slide1 qui est coché et donc, celle-ci qui sera affichée à l'ouverture de la page. Cela peut très bien changer! Vous pourriez choisir d'avoir le troisième slide d'affiché à l'ouverture ou même le dernier! En gros, c'est le input qui est checked qui sera vu en premier par les gens naviguant sur votre site!


Pour rester dans le thème des input, parlons tout de suite comment et pourquoi ils seront utilisé: les flèches qui "contrôlent" le slideshow, et décident quel input est checked ou non. Pour cela, nous utilisons des labels.
On va d'ailleurs mettre ces labels dans un id que vous pouvez nommer comme vous le voulez mais que je nomme "controls". Cela nous permettra alors de placer les flèches et de faire certains effets dessus dans le CSS, mais aussi de les sélectionner correctement grâce au CSS (dont je parlerais plus tard)

Code:
<div id="controls">
 <label for="slide1"></label>
 <label for="slide2"></label>
 <label for="slide3"></label>
 <label for="slide4"></label>
 <label for="slide5"></label>
</div>


Comme vous pouvez le constater, chaque slide a son propre label, et c'est l'attribut for qui dit pour quel label est chaque input. En effet, si vous cliquez sur un label qui est for un certain input, alors cet input sera coché. Je suppose donc que vous comprenez à présent un peu mieux comment ça marche: on clique sur une flèche qui est en fait un label pour un certain input d'un slide, et ce slide sera alors coché, ce qui permettra, grâce au CSS, à aller au slide correspondant!
Remarquez cependant que le for doit avoir le même nom que l'id de l'input correspondant.

Donc jusqu'à présent, on a ça:

Code:
<div id="slideshow">
 <input checked name="slideshow" id="slide1" type="radio" />
 <input name="slideshow" id="slide2" type="radio" />
 <input name="slideshow" id="slide3" type="radio" />
 <input name="slideshow" id="slide4" type="radio" />
 <input name="slideshow" id="slide5" type="radio" />
 <div id="controls">
 <label for="slide1"></label>
 <label for="slide2"></label>
 <label for="slide3"></label>
 <label for="slide4"></label>
 <label for="slide5"></label>
 </div>
</div>


Ce n'est pour l'instant pas grand chose, cependant: c'est le plus important. en effet, bien que vous n'avez pas encore les slides à proprement parler, vous avez déjà la plus grosse partir du HTML, et ce qui va faire marcher tout le slideshow. Cependant, vu qu'un slideshow n'est rien sans slides, il nous faut les ajouter!

Nous allons donc créer une div qui va contenir tous nos slides, que l'on mettra entre les inputs et les controls (l'importance de ceci est expliquée plus tard) qui sera de la taille de tous les slides additionnés (que je nommerais inner), mais également un autre div, qui contiendra inner et qui permettra de cacher les slides en trop (à l'aide d'un overflow: hidden) de telle sorte à afficher un seul slide à la fois. Je le nommerais slides.
Nous avons donc ceci:

Code:
<div id="slides">
 <div class="inner">
 </div>
</div>



Je vais alors ajouter mes cinq slides dans inner, en leur donnant à chacun la classe a_slide (que vous pouvez appeler comme vous le voulez) qui me permettra de mettre la taille aux slides, mais aussi d'appliquer les effets nécessaires. J'ai donc ceci:

Code:
<div id="slides">
 <div class="inner">
 <div class="a_slide">
 </div>
 <div class="a_slide">
 </div>
 <div class="a_slide">
 </div>
 <div class="a_slide">
 </div>
 <div class="a_slide">
 </div>
 </div>
</div>



À présent, pour que l'on puisse tout de suite tester les slides, j'ai mit dans chaque slide une image (le render) avec une class selon où je les veux positionnés, entourés d'un lien. En effet, je veux alterner entre le render à gauche et le render à droite, cependant, vous pouvez créer autan de positions que vous voulez (au milieu, un peu à droit,e un peu à gauche, etc), u même placer à l'aide d'id plutôt que de classe chaque image indépendamment. De même, vous pouvez mettre autre chose dans chaque slide qu'une image!

Code:
<div id="slides">
 <div class="inner">
 <div class="a_slide">
 <a href="#"><img class="left" src="http://i.imgur.com/SgVARN7.png" /></a>
 </div>
 <div class="a_slide">
 <a href="#"><img class="right" src="http://i.imgur.com/To2uhmJ.png" /></a>
 </div>
 <div class="a_slide">
 <a href="#"><img class="left" src="http://i.imgur.com/LOhfzmf.png" /></a>
 </div>
 <div class="a_slide">
 <a href="#"><img class="right" src="http://i.imgur.com/CIw0pQ9.png" /></a>
 </div>
 <div class="a_slide">
 <a href="#"><img class="left" src="http://www.renders-graphiques.fr/image/upload/normal/Kakuzu-1.png" /></a>
 </div>
 </div>
</div>



Et voilà! Le HTML est terminé! En résumé, nous avons ceci (HTML complet pour l'étape du slideshow simple):

Code:
<div id="slideshow">
 <input checked name="slideshow" id="slide1" type="radio" />
 <input name="slideshow" id="slide2" type="radio" />
 <input name="slideshow" id="slide3" type="radio" />
 <input name="slideshow" id="slide4" type="radio" />
 <input name="slideshow" id="slide5" type="radio" />
 <div id="slides">
 <div class="inner">
 <div class="a_slide">
 <a href="#"><img class="left" src="http://i.imgur.com/SgVARN7.png" /></a>
 </div>
  <div class="a_slide">
 <a href="#"><img class="right" src="http://i.imgur.com/To2uhmJ.png" /></a>
 </div>
  <div class="a_slide">
 <a href="#"><img class="left" src="http://i.imgur.com/LOhfzmf.png" /></a>
 </div>
 <div class="a_slide">
  <a href="#"><img class="right" src="http://i.imgur.com/CIw0pQ9.png" /></a>
  </div>
  <div class="a_slide">
  <a href="#"><img class="left" src="http://www.renders-graphiques.fr/image/upload/normal/Kakuzu-1.png" /></a>
  </div>
  </div>
 </div>
 <div id="controls">
 <label for="slide1"></label>
 <label for="slide2"></label>
 <label for="slide3"></label>
 <label for="slide4"></label>
 <label for="slide5"></label>
 </div>
</div>



Le CSS


Si vous envoyez à présent le HTML sans le CSS sur votre PA, vous verrez très vite que ça ne ressemble pas à grand chose... En effet, vu que nous avons que des class et des id, les div n'ont aucune hauteur ou largeur et donc, rien ne s'affiche. Enfin, mis à part les input (donc les boutons de type radio) dont le premier est coché... Et comme vous le voyez dans le résultat final, ces derniers ne sont même pas présents! Mais pas de panique: le CSS3 et sa magie va bientôt opérer, et vous aurez bientôt un superbe slideshow!

Cependant, nous avons beaucoup de choses à voir, alors là aussi je vais utiliser quelques titres pour les séparer un peu mieux!

Mise en place du bloc du slideshow


Tout d'abord, nous allons masquer les input, c'est à dire, faire en sorte qu'ils n'apparaissent pas. En effet vu que pour l'instant c'est la seule chose qui apparaisse mais que c'est la seule chose qu'on ne veut PAS voir apparaître, il suffit de faire en srte qu'ils ne s'affichent pas à l'aide d'un display: none;
Nous avons donc ceci:

Code:
/* Permet de cacher les input (apparait sous forme radio sinon) */
#slideshow input {
  display: none;
}



Maintenant que nous avons un "tableau blanc" sur lequel travailler, il est donc temps de commencer par le commencement: la balise qui entoure notre slideshow, à laquelle j'avais donné plus tôt l'id "slideshow". Nous allons donc tout de suite lui donner une largeur et une hauteur, mais aussi un position relative. C'est important, notamment pour positionner les flèches, ou tout autre élément que vous voudriez jouter aux slideshow (autre que les slides et les flèches).
Nous avons donc ceci:

Code:
/* Création du slideshow (contour) */
#slideshow {
  position: relative;
  width: 800px;
  height: 400px;
}



Maintenant, dans l'ordre logique des choses, je vais m'occuper des slides. Je vais donc commencer par la div à laquelle j'ai donné plus tôt l'id "slides", qui me permettra d'afficher un seul slide à la fois. Je vais donc lui donner la taille d'un seul slide (qui pour moi est la même taille que le slideshow en entier), le positionner de manière absolue tout en haut du slideshow (avec une position absolute) et un overflow: hidden, ce qui va me permettre de cacher tout ce qui dépasse de là, et donc, vous l'aurez compris, de cacher toutes les autres slides. En plus de cela, vu que mon slideshow aura une image de fond fixe et que seul des render vont passer par-dessus, j'ai mit une image de fond.

Code:
/* Conteneur de inner et de tous les slides, permet d'afficher un seul slide à la fois. */
#slides {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 800px;
  height: 400px;
  background-image: url('http://animeipics.files.wordpress.com/2014/01/konoha-thrids-era.jpg');
  background-size: 800px;
  background-position: center center;
  overflow: hidden;
}

   
Le background-size: 800px; me permet de faire en sorte que mon image de fond ait une largeur appropriée et le background-position lui donne la bonne position. Ici, le background-size a la largeur qui est fixée mais la hauteur s'adapte automatiquement (proportionnellement à l'image de base). Si j'avais écrit Si j'avais écris background-size: auto 400px; ce serait la hauteur qui se serait fixée à 400px et la largeur qui se serait automatiquement mise à la bonne proportion. On peut aussi fixer les deux attributs, pour fixer la largeur (toujours en premier) et la hateur, comme ceci: background-size: 800px 400px;.
Le z-index est également important. En effet, les flèches sont dans un div plus tard, c'est à dire que normalement, il est "plus haut" sur le z-index que les slides. Il faut donc changer cela, et on va donner à controls un z-index plus petit que slides!


Maintenant que nous avons ceci, nous allons regarder la première div fille de slides, qui n'est autre que la div à la class "inner". C'est donc lui qui va avoir tous nos slides. Je lui donne donc la bonne taille (donc pour qu'il contienne 5 slides). Rien de spécial donc... mis à part donner une largeur!

Code:
/* Conteneur de tous les slides */
#slides .inner {
  width: 500%;
}


Ici, on met une largeur en pourcentage plutôt qu'en px. En effet, vu que le div d'id slides nous donne déjà la largeur d'un slide, et que donc cela correspond à 100%, il faut mettre le nombre de slides * 100 comme nombre. Donc ici, 5 slides sont 500%, 6 slides serait 600%, 4 slides serait 400%, etc. C'est important, plus tard, pour déplacer les slides. On pourrait très bien le faire en px, mais cela demande un peu plus de calcul tout de même Wink


On a donc les deux conteneurs des slides, mais maintenant, il faudrait mettre en forme les slides eux-même! On va donc leur donner une taille (la même que #slides), mais également une position relative (pour pouvoir positionner les choses en absolu dedans, notamment les images et, bien plus tard, les bulles, que l'on verra dans la seconde partie) et enfin un float: left;

Code:
/* Mise en forme des slides */
#slides .a_slide {
  position: relative;
  width: 800px;
  height: 400px;
  float: left;
}


Le float: left permet de faire en sorte que tous les slides se mette les uns à côtés des autres sans marge. En effet, les div étant normalement des éléments bloc, ils retournent à la ligne avant ET après, or ici, nous ne voulons pas que ce soit le cas!
Il n'y aura d'ailleurs aucun problème au niveau du float, vu que le conteneur a un overflow: hidden. Pour plus d'informations, je vous invite à lire l'annexe sur les float que j'ai écris moi-même dans le cursus Wink


Et c'est presque fini! en effet, à présent, il y a le code pour le déplacement des slideshow à faire! Et là, on en aura terminé pour le bloc "brut" du slideshow!
Voici donc la partie la plus importante du code, qui est aussi présente sur le slider dont je me suis inspirée pour faire celui-ci:

Code:
/* Déplacement des slides */
#slide1:checked ~ #slides .inner { margin-left:0; }
#slide2:checked ~ #slides .inner { margin-left:-100%; }
#slide3:checked ~ #slides .inner { margin-left:-200%; }
#slide4:checked ~ #slides .inner { margin-left:-300%; }
#slide5:checked ~ #slides .inner { margin-left:-400%; }


OMFG!? C'est quoi ce checked? Et ce ~ là, ça veut dire quoi? AAAAAAH.
Pas de panique! O__O J'explique tout en-dessous!


Le pseudo-élément :checked
C'est ce qui va me permettre de voir quel input a été coché. J'en ai vaguement parlé plus tôt. Comme vous avez pu le voir dans le CSS, on regarde quel input est coché: celui de l'id slide 1, slide2, slide3, slide4 ou slide5. En effet, selon lequel est coché, on voudrait que inner soit décalé vers la gauche de plusieurs pourcent (c'est pourquoi aussi c'était important d'avoir en pourcentages la largeur d'inner). Pour afficher le premier slide c'est de 0, le second c'est de 100&, le troisème de 200%, etc. Notez qu'il faudrait en rajouter si on a plus de slides, tout comme il faut rajouter des input. Enfin, j'espère que le tuto est assez claire pour que vous ayez compris ça de par vous-même, mais j'aime autant préciser!
Donc en gros, ce pseudo-élément sert à ça: regarder lequel est coché et faire des choses en conséquence!


Le sélécteur ~
Ce sélécteur signifique "l'élément frère le plus proche". C'est à dire, dans notre code, le frère nommé "#slides .inner" le plus proche du input nommé #slideX qui est checked.
Mais qu'est un élément frère? Eh bien dans notre code par exemple, le div d'id "slideshow" a comme élément fils les input, le div d'id slides et enfin le div d'id controls. Cela implique donc que tous les trois sont des "frères" (ou sœurs).

Exemple:
Code:
<div id="un">
 <div id="deux">
 </div>
</div>

Ici, un est l'élément père de deux, et deux est l'élément filsè d eun.

Code:
<div id="un">
</div>
<div id="deux">
</div>


Ici, un est deux sont des éléments frères.

En somme, si votre code est bien indenté, il est facile de voir quels éléments sont des frères/sœurs, et lesquels sont des parents/enfants les uns des autres. En effet, les frères/sœurs seront sur le même niveau, et les parents/enfants seront sur des niveaux différents!


Je pense donc qu'à présent vous comprenez le code! Si tel input est checked, on change la marge à gauche de l’élément frère #slides .inner

Vous pouvez à présent envoyer votre code et voir... une image fixe! Et oui! Il n'y a pas encore les contrôles, donc les flèches, qui nous permettront de cocher les différents input! Du coup, eh bien... rien ne bouge! Il va donc falloir lire la suite pour mettre en place les flèches et, donc, ce qui nous permettra de contrôler le slideshow et de passer d'une slide à l'autre!

Mise en place des contrôles (flèches)


Les codes pour les contrôles est en réalité vraiment très "simple" dans le sens où, il n' a pas beaucoup de lignes, cependant, il peut être difficile à comprendre! Cependant, pas de panique: je suis là pour ça!

Commençons par le plus simple, qui est, le placement des flèches. Comme vous pouvez le voir, les flèches dépassent du slideshow. Ce n'est pas un problème, et d'ailleurs, vous pouvez bien sûr changer ça selon comment vous voulez avoir votre slideshow (avec les position: absolute de #slides et de #controls).
Quoiqu'il en soit, à l'aide du div d'id "controls" on va positionner les flèches au milieu de notre slideshow (à l'aide du top: 45%), et lui donner comme hauteur la taille des images que l'on va utiliser pour nos flèches. En plus de cela, il faut lui donner un z-index de 0 (ou en tout cas un z-index plus petit que celui de #slides) pour qu'ils soit derrière slides.
Notez cependant que si vous voulez que les flèches soient par-dessus votre slide, il va falloir changer ça, et même peut-être, avoir à placer chaque flèche individuellement! (car il faudrait que le z-index soit plus grand que celui des slides pour que les flèches apparaissent et soient cliquables, cependant, sur toute la longueur et hauteur de controls, les slides ne seraient plus cliquables (et n'auraient plus d'effet au passage de la souris).
Bref, en gros, voici le code:
[/b]
Code:
/* Mise ne place de l'élément contenant les flèches */
#controls {
  position: absolute;
  top: 45%;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 50px;
}



Assez simple n'est-ce pas? Mais pour l'instant, on a toujours pas les flèches! En effet, nous voulons que les flèches s'affichent toujours, mais soient par rapport au bon label, c'est à dire, que lorsque le slide1 est coché, qu'il y ait la flèche de droite qui aille vers le slide2, et la flèche de gauche qui aille vers le slide5 (le dernier slide). Du coup, il faut une manière de cacher TOUS les labels, sauf le bon label correspondant au slide précédent et au slide suivant (et les bons qui plus est). Il faut donc tout d'abord mettre ce code:

Code:
/* On met les labels à la bonne taille et on les cache */
#controls label {
  display: none;
  width: 50px;
  height: 50px;
}


Donc ici, on cache tous les label et on leur donne la taille de l'image. MAintenant, passons au code compliqué!


Code:
/* Mise en place de la flèche vers le slide suivant */
#slide1:checked ~ #controls label:nth-child(2),
#slide2:checked ~ #controls label:nth-child(3),
#slide3:checked ~ #controls label:nth-child(4),
#slide4:checked ~ #controls label:nth-child(5),
#slide5:checked ~ #controls label:nth-child(1) {
  background: url('http://csscience.com/responsiveslidercss3/next.png') no-repeat;
  float: right;
  margin: 0 -70px 0 0;
  display: block;
}

/* Mise en place de la flèche vers le slide précédent */
#slide1:checked ~ #controls label:nth-child(5),
#slide2:checked ~ #controls label:nth-child(1),
#slide3:checked ~ #controls label:nth-child(2),
#slide4:checked ~ #controls label:nth-child(3),
#slide5:checked ~ #controls label:nth-child(4) {
  background: url('http://csscience.com/responsiveslidercss3/prev.png') no-repeat;
  float: left;
  margin: 0 0 0 -70px;
  display: block;
}


AAAAAAH!
Non mais faut apprendre à se calmer hein O__O

En réalité, ce code est très simple une fois qu'on comprend à quoi sert la pseudo-classe :nth-child(X). En effet, nth-child désigne le nième enfant du type de la classe/objet qui est mit avant. Donc label:nth-child signifie le n-ième enfant qui est un label, et dans ce cas, se trouve dans l'id #controls. Le chiffre en parenthèse, est donc ce fameux nième enfant: label:nth-child(4) signifie le 4ième enfant de type label. C'est assez simple non? Il suffit donc de regarder dans votre HTML et compter à quel enfant vous voulez aller.

Vous comprenez alors que lorsque slide1 est coché (donc le pseudo-élément :checked), on veut que la flèche next soit le label pour le slide2, qui est dans notre HTML le 2ième enfant de type label dans #controls. De même, on veut que notre flèche previous nous envoie vers le slide5, qui est dans notre HTML le 5ième enfant de type label dans #controls!  

Pour ce qui est du reste du code, le float nous permet de positionner les flèches tout à droite et tout à gauche du bloc, la marge nous permet de les mettre en dehors du slideshow, le display_block nous permet d'annuler le display: none du précédent code, de telle sorte à ce que seul le label que l'on veut s'affiche et enfin, le background est bien sûr l'image de la flpche, respectivement de celle vers la droite et celle vers la gauche.


Nous avons donc à présent les flèches et le slide en pleine état de marche, cependant, sans les animations, eh bien, c'est un peu moche... Mais pas de soucis, les animations arrivent dans la partie suivante!

Animer les slides et effets sur les flèches


Nous allons tout d'abord faire l'animation sur les flches. Tout simplement parce que, eh bien, c'est le plus simple! En effet, comme vous pouvez le voir, le seul effet sur mes flèches est un changement d'opacité. Très simple donc, et un changement qu'il suffit d'appliquer sur le CSS #controls label en ajoutant de l'opacité, et en faisant un changement au passage d ela souris grâce à la pseudo-classe :hover!
Je vous donne donc le code, qui n'a vraiment rien de compliqué !

Code:
/* On met les labels à la bonne taille et on les cache */
#controls label {
  display: none;
  width: 50px;
  height: 50px;
  opacity: 0.3;
  transition: all ease-out 0.2s;
}

/* Effet au passage de la souris sur les flèches */
#controls label:hover {
  opacity: 0.8;
  transition: all ease-out 0.2s;
}



Voilà donc qui est fait pour les flèches! Maintenant, il est temps de passer au slides, pour qu'ils se déplacent de façon fluide. Le code est assez court (deux lignes), mais vraiment très condensé: je vous explique cependant tout!

Code:
/* Animation slides */
#slides .inner {
  -webkit-transform: translateZ(0);
  transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000);
}



Tout d'abord, le  -webkit-transform: translateZ(0); n'a vraiment pas d'autre fonction que d'assurer que l'animation se fait sans à-coups dans Chrome. En effet, si vous avez ce navigateur, vous verrez la différence si vous le mettez ou non. Ca ne change rien en soit, mais c'est plus joli, et surtout, uniquement pour Chrome qu'il y a cette ligne, vraiment xD
Vous voyez que la prochaine est une transition. Si vous avez un peu suivvi la plupart des Ls ici ou plusieurs Tutos, vous savez que cette ligne permet justement d'avoir l'animation, et donc un truc fluide. Cependant, vous voyez aussi que c'est une fonction bien compliquée que l'on utilise comme fonction de transition (cubic-bezier avec pleins de nombres dans ses parenthèses, contrairement aux habitues linear, ease-in, ease-out, ease-in-out et ease!). Cependant, pour déjà comprendre les deux premier termes de cette ligne: all signifie que tout ce qui peut être animé le sera. Ici, pour nous, c'est simplement le déplacement de inner. Ensuite, les 800ms est le temps durant lequel va durer l'animation. C'est 0.8 secondes en somme.

Revenons donc à cubic-bezier. En réalité, ease, ease-in, etc sont toutes des courbes de Bézier qui déterminent la transition. Et de même, chacun d'entre eux pourraient être écrits sous la forme de cubic-bezier (par exemple, ease pourrait s'écrire cubic-bezier(0.25, 0.1, 0.25, 1.0)). Donc, en gros, c'es une fonction de transition tout à fait normale, sauf que nous avons nous-même crée la façon dont l'animation va se jouer. En gros, c'est purement mathématique.
Vous avez cet outil qui vous permet de créer vos propres courbez de Bézier et les utiliser dans vos transitions, qui permet également de comparer avec les transitions "communes" ease, lineat, ease-in, ease-out et ease-in-out. Vous pouvez donc voir que notre courbe est très similaire au ease-in-out, bien que légèrement plus "rapide" dans sa transition.
Si vous voulez en apprendre plus sur la syntaxe de la fonction cubic-bezier, je vous invite à lire la partie de ce tuto qui en parle, qui est assez complet. Pour nous, ce n'est pas vraiment le sujet, on ne fait que l'utiliser Wink


Et maintenant, tout est bon! Nous n'avons plus qu'à placer les images correctement (comme je l'ai prévu dès le départ à gauche et à droite de chaque slide) et on en aura fini de cette première partie pour la création du slideshow!

Mise en place des images


Maintenant que nous avons tout le slideshow, il est temps de placer les images au bon endroit, comme j'avais dit lorsque j'ai écrit le HTML, j'ai prévu d'en mettre certaines à gauches et certaines à droites.
Je vais tout d'abord commencer par mettre toutes les images en position absolue. Je vais aussi faire en sorte qu'elle ne dépassent pas la hauteur du slideshow, donc les redimensionner à une hauteur de 400px.

Code:
/* Placer toutes les images en absolu. */
.a_slide img {
  position: absolute;
  display: block;
  height: 400px;
}



Maintenant, on va placer toutes les images avec la classe left à gauche

Code:
/* On place les images à gauche */
.a_slide img.left {
  bottom: 0px;
  left: 0px;
}



Et toutes les images avec la classe right à droite!

Code:
/* On place les images à droite */
.a_slide img.right {
  bottom: 0px;
  right: 0px;
}



Vous pourriez très bien utiliser les bottom, top, left et right pour placer les images ailleurs, et donc avoir plus de classes ou même des id pour chaque image si chacune doit être mise à un endroit spécifique! En somme, vous pouvez utiliser la position absolue comme vous le voulez pour placer les images!

Maintenant, il est temps de passer à la deuxième étape si vous voulez placer des bulles d’informations au passage de la souris sur les images!

Onyx

Navigation en forme d'horloge - Lun 23 Juin 2014 - 20:25




Navigation en forme d'horloge


Salut !

Voici un petit LS d'une barre de navigation en forme d'horloge dont l'aiguille pointe sur les liens survolés qui a été fait pour la demande de Dastan.

Pour l'aperçu, cliquez juste ici.

Ce code est en trois parties.
  • Tout d'abord, nous allons supprimer l'ancienne navigation et la remplacer par la notre dans le template "Overhall Header".
  • Ensuite, nous allons mettre notre navigation en forme en allant ajouter certains éléments dans le CSS.
  • Enfin, nous allons ajouter un petit javascript pour savoir qu'un nouveau message privé est arrivé dans notre messagerie. D'ailleurs, pour cette partie, je me suis servie de ce tuto : http://www.school-of-pub.net/t11850-fa-totalement-personnaliser-la-barre-de-nav.


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



1. Corps de la navigation (Template Overhall_Header)


Pour commencer, nous allons devoir nous débarrasser de la navigation normale afin qu'elle arrête de nous traîner dans les jambes.
Comment?
Nous allons carrément la supprimer.

Elle devrait normalement se trouver entre les lignes 273 et 277. Voici à quoi elle ressemble :
Code:
<table cellspacing="0" cellpadding="0" border="0" align="{MENU_POSITION}">
 <tr>
 <td align="{MENU_POSITION}"{MENU_NOWRAP}>{GENERATED_NAV_BAR}</td>
 </tr>
 </table>



Une fois que c'est fait, il est temps d'ajouter notre propre navigation. Du coup, au même endroit où était positionné l'ancienne barre de navigation, nous allons venir mettre le code suivant :
Code:
<table cellspacing="0" cellpadding="0" border="0" align="left">
 <tr>
                                          <td align="left">
   <div class="nav_bloc" align="center">
    <div class="navv" id="accueil"><a href="/forum"><img src="https://i.imgur.com/BleQNVF.png" alt="Accueil" /></a></div>
    <div class="navv" id="rechercher"><a href="/search"><img src="https://i.imgur.com/ILyNbqm.png" alt="Rechercher" /></a></div>
    <div class="navv" id="membres"><a href="/memberlist"><img src="https://i.imgur.com/smihrYB.png" alt="Membres" /></a></div>
    <div class="navv" id="groupes"><a href="/groups"><img src="https://i.imgur.com/0TCFuVf.png" alt="Groupes" /></a></div>
                                                    <div class="navv" id="profil"><a href="/profile?mode=editprofile"><img src="https://i.imgur.com/Fur3amR.png" alt="Profil" /></a></div>
      <!-- BEGIN switch_user_logged_in -->
    <div class="navv" id="mp"><a href="/privmsg?folder=inbox"><img src="https://i.imgur.com/AEQMua4.png" alt="MP" id="mpO" /></a></div>
                                                    <div class="navv" id="off"><a href="/login?logout"><img src="https://i.imgur.com/1WWhoBy.png" alt="Déconnexion" /></a></div>
      <!-- END switch_user_logged_in -->
      <!-- BEGIN switch_user_logged_out -->
                                                    <div class="navv" id="s_inscrire"><a href="/register"><img src="https://i.imgur.com/gFDkg6v.png" alt="S'inscrire" /></a></div>
                                                    <div class="navv" id="on"><a href="/login"><img src="https://i.imgur.com/1WWhoBy.png" alt="Connexion" /></a></div>
      <!-- END switch_user_logged_out -->
                                                    <div class="navv" id="nav_aiguille"></div>
                                                    <div style="visibility: hidden;">{GENERATED_NAV_BAR}</div>
      </div></td>
 </tr>
 </table>


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 une table qui nous permet de positionner notre navigation, de la même façon qu'avec la navigation normale.
  • Ensuite, nous avons une "div" avec la class "nav_bloc". C'est le bloc avec l'image de l'horloge en background qui contient tous les liens de la navigation.
  • Puis, nous avons diverses "div" avec les liens de notre navigation. C'est séparé en trois parties :
    • Les liens que tout le monde peut voir.
    • Les liens entre le "BEGIN switch_user_logged_in" et "END switch_user_logged_in" que seuls les membres connectés peuvent voir.
    • Les liens entre "BEGIN switch_user_logged_out" et le "END switch_user_logged_out" que seuls les invités peuvent voir.
  • En avant dernier, nous avons l'aiguille qui tourne selon le lien sur lequel notre curseur est placé.
  • Enfin, nous avons l'ancienne navigation "GENERATED_NAV_BAR" qui est invisible mais qui nous sera utile pour récupérer le code des nouveaux MPs.

À l’exception des images de l'aiguille et de l'horloge, toutes les images des liens peuvent être modifiées à cette étape.



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 super du tout pour le moment.

Du coup, nous allons mettre en forme notre navigation à l'aide du code suivant que j'expliquerai ensuite :
Code:
              /*NAVIGATION*/

/*Bloc de l'horloge*/
.nav_bloc {
  background-image: url('https://i.imgur.com/u2wxcxS.png');
  width: 300px;
  height: 300px;
  position: relative;
  display: block;
  margin-top: -190px;
  margin-left: 30px;
}

/*Trucs pour les liens*/
.navv {
  position: absolute;
  display: block;
  z-index: 2;
}

/*Aiguille*/
#nav_aiguille {
  background-image: url('https://i.imgur.com/QpoF06N.png');
  width: 14px;
  height: 244px;
  bottom: 32px;
  left: 140px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transition: 0.5s;
  -webkit-transition: 0.5s;
  z-index: 1;
}

/*Positionnement des liens*/
#accueil {
  width: 100px;
  height: 27px;
  bottom: 260px;
  left: 101px;
  -webkit-transform:rotate(1deg);
  transform:rotate(1deg);
}
#rechercher {
  width: 131px;
  height: 35px;
  bottom: 200px;
  left: 184px;
  -webkit-transform:rotate(57deg);
  transform:rotate(57deg);
}
#membres {
  width: 94px;
  height: 28px;
  bottom: 100px;
  left: 218px;
  -webkit-transform:rotate(109deg);
  transform:rotate(109deg);
}
#groupes {
  width: 99px;
  height: 32px;
  bottom: 21px;
  left: 144px;
  -webkit-transform:rotate(157deg);
  transform:rotate(157deg);
}
#profil {
  width: 79px;
  height: 28px;
  bottom: 25px;
  left: 55px;
  -webkit-transform:rotate(205deg);
  transform:rotate(205deg);
}
#mp {
  width: 115px;
  height: 39px;
  bottom: 120px;
  left: -31px;
  -webkit-transform:rotate(265deg);
  transform:rotate(265deg);
}
#off, #on {
  width: 80px;
  height: 31px;
  bottom: 225px;
  left: 26px;
  -webkit-transform:rotate(315deg);
  transform:rotate(315deg);
}
#s_inscrire {
  width: 107px;
  height: 37px;
  bottom: 120px;
  left: -27px;
  -webkit-transform:rotate(263deg);
  transform:rotate(263deg);
}

/*Mouvement de l'aiguille selon le lien survolé*/
#accueil:hover ~ #nav_aiguille {
  -webkit-transform:rotate(2deg);
  transform:rotate(2deg);
}
#rechercher:hover ~ #nav_aiguille {
  -webkit-transform:rotate(57deg);
  transform:rotate(57deg);
}
#membres:hover ~ #nav_aiguille {
  -webkit-transform:rotate(109deg);
  transform:rotate(109deg);
}
#groupes:hover ~ #nav_aiguille {
  -webkit-transform:rotate(157deg);
  transform:rotate(157deg);
}
#profil:hover ~ #nav_aiguille {
  -webkit-transform:rotate(205deg);
  transform:rotate(205deg);
}
#mp:hover ~ #nav_aiguille {
  -webkit-transform:rotate(265deg);
  transform:rotate(265deg);
}
#s_inscrire:hover ~ #nav_aiguille {
  -webkit-transform:rotate(263deg);
  transform:rotate(263deg);
}
#on:hover ~ #nav_aiguille, #off:hover ~ #nav_aiguille {
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
}

               /*FIN NAVIGATION*/



Maintenant, pour ceux qui veulent comprendre ce qu'ils font à la place de faire du copier/coller, nous allons découper certaines parties de ce CSS afin de comprendre comment cela fonctionne.

Premièrement, le bloc de l'horloge :
Code:
/*Bloc de l'horloge*/
.nav_bloc {
  background-image: url('https://i.imgur.com/u2wxcxS.png');
  width: 300px;
  height: 300px;
  position: relative;
  display: block;
  margin-top: -190px;
  margin-left: 30px;
}


  • Le "background-image" est image de l'horloge.
  • Le "width" est la largeur de l'image de l'horloge et est importante puisque cela délimite la largeur du bloc également.
  • Le "height" est la hauteur de l'image de l'horloge et est importante puisque cela délimite la hauteur du bloc également.
  • La "position: relative" indique que s'il y a d'autres div à l'intérieur du bloc, leur position sera définie par rapport à la largeur et à la hauteur du bloc de l'horloge.
  • Le "display: block;" indique que le bloc de l'horloge est un bloc.
  • Le "margin-top: -190px" permet de déplacer le bloc de 190px vers le haut, à savoir sur la bannière.
  • Le "margin-left: 30px" permet de déplacer le bloc de 30px vers la droite.



Deuxièmement, certaines caractéristiques des liens :
Code:
/*Trucs pour les liens*/
.navv {
  position: absolute;
  display: block;
  z-index: 2;
}


  • La "position: absolute" veut dire que la position des liens sont automatiquement liés aux bordures du bloc de l'horloge.
  • Le "display: block" indique que les liens sont des blocs.
  • Le " z-index: 2" indique que les liens sont au-dessus des éléments qui ont un "z-index" inférieur à 2 et en-dessous des éléments qui ont un "z-index" supérieurs à 2.



Troisièmement, l'aiguille comme elle est initialement :
Code:
/*Aiguille*/
#nav_aiguille {
  background-image: url('https://i.imgur.com/QpoF06N.png');
  width: 14px;
  height: 244px;
  bottom: 32px;
  left: 140px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  z-index: 1;
}


  • Le "background-image" est image de l'aiguille.
  • Le "width" est la largeur de l'image de l'aiguille et est importante puisque cela délimite la largeur du bloc également.
  • Le "height" est la hauteur de l'image de l'aiguille et est importante puisque cela délimite la hauteur du bloc également.
  • Le "bottom" indique que le bloc de l'aiguille est à 32px du bas du bloc de l'horloge.
  • Le "left" indique que le bloc de l'aiguille est à 140px du côté gauche du bloc de l'horloge.
  • Le "transform: rotate(0deg);" indique que le bloc de l'aiguille reste droit.
  • Le "transition: 0.5s;" indique que les mouvements de l'aiguille seront d'une durée de 0,5 seconde.
  • Le " z-index: 1" indique que les liens sont au-dessus des éléments qui ont un "z-index" inférieur à 1 et en-dessous des éléments qui ont un "z-index" supérieurs à 1.



Quatrièmement, le positionnement des liens de la navigation. Comme ils sont tous basés sur le même principe, je prendrai le lien de "rechercher" comme exemple :
Code:
#rechercher {
  width: 131px;
  height: 35px;
  bottom: 200px;
  left: 184px;
  -webkit-transform:rotate(57deg);
  transform:rotate(57deg);
}


  • Le "width" est la largeur de l'image de rechercher et est importante puisque cela délimite la largeur du bloc également.
  • Le "height" est la hauteur de l'image de rechercher et est importante puisque cela délimite la hauteur du bloc également.
  • Le "bottom" indique que le bloc de rechercher est à 200px du bas du bloc de l'horloge.
  • Le "left" indique que le bloc de rechercher est à 184px du côté gauche du bloc de l'horloge.
  • Le "transform: rotate(57deg);" indique que le bloc de rechercher est tourné de 57 degrés vers la droite.



Dernièrement, le déplacement de l'aiguille en fonction du lien survolé. Comme ils sont tous basés sur le même principe, je prendrai le lien de "rechercher" comme exemple :
Code:
#rechercher:hover ~ #nav_aiguille {
  -webkit-transform:rotate(57deg);
  transform:rotate(57deg);
}


  • Le "#rechercher:hover ~ #nav_aiguille" veut dire que quand le bloc "#rechercher" (bloc de rechercher) est survolé, il y a l'effet suivant sur le bloc "#nav_aiguille" (bloc de l'aiguille).
  • Le "transform: rotate(57deg);" indique que le bloc de l'aiguille tourne de 57 degrés vers la droite. Normalement, la rotation devrait être la même que celle qui a été appliquée sur le bloc rechercher.


J'ai modifié tous les liens des images et tout est décalé! Qu'est-ce que je fais maintenant?
Premièrement, va lire les explications du CSS si tu ne l'as pas fait.
Ensuite, il va falloir repositionner chaque lien modifié avec leurs attributs "bottom", "left" et "rotate".
N'oublie pas d'aller ajuster la rotation de l'aiguille avec la nouvelle rotation de tes liens !
Enfin... bonne chance pour ce casse-tête Twisted Evil 



3. Nouveau MP (Javascript)


Avec la navigation de base, il y a une image différente que celle de la messagerie normale lorsqu'il y a un nouveau message. Seulement, ce n'est pas une fonction automatique si on fait sa propre barre de navigation. Du coup, nous allons reproduire cet effet !

Pour cela, nous allons aller dans :
> PANNEAU D'ADMINISTRATION
> > MODULES
> > > HTML & JAVASCRIPT
> > > > GESTION DES CODES JAVASCRIPT

À ce même endroit, si vous n'avez pas activé la gestion des javascripts, il faut le faire avant de faire tout autre chose.

Ensuite, nous allons "créer un nouveau javascript".
Il va falloir lui choisir un nom. Ex: "Nouveau MP"
Ensuite, il va falloir cocher le Placement "Sur toutes les pages".

Puis, on va y coller le code suivant :
Code:
jQuery().ready(function(){
        
        /* On prend l'élément du menu de base pour savoir s'il y a un nouveau message */
        var e= $("#i_icon_mini_new_message");
        
        /* Si il y en a pas, on s'arrête là */
        if(!e.length) return;
        
        /* S'il y en a, l'image changera pour l'image de nouveau message*/
        $("#mpO").attr('src','https://i.imgur.com/uTwYE10.png');
      
      
        });


Cette partie de code est expliquée directement dans le code alors on va en rester là ^^




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 !


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

NyoTheNeko

QEEL avec tableau de partenaires et image de fond - Ven 30 Mai 2014 - 13:18



Qui est en ligne



Ceci est un code de QEEL crée suite à la Demande de Fluff', ici.

Version phbb2 ▬ CSS3 & HTML5 ▬ Ce que ça donne


L'image de fond n'est pas fournie, et il se peut que vous ayez, selon votre image, besoin de changer les positions!
L'image en exemple fait 800*682px (les dimensions peuvent être changées dans le CSS)


Le code


Code HTML à placer dans Affichage -> Page d'accueil -> Templates -> Général -> index_body /!\ Mettez juste à la place du QEEL, ne remplacez pas le template par ce code! /!\ :

Code:
   <!-- BEGIN disable_viewonline -->
    <div id="qeel">
      <div id="groupes_qeel">
        <span class="gensmall">{LEGEND} : {GROUP_LEGEND}</span>
      </div>
      <div id="infos_qeel">
        <span class="gensmall">
          <span id="post_nyo">{TOTAL_POSTS}<script type="text/javascript">document.getElementById('post_nyo').innerHTML=document.getElementById('post_nyo').innerHTML.replace(/Nos membres ont posté un total de/,"Nos archives comptent");</script><script type="text/javascript">document.getElementById('post_nyo').innerHTML=document.getElementById('post_nyo').innerHTML.replace(/messages/,"missives ");</script></span>.
          <span id="users_nyo">{TOTAL_USERS}</span>
          <script type="text/javascript">document.getElementById('users_nyo').innerHTML=document.getElementById('users_nyo').innerHTML.replace(/membres enregistrés/,"citoyens, ");</script>.
          <span id="new_user_nyo">{NEWEST_USER}</span>
          <script type="text/javascript">document.getElementById('new_user_nyo').innerHTML=document.getElementById('new_user_nyo').innerHTML.replace(/L'utilisateur enregistré le plus récent est/,"dont la nouvelle recrue");</script>
        </span>
        <br/><br/>
        <span class="gensmall">
          <span id="online_users_nyo">{TOTAL_USERS_ONLINE}</span>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/il y a en tout/,"Il y a en tout, se promenant dans le royaume");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/utilisateur en ligne/,"personne");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/utilisateurs en ligne/,"personnes");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/::/,"soit");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Enregistré/,"citoyen");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Enregistrés/,"citoyens");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Invisible/,"esprit");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Invisibles/,"esprits");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Invité/,"recrue potentielle .");</script>
          <script type="text/javascript">document.getElementById('online_users_nyo').innerHTML=document.getElementById('online_users_nyo').innerHTML.replace(/Invités/,"recrues potentielles .");</script>
        </span>
        <br /><br/>
        <span class="gensmall">
          <span id="step">{LOGGED_IN_USER_LIST}</span>
          <script type="text/javascript">document.getElementById('step').innerHTML=document.getElementById('step').innerHTML.replace(/Utilisateurs enregistrés/,"En train de parcourir les lieux ");</script>
          <table id="connected">
            {L_CONNECTED_MEMBERS}
            <script type="text/javascript">jQuery('#connected span.gensmall').html(jQuery('#connected span.gensmall').html().replace(/Membres connectés/,"Ils fûrent parmis nous"));</script>
            {L_WHOSBIRTHDAY_TODAY}
            {L_WHOSBIRTHDAY_WEEK}
          </table>
        </span>
      </div>
      <div id="position_partenaires_qeel">
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
        <a href="#" target="_blank"><img src="http://i71.servimg.com/u/f71/09/03/38/36/middle10.jpg" /></a>
      </div>
    </div>
    <!-- END disable_viewonline -->



Le CSS:

Code:
   /***** DÉBUT QEEL *******/
    /* Permet de mettre l'image de fond du QEEL, sa grandeur et la couleur d'écriture. */
    #qeel {
      width: 800px;
      height: 682px;
      margin: auto;
      position: relative;
      color: #AAAAAA;
      background-image: url('URL_IMAGE_ICI');
    }

    /* Donne sa couleur au texte */
    #qeel .gensmall {
      color: #AAAAAA;
    }

    /* Permet de mettre en place les groupes & donner une largeur max + les caler vers la droite */
    #groupes_qeel {
      position: absolute;
      top: 95px;
      left: 300px;
      width: 450px;
      font-weight: bold;
      text-align: right;
    }

    /* Permet de positionner toutes les infos du QEEL & donner une largeur max */
    #infos_qeel {
      position: absolute;
      top: 180px;
      left: 375px;
      width: 350px;
    }

    /* Permet de retirer le fond des connectés ces dernières xx heures et pour les anniversaires */
    #connected {
      text-align: justify;
      width: 100%;
      background: none;
    }

    /* Permet de retirer le fond des connectés ces dernières xx heures et pour les anniversaires */
    #connected .row1 {
      text-align: justify;
      width: 100%;
      background: none;
    }

    /* Permet de positionner les partenaires */
    #position_partenaires_qeel {
      position: absolute;
      top: 506px;
      left: 138px;
      width: 522px;
      height: 118px;
    }

    /* Permet de mettre en place les images de partenaire et faire l'effet. */
    #position_partenaires_qeel img {
      display: inline-block;
      margin: 2px;
      opacity: 0.8;
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg);
      transition: all ease 1s;
    }

    /*Permet de faire l'effet sur les partenaires*/
    #position_partenaires_qeel img:hover {
      opacity: 1;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      transition: all ease 1s;
    }
    /***** FIN QEEL *******/


Mettre un crédit vers Never-Utopia est obligatoire. Retirer un crédit est interdit.
Si vous avez des problèmes avec ce LS, venez poster ici.
Merci de laisser un message pour donner vos impressions, commentaires et/ou remerciements ^^

NyoTheNeko

Créer une infobulle - Mar 20 Mai 2014 - 9:44





Créer une infobulle





Bonjour à tous! Voilà un petit tutoriel pour vous apprendre à faire une infobulle! Nous verrons rapidement les bases de ce qu'est une infobulle, mais également ses différentes variations (sur une image, sur un texte ou sur un objet (div, table, etc. mais nous ne verrons comme exemple qu'une div!)) ainsi que quelques effets sur cette dernière. Une fois avoir lu ce tuto, vous pourrez alors sans problème créer une infobulle par vous-même sans avoir à utiliser un LS uniquement pour ça! ^^


Les bases


Pour créer une infobulle, il nous faut trois choses: une balise qui entoure notre objet sur lequel sera l'infobulle ET l'infobulle, l'infobulle en elle-même, et enfin, l'objet sur lequel sera l'infobulle.
Comme déjà exprimé dans l'introduction et comme vous le voyez avec les titres de ce tuto, l'objet sur lequel sera l'infobulle peut être de plusieurs formes: un texte, une image, ou alors un autre objet, comme une able, un div ou une section entière même.
Pour afficher une infobulle, nous utiliseront alors la pseudo-classe hover qui permet de changer un objet au passage de la souris. On pourrait bien sûr utiliser d'autres pseudo-classes, comme target pour que cela soit "au click", cependant, ce tuto va uniquement vous montrer pour le hover (le target étant largement moins utilisé et quelque peu plus compliqué).

Passons donc tout de suite au code!
Code:
<div class="conteneur"><div class="objet_vise"></div><div class="infobulle"></div></div>


Ok mais là tout est vide! Et c'est un peu sale là d'avoir des div dans tous les sens!

Effectivement, et là, pour l'instant, ce code ne fait pas grand chose... et n'affiche rien! En effet, vu que les div sont vides, rien ne s'affiche! Cependant, c'est la structure de base pour notre infobulle: une div qui entoure deux objets: le premier étant l'objet sur lequel sera l'infobulle, et le second l'infobulle en elle-même.
Vous pouvez bien sûr déjà remplir les deux div internes, et même changer la première div par autre chose (une imae, un span, etc) comme nous verrons plus tard, mais l'important est d'avoir ces trois éléments!

Cependant, avant de passer à autre chose, commençons tout de suite par la base du CSS pour ces trois éléments. Faites bien attention aux classes et ce qu'il s'y fait.

Code:
.conteneur {
position: relative;
height: 100px;
width: 100px;
overflow: visible;
}

.conteneur .objet_vise {
height: 100px;
width: 100px;
background-color: black;
}

.conteneur .objet_vise:hover {
/* ici, on peut modifier l'objet visé au hover si on le veut. Ici, je change sa couleur!*/
background-color: red;
}

.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
visibility: hidden;
}

.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999:
}


Et ça donne ceci:


Ok d'accord, ça fait beaucoup tout ça! O__O

Effectivement! Mais ne vous inquiétez pas, voici les explications, pas à pas!

Code:
.conteneur {
position: relative;
height: 100px;
width: 100px;
overflow: visible;
}


Ceci est donc le code qui met en place notre conteneur. C'est à dire, ce qui va entourer nos deux div.
Il faut qu'il ait le même taille que l'objet sur lequel est l'infobulle. Dans notre cas, vu que l'objet sur lequel sera l'infobulle est un carré de 100x100 pixels, eh bien le conteneur sera aussi de la même dimension.
Il faut également absolument que l'overflow soit à visible autrement, l'infobulle ne s'affichera tout simplement pas lorsque la souris passera au-dessus de l'objet visé, tout simplement parce qu'elle sera en-dehors du conteneur (tout du moins bien souvent en partie) et qu'un overflow hidden cacherait l'infobulle. Et enfin le position relative est là pour permettre, plus tard, de positionner l'infobulle par rapport au conteneur, et donc par rapport à l'objet visé. C'est très important de mettre le position-relative: autrement, toute vos infobulles se mettront par rapport au parent le plus proche ayant un position relative, ce qui est parfois votre moniteur ! Il est donc obligatoire de le mettre, pour ne pas avoir une infobulle n'importe où !


Code:
.conteneur .objet_vise {
height: 100px;
width: 100px;
background-color: black;
}


Ce code-ci permet de mettre en place l'objet visé, donc le mettre en forme. Ici, on crée simplement un carré noir en 100x100 pixels. Vous remarquez que l'on a écrit .conteneur .objet_vise. Cette manière d'écrire veut dire "l'objet de classe objet_vise qui se trouve dans un objet de classe conteneur". Retenez cette manière d'écrire, car elle sera à nouveau utilisée plus bas!


Code:
.conteneur .objet_vise:hover {
/* ici, on peut modifier l'objet visé au hover si on le veut. Ici, je change sa couleur!*/
background-color: red;
}

Grâce au hover sur objet_vise, on peut modifier l'objet visé lorsque la souris est dessus. On aurait également pu échanger et mettre .conteneur:hover .objet_vise pour dire que nous voulons que l'effet se fasse sur l'objet visé, tant que la souris est sur le conteneur ce qui inclut l'infobulle. En effet, avec cette façon d'écrire, si la souris est sur l'infobulle et non pas sur l'objet visé, alors l'objet gardera ses valeurs de base (donc il sera noir et non pas rouge).


Pour que vous visualisiez mieux, voici ce qu'on obtient avec .conteneur .objet_vise:hover { background-color: red; }


Et voici ce qu'on obtient avec .conteneur:hover .objet_vise { background-color: red; }


Il faut mettre votre souris sur l'infobulle!

Code:
.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
visibility: hidden;
}

Ceci permet de mettre en forme l'infobulle. Nous avons donc une infobulle qui fait du 200x100 pixels, et est d'une couleur grise (le background-color).
C'est le position: absolute permet dont de positionner l'infobulle par rapport à l'objet visé (et du conteneur). Ici, nous avons mit à 80 pixels du haut (top) et 80 pixels de la gauche (left). Nour aurions également pu utiliser bottom (bas) et right (droite) pour positionner de l'autre coté. On aurait également pu utiliser des valeurs négatives, mais c'est fortement déconseillé.
Enfin, nous avns l'opacité (opacity) à 0 et la visibilité (visibility) à hidden (=caché). L'opacité à 0 permet de faire que l'infobulle soit invisible, et la visibilité cachée, permet également de faire en sorte que si la souris passe sur l'infobulle (qui est dans le conteneur et donc pourrait, pour certains navigateur (Chrome...), compter comme un conteneur:hover), celle-ci ne soit pas "vue" par le navigateur. C'est à dire qu'il ne compte pas comme "existant" à ce moment-là pour le navigateur. C'est compliqué, mais dites-vous que si vous ne voulez pas que sous certaine navigateurs l'infobulle apparaisse "sans raison" il faut le mettre!


Code:
.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999:
}

Ceci permet donc de rendre l'infobulle visible, donc en changeant l'opacité à 1, et la visibilité à visible. Le z-index permet de mettre l'infobulle au-dessus de tout. Vous pouvez donc le changer pour autre chose (plus grand que 0), 999 étant une valeur assez grande pour qu tout soit au-dessous de ça!



Les variations


Sur une image


Donc au lieu d'une div, on peut simplement avoir une image en tant qu'objet visé (donc objet sur lequel sera l'infobulle).

Titre Image


Et voici le code correspondant:

Code:
<div class="conteneur"><img src="http://i55.servimg.com/u/f55/09/03/38/36/photo-10.png" title="Titre Image" alt="Titre Image"><div class="infobulle"></div></div>


Avec le CSS correspondant:

Code:
.conteneur {
position: relative;
height: 130px;
width: 130px;
overflow: visible;
}

.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
visibility: hidden;
}

.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999:
}



Hé, mai quasi-rien ne change!

Effectivement, mis à part la taille du conteneur qui change pour s'adapter à la taille de l'image, et le fait que la partie sur "objet_vise" est simplement effacée, eh bien rien ne change! C'est ça qui est bien avec les infobulles: changer d'un objet à l'autre est très simple!

Et si je veux faire des effets sur mon image?

Eh bien il vous suffit d'ajouter ces deux choses là:

Code:
.conteneur img {
/* Effet sur l'image lorsque la souris n'est pas là */
}

.conteneur img:hover {
/* Lorsque la souris est sur l'image*/
}

Ou bien sûr, comme expliqué plus tôt, on peut mettre .conteneur:hover img à la place de .conteneur img:hover.

Donc ceci permet de mettre en forme toutes les images qui sont dans conteneur.

Attends... TOUTES les images dans conteneur? Mais alors... cela veut dire que si j'ai une image dans mon infobulle elle sera affectée aussi?

Et oui! Si vous ne voulez pas que les images dans votre infobulle soient touchées, alors il va falloir mettre une classe à l'image sur laquelle sera l'infobulle, et donc refaire comme plus tôt.

Code:
<div class="conteneur"><img class="objet_vise" src="http://i55.servimg.com/u/f55/09/03/38/36/photo-10.png" title="Titre Image" alt="Titre Image"><div class="infobulle"></div></div>


Et voilà, le problème est contourné en réutilisant les codes de départ, mais en pansant que "objet_vise" est à présent une image!


Sur un texte


Voici donc ce que l'on veut avoir:
Blah blah blah. Ceci aura une infobulle...
Blah blah blah.

Et voici les codes:

Code:
Blah blah blah. <span class="conteneur"><span class="objet_vise">Ceci aura une infobulle... </span> <div class="infobulle"></div></span>Blah blah blah.


Code:
.conteneur {
position: relative;
overflow: visible;
}

.conteneur .objet_vise {
color: blue;
}

.conteneur .objet_vise:hover {
color: red;
}

.conteneur .infobulle {
position: absolute;
top: 20px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
visibility: hidden;
}

.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999;
}


À nouveau pas grand chose ne change, si ce n'est que l'objet visé et le conteneur sont tous deux des span! En effet, c'est très important, car les span sont des objet "inline" (=en ligne) c'est à dire qu'il n'y a pas de retour à la ligne avant ou après de façon forcée, ce qui permet de faire que tout ceci reste dans le texte.
Vous remarquerez aussi que la hauteur et la largeur des éléments en span ont été retirés, vu que ceux-ci se mettent à la taille de façon automatique: pas besoin donc de les mettre!

C'est donc une plus "grande" différence que ce qu'il y avait pour le passage d'une div à une image, mais relativement simple tout de même!


Sur un objet (div)


Eh bien c'est exactement le code vu au départ de notre tuto! Vos pouvez bien-sûr transformer votre div comme bon vous semble, y mettre du texte, une image de fond, etc etc etc. Bref, beaucoup de possibilités, et je laisse votre créativité imaginer que faire et le tenter! Comme d'habitude, la section des problèmes est là pour vous aider avec tout problème de code! Wink


Quelques effets


Maintenant que vous savez comment faire une infobulle, vous devez vous dire que c'est assez... moche! En effet, elle ne fait qu'apparaître tout simplement et disparaître aussi vite qu'elle est venue! Aucune transition, etc. Je vais donc ici vous montrer quelques exemples de transitions, assez simple à effectuer sur les infobulles! Nous n'allons donc que toucher sur le code CSS des infobulles, le rester restera pareil. (Je mets juste une transition sur l'objet visé pour que cela soit plus joli).


Apparition en fondu


Ce que ça donne:


Et voici le CSS correspondant:

Code:
.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
visibility: hidden;
transition: all ease 1s;
}

.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999:
transition: all ease 1;
}


Comme vous le voyez, il suffit d'ajouter un "transition". Ici, elle se fait en une seconde (le 1s), mais on peut aussi la faire plus court ou plus longue en changeant cette valeur. On a également ajouté le transition au hover ET au normal. En effet, si on veut que l'infobulle apparaisse doucement, on voudrait aussi qu'elle disparaisse de la même manière!
Si vous ne voulez que cela soit fait en fondu que dans un sens, dites-vous que le "hover" est l'apparition, et le normal pour la disparition.


Apparition en agrandissement


Voici ce que nous voulons:


Et le code CSS correspondant, on utilise transform: scale:

Code:
.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
-webkit-transform: scale(0);
transform: scale(0);
visibility: hidden;
transition: all ease 1s;
}

.conteneur:hover .infobulle {
-webkit-transform: scale(1);
transform: scale(1);
visibility: visible;
z-index: 999:
transition: all ease 1;
}


Comme vous pouvez le voir, on retire l'opacité et on met simplement le transform: scale à la place, en le faisant aller de 0 à 1. c'est à dire que l'infobulle ira d'une grandeur = 0 à une grandeur =1 (qui est sa grandeur naturelle. On n'a donc plus besoin d'opacité.
À nouveau, on utilise une transition pour que l'apparition se fasse graduellement!


Apparition en rotation


Voici ce que nous voulons:


Avec le code CSS:

Code:
.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
opacity: 0;
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
visibility: hidden;
transition: all ease 1s;
}

.conteneur:hover .infobulle {
opacity: 1;
visibility: visible;
z-index: 999:
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
transition: all ease 1;
}


Ici, on utilise donc transform: rotate, en passant de 360 à 0 degrés. Cela permet de faire faire un tour complet à l'infobulle. Il est obligatoire d'avoir 0 degrés au hover, pour que votre infobulle soit à l'endroit est droite. Vous pouvez très bien changer la valeur si vous voulez, par exemple, qu'elle soit quelque peu en biais lors de l'arrêt de la transition!
La valeur de rotate au "normal" indique donc où on veut commencer la rotation, donc si l'infobulle fait un tour entier, un demi tour, etc. Bref, à vous de choisir!
Vous remarquez également qu'on a gardé l'opacité ici, donc qu'on a un mélange entre un fondu et une rotation! Cependant, ceci est obligatoire, car autrement, votre infobulle apparait de façon soudaine, et effectue simplement une rotation une fois apparue!
Et bien sûr, l'utilisation de transition pour que tout ceci se fasse un peu comme une animation!


Apparition en rotation et agrandissement


Voici ce que nous voulons:


Avec le code CSS:

Code:
.conteneur .infobulle {
position: absolute;
top: 80px;
left: 80px;
width: 200px;
height: 100px;
background-color: #C1BFBF;
-webkit-transform: rotate(360deg) scale(0);
transform: rotate(360deg) scale(0);
visibility: hidden;
transition: all ease 1s;
}

.conteneur:hover .infobulle {
visibility: visible;
z-index: 999:
-webkit-transform: rotate(0deg) scale(1);
transform: rotate(0deg) scale(1);
transition: all ease 1;
}


Comme vous pouvez le voir, il y a présent deux valeurs à transform: rotate ET scale. Grâce à scale, on peut également supprimer l'opacité, vu que l'on part d'une grandeur nulle et que donc l'infobulle n'est pas "là".
Et bien sûr la transition pour l'effet d'animation.

Vous pouvez très bien a imaginer d'autres formes d'apparition pour les infobulles, mais ceci vous donne déjà quelques idées!

Et voilà, c'est la fin de ce tuto! Si vous avez des questions ou des problèmes, n'hésitez pas!

A-Lice

Fiche de pub - Lun 12 Mai 2014 - 0:48



Bonjour/bonsoir.

Une demande de fiche de pub a été faite, voici le LS.



HTML ▬ Aperçu : www


Voici le code :
Code:
<div style="width: 800px; text-align:center; background-color:yellow; color:black; margin:auto; font-family:arial;">
<br /><img src="http://zupimages.net/up/14/19/aewu.png" alt="Bannière" />
<br /><span style="font-size:35px; font-family:arial;">Titre du forum</span>
<br /><table><tr><td><div style="padding:5px; margin-left:-3px; width:388px; border-top:4px solid black; -moz-border-top:4px solid black; -o-border-top:4px solid black; -ms-border-top:4px solid black; -webkit-border-top:4px solid black; border-bottom:4px solid black; -moz-border-bottom:4px solid black; -o-border-bottom:4px solid black; -webkit-border-bottom:4px solid black; -ms-border-bottom:4px solid black; border-right:4px solid black; -moz-border-right:4px solid black; -ms-border-right:4px solid black; -o-border-right:4px solid black; -webkit-border-right:4px solid black; background-color:lime; text-align:justify; font-size:18px; font-family:arial; height:300px;">
<span style="display:block; font-size:25px; font-weight:bold; text-align:center;">CONTEXTE</span>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget suscipit enim. Mauris sed dolor iaculis, adipiscing nisl a, varius mi. Nam sed dapibus massa. Cras sit amet risus tempus arcu dictum vulputate in porta enim. Etiam id libero id orci dapibus porttitor. Maecenas feugiat, turpis id faucibus faucibus, metus lacus egestas dolor, at lacinia elit augue id dui. Sed et arcu felis. In vel iaculis est. Maecenas felis diam, pulvinar et ligula quis, rutrum lobortis nibh. Nam dignissim, est quis elementum euismod, sapien libero convallis erat, non rutrum diam mi eu ipsum.

</div></td><td><div style="padding:5px; margin-left:-4px; width:388px; border-top:4px solid black; -moz-border-top:4px solid black; -o-border-top:4px solid black; -ms-border-top:4px solid black; -webkit-border-top:4px solid black; border-bottom:4px solid black; -moz-border-bottom:4px solid black; -o-border-bottom:4px solid black; -webkit-border-bottom:4px solid black; -ms-border-bottom:4px solid black; background-color:lime; text-align:justify; font-size:18px; font-family:arial; height:300px;">
<span style="display:block; font-size:25px; font-weight:bold; text-align:center;">NOUVEAUTÉ</span>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent eget suscipit enim. Mauris sed dolor iaculis, adipiscing nisl a, varius mi. Nam sed dapibus massa. Cras sit amet risus tempus arcu dictum vulputate in porta enim. Etiam id libero id orci dapibus porttitor. Maecenas feugiat, turpis id faucibus faucibus, metus lacus egestas dolor, at lacinia elit augue id dui. Sed et arcu felis. In vel iaculis est. Maecenas felis diam, pulvinar et ligula quis, rutrum lobortis nibh. Nam dignissim, est quis elementum euismod, sapien libero convallis erat, non rutrum diam mi eu ipsum.

</div></td></tr></table>
<div style="border-bottom:4px solid black; -moz-border-bottom:4px solid black; -o-border-bottom:4px solid black; -webkit-border-bottom:4px solid black; -ms-border-bottom:4px solid black; padding:5px; font-size:18px; font-family:arial;">
<span style="display:block; font-size:25px; font-weight:bold; text-align:center;">STATISTIQUE</span>

Nous comptons {FORUMCOUNTUSER} habitants ayant envoyés {FORUMCOUNTPOST} courrier à leurs voisins. Le maire a emménagé le 01 décembre 2013.

</div><div style="padding:5px; background-color:lime; font-size:35px; font-family:arial;">
<img src="http://zupimages.net/up/14/19/fva3.png" alt="" /> <img src="http://zupimages.net/up/14/19/fva3.png" alt="" /> <img src="http://zupimages.net/up/14/19/fva3.png" alt="" />

</div></div>


Si vous avez un problème avec le code, vous aurez plus de chance d'avoir une réponse en postant votre problème ici .

Trenz

Style Rond - Sam 4 Jan 2014 - 18:20






Citation

TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE



Code:
<style> .entete { border:dashed 0px #000000; -moz-border-radius-topleft: 80px; -moz-border-radius-topright:80px; -moz-border-radius-bottomleft:80px; -moz-border-radius-bottomright:80px; -webkit-border-top-left-radius:80px; -webkit-border-top-right-radius:80px; -webkit-border-bottom-left-radius:80px; -webkit-border-bottom-right-radius:80px; border-top-left-radius:80px; border-top-right-radius:80px; border-bottom-left-radius:80px; border-bottom-right-radius:80px; background-color: #000000; color: #FFFFFF; width: 200px; height: 200px; overflow: auto; padding: 10px } .entete:hover { background-color: #540707; color: #EDF500 </style>

<center><div class="entete">
[center]<div style="font-family: Oswald, cursive">[size=24]Citation[/size]</div>[/center]

TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE TEXTE

[right][size=7] (c) <a href="http://www.never-utopia.com/forum">Never Utopia</a>[/size][/right]


Ceci est une petite en-tête de rp ronde, faîtes avec du hover. J'insiste sur le fait que le crédit doit être gardé, il est interdit de l'enlever, ceci sera considéré comme du plagiat. Postez un petit merci pour avoir le code, vous me ferez grand plaisir <3

Hiro'

Affichage du profil au survol de l'avatar - Sam 21 Sep 2013 - 21:52



Bonjour tout le monde !
Nouveau tutoriel, certainement plus utile que le précédent. Il s'agît ici de cacher assez simplement le profil à l'intérieur de votre avatar. Mystérieux, isn't it ? Mystérieux, peut-être mais relativement simple.

Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 ZEG3qYu

Ce tuto nécessite la modification des templates et de la fiche de style CSS. Vous devez donc être administrateur fondateur.
Ce tuto est valable pour un forum avec des avatars aux dimensions 200*400. Il est cependant assez simple à personnaliser. Tout est expliqué Wink


Merci à Sparrow à qui j'ai subtilisé le code CSS qu'il utilise ici.


Première partie : Templates.

Elles font peur, elles inquiètent, elles en imposent et font les fières avec leurs grands airs qui font que vous les trouvez totalement hors de votre portée. Pourtant, il va bien falloir y toucher ! Alors retroussez vos manches, et rendez-vous sur le template viewtopic_body.

Cernons la partie qui nous intéresse.

Code:
<!-- BEGIN displayed -->
 <tr class="post post--{postrow.displayed.U_POST_ID}" id="p{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}">
 <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="150">
 <span class="name"><a name="{postrow.displayed.U_POST_ID}"></a><strong>{postrow.displayed.POSTER_NAME}</strong></span><br />
 <span class="postdetails poster-profile">
 {postrow.displayed.POSTER_RANK}<br />
 {postrow.displayed.RANK_IMAGE}{postrow.displayed.POSTER_AVATAR}<br /><br />
 <!-- BEGIN profile_field -->
 {postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
 <!-- END profile_field -->
 {postrow.displayed.POSTER_RPG}
 </span><br />
 <img src="http://2img.net/i/fa/empty.gif" alt="" style="width:150px;height:1px" />
 </td>


Que de variables ! Cependant, quand on regarde bien, on remarque que leur utilité est parfois quasi-transparente.

Kézako ?

  • {postrow.displayed.POSTER_NAME}. Celle-ci est très importante. Il s'agît du nom du posteur. Ne me dîtes pas que vous ne l'aviez pas deviné.
  • {postrow.displayed.POSTER_RANK}. Le rang du membre, si rang il y a. Juste en dessous, on a l'image associée à ce rang.
  • {postrow.displayed.POSTER_AVATAR}. Voilà celle qui nous intéresse particulièrement : l'avatar.
  • {postrow.displayed.POSTER_JOINED}. C'est la date d'inscription du membre.



Certaines variables importantes n'apparaissent pas, car englobées dans une autre.
On devinera cependant assez facilement que :

  • Le nombre de messages du membre est {postrow.displayed.POSTER_POSTS}
  • La date d'inscription du membre est {postrow.displayed.POSTER_JOINED}

Ce sont les deux qui nous intéresseront ici.

Bon, il est temps de le modifier ce template. Alors pour commencer, nous allons supprimer du code !
Vous pouvez donc supprimer tout ce qui est inclut entre :


Code:
<span class="postdetails poster-profile">

et
Code:
</span><br />



Qu'est-ce que j'ai supprimé ?
Tout le profil qui s'affichait à côté de votre message. C'est malin ! Il ne reste plus que votre pseudo. Heureusement que je suis là pour rattraper tout ça.


Voilà par quoi vous allez remplacer tout ça :

Code:
<div class="description4"><div style="display: block; text-align: center; width: 200px; height:400px; overflow:visible;">{postrow.displayed.POSTER_AVATAR}<div class="description4_contenu" style="margin-top:-400px;"><div style="OVERFLOW: auto; width: 190px; height: 390px; padding: 5px;font-variant:small-caps; text-shadow:1px 1px 1px white; font-size:14px;"><br /><div style="text-align:center; font-size:17px;">{postrow.displayed.POSTER_NAME}.</div><center><i>{postrow.displayed.POSTER_RANK}</i></center><br /><br />{postrow.displayed.POSTER_POSTS} messages.<br />Inscrit le {postrow.displayed.POSTER_JOINED}.</div></div></div></div>
<br /><br />
{postrow.displayed.POSTER_RPG}


Une petite explication s'impose.

Kézako ?

  • description4 est un cadre. Dans ce cadre, vous avez affiché l'avatar du membre avec la variable { postrow.displayed.POSTER_AVATAR }.
  • Par dessus ce magnifique cadre vous avez rajouté un cadre nommé description4_contenu. C'est là que s'afficheront les éléments que vous aurez décidé d'afficher.



Personnaliser

  • La taille de l'avatar. Il suffit de repérer tous les 400 et les remplacer par votre hauteur, et tous les 200 et les remplacer par votre largeur. Attention ! Il y en a dans le HTML et dans le CSS. Il y a également un endroit où les dimensions ont perdus 10 px, vous devrez également enlever 10px à vos dimensions. Pourquoi ? Cela est du a un padding, une marge intérieure.
  • Le contenu caché. Dans cet exemple, il correspond à ceci :

    Code:
    {postrow.displayed.POSTER_NAME}.</div><center><i>{postrow.displayed.POSTER_RANK}</i></center><br /><br />{postrow.displayed.POSTER_POSTS} messages.<br />Inscrit le {postrow.displayed.POSTER_JOINED}.


    Pour savoir ce que veulent dire ces variables, il faut lire le début du tutoriel.


  • Vous pouvez tout naturellement modifier les différentes variables de templates, le texte et la mise en forme appliquée.



Le template est modifié. Enregistrez-le et validez-le. Allez voir : le texte est superposé sur l'avatar. Le CSS peut entrer en piste !

Deuxième partie : CSS.

Bon, après le détail que j'ai fait pendant la première partie, vous devriez comprendre facilement ce code sans plus d'explications. Je le répète encore une fois : n'oubliez pas de modifier les dimensions de l'avatar pour qu'ils correspondent à ceux de votre forum.
Et le code fut.

Code:
.description4 {
  display: block;
  width: 200px;
  margin: auto;
  height: 400px;
  overflow: hidden;
  transition:0.4s ease;
}

.description4:hover {
  display: block;
  width: 200px;
  margin: auto;
  height: 400px;
  overflow: hidden;
}

.description4_contenu {
  position: absolute;
  width: 200px;
  height: 400px;
  overflow: 400px;
  background-color: #EFE9DD;
  font-size: 11.5px;
  font-family:'Georgia';
  color: #3E352E;
  text-align: justify;
  padding:0px;
  opacity: 0;
  transform: all;
  transition: 1s;
}

.description4_contenu:hover {
  opacity: 0.8;
  transform: all;
  transition: 1s;
}

Pour l'explication du code, je vous envoie à mon précédent tutoriel.
Et, c'est terminé !
Si vous vous êtes paumé en route ou si vous êtes un gros flemmard qui n'a pas tout lu, voici une dernière partie pour pouvoir voir le code tout beau tout propre.

Troisième partie : Pour les flemmards et les paumés. (patapey ?)

CSS :

Code:
.description4 {
  display: block;
  width: 200px;
  margin: auto;
  height: 400px;
  overflow: hidden;
  transition:0.4s ease;
}

.description4:hover {
  display: block;
  width: 200px;
  margin: auto;
  height: 400px;
  overflow: hidden;
}

.description4_contenu {
  position: absolute;
  width: 200px;
  height: 400px;
  overflow: 400px;
  background-color: #EFE9DD;
  font-size: 11.5px;
  font-family:'Georgia';
  color: #3E352E;
  text-align: justify;
  padding:0px;
  opacity: 0;
  transform: all;
  transition: 1s;
}

.description4_contenu:hover {
  opacity: 0.8;
  transform: all;
  transition: 1s;
}


Template viewtopic_body :

Code:
<script type="text/javascript">
//<![CDATA[
var multiquote_img_off = '{JS_MULTIQUOTE_IMG_OFF}', multiquote_img_on = '{JS_MULTIQUOTE_IMG_ON}', _atr = '{JS_DIR}addthis/', _ati = '{PATH_IMG_FA}addthis/'{ADDTHIS_LANG}, addthis_localize = { share_caption: "{L_SHARE_CAPTION}", email: "{L_EMAIL}", email_caption: "{L_EMAIL_CAPTION}", favorites: "{L_SHARE_BOOKMARKS}", print: "{L_PRINT}", more: "{L_MORE}" };
$(function(){
 _atc.cwait = 0;
 $('.addthis_button').mouseup(function(){
 if ($('#at15s').css('display') == 'block') {
 addthis_close();
 }
 });
});

var hiddenMsgLabel = { visible:'{JS_HIDE_HIDDEN_MESSAGE}', hidden:'{JS_SHOW_HIDDEN_MESSAGE}' };
showHiddenMessage = function(id)
{
    try
    {
        var regId = parseInt(id, 10);
        if( isNaN(regId) ) { regId = 0; }
        
        if( regId > 0)
        {
            $('.post--' + id).toggle(0, function()
 {
 if( $(this).is(":visible") )
 {
 $('#hidden-title--' + id).html(hiddenMsgLabel.visible);
 }
 else
 {
 $('#hidden-title--' + id).html(hiddenMsgLabel.hidden);
 }
 });
        }
    }
    catch(e) { }
    
 return false;
};

//]]>
</script>

<table width="100%" border="0" cellspacing="2" cellpadding="0">
 <tr>
 <td align="left" valign="middle" nowrap="nowrap">
 <span class="nav">
 <!-- BEGIN switch_user_authpost -->
 <a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}one" alt="{L_POST_NEW_TOPIC}" align="middle" border="0" /></a>   
 <!-- END switch_user_authpost -->
 <!-- BEGIN switch_user_authreply -->
 <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" id="i_reply" alt="{L_POST_REPLY_TOPIC}" align="middle" border="0" /></a>
 <!-- END switch_user_authreply -->
 </span>
 </td>
 <td align="left" valign="middle" nowrap="nowrap">
 <!-- BEGIN switch_twitter_btn -->
 <span id="twitter_btn" style="margin-left: 6px; ">
 <a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal">Tweet</a>
 <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
 </span>
 <!-- END switch_twitter_btn -->
 <!-- BEGIN switch_fb_likebtn -->
 <span id="fb_likebtn" style="margin-left: 6px; ">
 <iframe src="http://www.facebook.com/plugins/like.php?href={FORUM_URL}{TOPIC_URL}&layout=button_count&show_faces=false&width=100&action=like&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100px; height:21px;" allowTransparency="true"></iframe>
 </span>
 <!-- END switch_fb_likebtn -->
 </td>
 <td class="nav" valign="middle" width="100%"><span class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_SEP}<a class="nav" href="{U_ALBUM}">{L_ALBUM}</a>{NAV_CAT_DESC_SECOND}</span></td>
 <td align="right" valign="bottom" nowrap="nowrap" width="100%">
 <span class="gensmall bold">
 <a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&pub=forumotion">{L_SHARE}</a>
 <!-- BEGIN switch_plus_menu -->
  | .
 <script type="text/javascript">//<![CDATA[
 var url_favourite = '{U_FAVOURITE_JS_PLUS_MENU}';
 var url_newposts = '{U_NEWPOSTS_JS_PLUS_MENU}';
 var url_egosearch = '{U_EGOSEARCH_JS_PLUS_MENU}';
 var url_unanswered = '{U_UNANSWERED_JS_PLUS_MENU}';
 var url_watchsearch = '{U_WATCHSEARCH_JS_PLUS_MENU}';
 var url_tellfriend = '{U_TELLFRIEND_JS_PLUS_MENU}';
 insert_plus_menu('f{FORUM_ID}&t={TOPIC_ID}','{JS_SESSION_ID}', {JS_AUTH_FAVOURITES});
 //]]>
 </script>
 <!-- END switch_plus_menu -->
 </span>
 </td>
 </tr>
</table>

<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0" >
 <tr align="right">
 <td class="catHead" colspan="3" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td width="9%" class="noprint"> </td>
 <td align="center" class="t-title">
 <h1 class="cattitle"> {TOPIC_TITLE}</h1>
 </td>
 <td align="right" width="9%" class="browse-arrows"><a href="{U_VIEW_OLDER_TOPIC}">{L_VIEW_PREVIOUS_TOPIC}</a> <a href="{U_VIEW_NEWER_TOPIC}">{L_VIEW_NEXT_TOPIC}</a> <a href="#bottom">{L_GOTO_DOWN}</a> </td>
 </tr>
 </table>
 </td>
 </tr>
 <!-- BEGIN topicpagination -->
 <tr>
 <td class="row1 pagination" colspan="2" align="right" valign="top"><span class="gensmall">{PAGINATION}</span></td>
 </tr>
 <!-- END topicpagination -->
 {POLL_DISPLAY}
 <tr>
 <th class="thLeft" nowrap="nowrap" width="150px" height="26">{L_AUTHOR}</th>
 <th class="thRight" nowrap="nowrap" colspan="2">{L_MESSAGE}</th>
 </tr>
 <!-- BEGIN postrow -->
 <!-- BEGIN hidden -->
 <tr>
 <td class="postdetails {postrow.hidden.ROW_CLASS}" colspan="3" align="center">{postrow.hidden.MESSAGE}</td>
 </tr>
 <!-- END hidden -->
 <!-- BEGIN displayed -->
 <tr class="post post--{postrow.displayed.U_POST_ID}" id="p{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}">
 <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="150">
                  <span class="name"><div style="font-size:20px;text-align:center; margin-bottom:-20px;z-index:150;letter-spacing:2px;"><a name="{postrow.displayed.U_POST_ID}"></a><strong>{postrow.displayed.POSTER_NAME}</strong></div></span><br />
 <span class="postdetails poster-profile">
 
                                  
                                  <div class="description4"><div style="display: block; text-align: center; width: 200px; height:400px; overflow:visible;">{postrow.displayed.POSTER_AVATAR}<div class="description4_contenu" style="margin-top:-400px;"><div style="OVERFLOW: auto; width: 190px; height: 390px; padding: 5px;font-variant:small-caps; text-shadow:1px 1px 1px white; font-size:14px;"><br /><div style="text-align:center; font-size:17px;">{postrow.displayed.POSTER_NAME}.</div><center><i>{postrow.displayed.POSTER_RANK}</i></center><br /><br />{postrow.displayed.POSTER_POSTS} messages.<br />Inscrit le {postrow.displayed.POSTER_JOINED}.</div></div></div></div>
                                  
                                  <br /><br />
 
 {postrow.displayed.POSTER_RPG}
 </span><br />
 <img src="http://2img.net/i/fa/empty.gif" alt="" style="width:150px;height:1px" />
 </td>
 <td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="100%" height="28" colspan="2">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td><span class="postdetails"><img src="{postrow.displayed.MINI_POST_IMG}" alt="{postrow.displayed.L_MINI_POST_ALT}" title="{postrow.displayed.L_MINI_POST_ALT}" border="0" />{L_POST_SUBJECT}: {postrow.displayed.POST_SUBJECT}   <img src="{postrow.displayed.MINI_TIME_IMG}" alt="" border="0" />{postrow.displayed.POST_DATE}</span></td>
 <td valign="top" nowrap="nowrap" class="post-options">
 {postrow.displayed.THANK_IMG} {postrow.displayed.MULTIQUOTE_IMG} {postrow.displayed.QUOTE_IMG} {postrow.displayed.EDIT_IMG} {postrow.displayed.DELETE_IMG} {postrow.displayed.IP_IMG} {postrow.displayed.REPORT_IMG}
 </td>
 </tr>
 <tr>
 <td colspan="2" class="hr">
 <hr />
 </td>
 </tr>
 <tr>
 <td colspan="2">
 <!-- BEGIN switch_vote_active -->
 <div class="vote gensmall">
 <!-- BEGIN switch_vote -->
 <div class="vote-button"><a href="{postrow.displayed.switch_vote_active.switch_vote.U_VOTE_PLUS}">+</a></div>
 <!-- END switch_vote -->

 <!-- BEGIN switch_bar -->
 <div class="vote-bar" title="{postrow.displayed.switch_vote_active.L_VOTE_TITLE}">
 <!-- BEGIN switch_vote_plus -->
 <div class="vote-bar-plus" style="height:{postrow.displayed.switch_vote_active.switch_bar.switch_vote_plus.HEIGHT_PLUS}px;"></div>
 <!-- END switch_vote_plus -->

 <!-- BEGIN switch_vote_minus -->
 <div class="vote-bar-minus" style="height:{postrow.displayed.switch_vote_active.switch_bar.switch_vote_minus.HEIGHT_MINUS}px;"></div>
 <!-- END switch_vote_minus -->
 </div>
 <!-- END switch_bar -->

 <!-- BEGIN switch_no_bar -->
 <div title="{postrow.displayed.switch_vote_active.L_VOTE_TITLE}" class="vote-no-bar">----</div>
 <!-- END switch_no_bar -->

 <!-- BEGIN switch_vote -->
 <div class="vote-button"><a href="{postrow.displayed.switch_vote_active.switch_vote.U_VOTE_MINUS}">-</a></div>
 <!-- END switch_vote -->
 </div>
 <!-- END switch_vote_active -->

 <div class="postbody">

 <div>{postrow.displayed.MESSAGE}</div>

 <!-- BEGIN switch_attachments -->
 <dl class="attachbox">
 <dt>{postrow.displayed.switch_attachments.L_ATTACHMENTS}</dt>
 <dd>
 <!-- BEGIN switch_post_attachments -->
 <dl class="file">
 <dt>
 <img src="{postrow.displayed.switch_attachments.switch_post_attachments.U_IMG}" alt="" />

 <!-- BEGIN switch_dl_att -->
 <a class="postlink" href="{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.U_ATTACHMENT}">{postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT}</a> {postrow.displayed.switch_attachments.switch_post_attachments.switch_dl_att.ATTACHMENT_DEL}
 <!-- END switch_dl_att -->

 <!-- BEGIN switch_no_dl_att -->
 {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT} {postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.ATTACHMENT_DEL}
 <!-- END switch_no_dl_att -->
 </dt>

 <!-- BEGIN switch_no_comment -->
 <dd>
 <em>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_comment.ATTACHMENT_COMMENT}</em>
 </dd>
 <!-- END switch_no_comment -->

 <!-- BEGIN switch_no_dl_att -->
 <dd>
 <em><strong>{postrow.displayed.switch_attachments.switch_post_attachments.switch_no_dl_att.TEXT_NO_DL}</strong></em>
 </dd>
 <!-- END switch_no_dl_att -->

 <dd>({postrow.displayed.switch_attachments.switch_post_attachments.FILE_SIZE}) {postrow.displayed.switch_attachments.switch_post_attachments.NB_DL}</dd>
 </dl>
 <!-- END switch_post_attachments -->
 </dd>
 </dl>
 <!-- END switch_attachments -->

 <div class="clear"></div>
 <!-- BEGIN switch_signature -->
 <div class="signature_div">
 {postrow.displayed.SIGNATURE}
 </div>
 <!-- END switch_signature -->

 </div>
 <span class="gensmall">{postrow.displayed.EDITED_MESSAGE}</span>
 </td>
 </tr>
 </table>
 </td>
 </tr>
 <tr class="post--{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}">
 <td class="{postrow.displayed.ROW_CLASS} browse-arrows"{postrow.displayed.THANK_BGCOLOR} align="center" valign="middle" width="150">
 <a href="#top">{L_BACK_TO_TOP}</a> <a href="#bottom">{L_GOTO_DOWN}</a>
 </td>
 <td class="{postrow.displayed.ROW_CLASS} messaging gensmall"{postrow.displayed.THANK_BGCOLOR} width="100%" height="28">
 <table border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td valign="middle">
 {postrow.displayed.PROFILE_IMG} {postrow.displayed.PM_IMG} {postrow.displayed.EMAIL_IMG}<!-- BEGIN contact_field --> {postrow.displayed.contact_field.CONTENT}<!-- END contact_field --> {postrow.displayed.ONLINE_IMG}
 </td>
 </tr>
 </table>
 </td>
 </tr>
 <!-- BEGIN first_post_br -->
</table>
<hr />
<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
 <tr>
 <th class="thLeft" nowrap="nowrap" width="150px" height="26">{L_AUTHOR}</th>
 <th class="thRight" nowrap="nowrap" colspan="2">{L_MESSAGE}</th>
 </tr>
 <!-- END first_post_br -->
 <!-- END displayed -->
 <!-- END postrow -->
 <!-- BEGIN no_post -->
 <tr align="center">
 <td class="row1" colspan="3" height="28">
 <span class="genmed">{no_post.L_NO_POST}</span>
 </td>
 </tr>
 <!-- END no_post -->
 <tr align="right">
 <td class="catBottom" colspan="3" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td width="9%" class="noprint"> </td>
 <td align="center" class="t-title"><a name="bottomtitle"></a><h1 class="cattitle">{TOPIC_TITLE}</h1></td>
 <td align="right" nowrap="nowrap" width="9%" class="browse-arrows"><a href="{U_VIEW_OLDER_TOPIC}">{L_VIEW_PREVIOUS_TOPIC}</a> <a href="{U_VIEW_NEWER_TOPIC}">{L_VIEW_NEXT_TOPIC}</a> <a href="#top">{L_BACK_TO_TOP}</a> </td>
 </tr>
 </table>
 </td>
 </tr>
</table>
<table class="forumline noprint" width="100%" border="0" cellspacing="0" cellpadding="0" style="margin: 0 0 1px 0; border-top: 0px;">
 <tr>
 <td class="row2" valign="top" {COLSPAN_PAGINATION} width="150"><span class="gensmall">{PAGE_NUMBER}</span></td>
 <!-- BEGIN topicpagination -->
 <td class="row1" align="right" valign="top" ><span class="gensmall">{PAGINATION}</span></td>
 <!-- END topicpagination -->
 </tr>
 <!-- BEGIN switch_user_logged_in -->
 <!-- BEGIN watchtopic -->
 <tr>
 <td class="row2" colspan="2" align="right" valign="top"><span class="gensmall">{S_WATCH_TOPIC}</span></td>
 </tr>
 <!-- END watchtopic -->
 <!-- END switch_user_logged_in -->
</table>

<!-- BEGIN promot_trafic -->
<table class="forumline" width="100%" border="0" cellpadding="1" cellspacing="0" id="ptrafic_close" style="display:none;margin: 1px 0px 1px 0px">
 <tr>
 <td class="catBottom" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td valign="top"><h1 class="cattitle"> {PROMOT_TRAFIC_TITLE}</h1></td>
 <td align="right" valign="middle" width="10"><span class="gensmall"><a href="javascript:ShowHideLayer('ptrafic_open','ptrafic_close');"><img src="{TABS_MORE_IMG}" alt="+" align="middle" border="0" /></a></span></td>
 </tr>
 </table>
 </td>
 </tr>
</table>

<table class="forumline" width="100%" border="0" cellpadding="1" cellspacing="0" id="ptrafic_open" style="display:'';margin: 1px 0px 1px 0px">
 <tr>
 <td class="catBottom" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td valign="top"><h1 class="cattitle"> {PROMOT_TRAFIC_TITLE}</h1></td>
 <td align="right" valign="middle" width="10"><span class="gensmall"><a href="javascript:ShowHideLayer('ptrafic_open','ptrafic_close');"><img src="{TABS_LESS_IMG}" alt="-" align="middle" border="0" /></a></span></td>
 </tr>
 </table>
 </td>
 </tr>
 <tr>
 <td class="row2 postbody" valign="top">
 <!-- BEGIN link -->
 » <a style="text-decoration:none" href="{promot_trafic.link.U_HREF}" target="_blank" title="{promot_trafic.link.TITLE}">{promot_trafic.link.TITLE}</a><br />
 <!-- END link -->
 </td>
 </tr>
</table>
<!-- END promot_trafic -->

<!-- BEGIN switch_forum_rules -->
<table id="forum_rules" class="forumline" width="100%" border="0" cellspacing="0" cellpadding="0" style="margin: 1px 0px 1px 0px">
 <tbody>
 <tr>
 <td class="catBottom">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tbody>
 <tr>
 <td valign="top">
 <h1 class="cattitle"> {L_FORUM_RULES}</h1>
 </td>
 </tr>
 </tbody>
 </table>
 </td>
 </tr>
 <tr>
 <td class="row1 clearfix">
 <table>
 <tr>
 <!-- BEGIN switch_forum_rule_image -->
 <td class="logo">
 <img src="{RULE_IMG_URL}" alt="" />
 </td>
 <!-- END switch_forum_rule_image -->
 <td class="rules postbody">
 {RULE_MSG}
 </td>
 </tr>
 </table>
 </td>
 </tr>
 </tbody>
</table>
<!-- END switch_forum_rules -->

<table class="forumline noprint" width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td class="row2" colspan="2" align="center" style="padding:0px">
 <!-- BEGIN switch_user_logged_in -->
 <a name="quickreply"></a>
 {QUICK_REPLY_FORM}<br />
 <!-- END switch_user_logged_in -->
 </td>
 </tr>
 <tr>
 <td style="margin:0; padding: 0;" colspan="2">
 <table border="0" cellpadding="0" width="100%" cellspacing="0" id="info_open" style="display:''">
 <tbody>
 <!-- BEGIN show_permissions -->
 <tr>
 <td class="row2" valign="top" width="25%"><span class="gensmall">{L_TABS_PERMISSIONS}</span></td>
 <td class="row1" valign="top" width="75%"><span class="gensmall">{S_AUTH_LIST}</span></td>
 </tr>
 <!-- END show_permissions -->
 <tr>
 <td class="catBottom" colspan="2" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td valign="middle" width="100%"><span class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_SEP}<a class="nav" href="{U_ALBUM}">{L_ALBUM}</a>{NAV_CAT_DESC_SECOND}</span></td>
 <!-- BEGIN show_permissions -->
 <td align="right" valign="middle"><span class="gensmall"><a href="javascript:ShowHideLayer('info_open','info_close');"><img src="{TABS_LESS_IMG}" alt="-" align="middle" border="0" /></a></span></td>
 <!-- END show_permissions -->
 </tr>
 </table>
 </td>
 </tr>
 </tbody>
 </table>
 </td>
 </tr>
 <tr>
 <td style="margin:0; padding: 0;" colspan="2">
 <table border="0" cellpadding="0" cellspacing="0" width="100%" id="info_close" style="display:none;">
 <tbody>
 <tr>
 <td class="catBottom" colspan="2" height="28">
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
 <tr>
 <td valign="middle" width="100%"><span class="nav"><a class="nav" href="{U_INDEX}">{L_INDEX}</a>{NAV_SEP}<a class="nav" href="{U_ALBUM}">{L_ALBUM}</a>{NAV_CAT_DESC_SECOND}</span></td>
 <td align="right" valign="middle"><span class="gensmall"><a href="javascript:ShowHideLayer('info_open','info_close');"><img src="{TABS_MORE_IMG}" alt="+" align="middle" border="0" /></a></span></td>
 </tr>
 </table>
 </td>
 </tr>
 </tbody>
 </table>
 </td>
 </tr>
</table>

<form action="{S_JUMPBOX_ACTION}" method="get" name="jumpbox" onsubmit="if(document.jumpbox.f.value == -1){return false;}">
<table class="noprint" width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
 <tr>
 <td align="left" valign="middle" nowrap="nowrap" {WIDTH_GALLERY}>
 <span class="nav">
 <!-- BEGIN switch_user_authpost -->
 <a href="{U_POST_NEW_TOPIC}" rel="nofollow"><img src="{POST_IMG}" id="{POST_IMG_ID}Newtopic" alt="{L_POST_NEW_TOPIC}" align="middle" border="0" /></a>   
 <!-- END switch_user_authpost -->
 <!-- BEGIN switch_user_authreply -->
 <a href="{U_POST_REPLY_TOPIC}"><img src="{REPLY_IMG}" alt="{L_POST_REPLY_TOPIC}" align="middle" border="0" /></a>
 <!-- END switch_user_authreply -->
 </span>
 </td>

 <!-- BEGIN viewtopic_bottom -->
 <td align="right" nowrap="nowrap"><span class="gensmall">{L_JUMP_TO}: {S_JUMPBOX_SELECT} <input class="liteoption" type="submit" value="{L_GO}" /></span></td>
 <!-- END viewtopic_bottom -->

 <!-- BEGIN moderation_panel -->
 <td align="center">
 <span class="gensmall">{moderation_panel.U_YOUR_PERSONAL_MODERATE}</span>
 </td>
 <td align="center" width="250">
 <span class="gensmall"> </span>
 </td>
 <!-- END moderation_panel -->
 </tr>
</table>
</form>

<!-- BEGIN viewtopic_bottom -->
<table class="noprint" width="100%" border="0" cellspacing="2" cellpadding="0" align="center">
 <tr>
 <td colspan="2" align="left" valign="top" nowrap="nowrap"><br />{S_TOPIC_ADMIN}<br />
 <form name="action" method="get" action="{S_FORM_MOD_ACTION}">
 <input type="hidden" name="t" value="{TOPIC_ID}" />

 <!-- <input type="hidden" name="sid" value="{S_SID}" /> -->
 <input type="hidden" name="{SECURE_ID_NAME}" value="{SECURE_ID_VALUE}" />

 <span class="gen">{L_MOD_TOOLS}<br />{S_SELECT_MOD} <input class="liteoption" type="submit" value="{L_GO}" /></span>
 </form>
 </td>
 </tr>
</table>
<!-- END viewtopic_bottom -->

<!-- BEGIN switch_image_resize -->
<script type="text/javascript">
//<![CDATA[
$(resize_images({ 'selector' : '.postbody', 'max_width' : {switch_image_resize.IMG_RESIZE_WIDTH}, 'max_height' : {switch_image_resize.IMG_RESIZE_HEIGHT} }));
//]]>
</script>
<!-- END switch_image_resize -->
<script src="{JS_DIR}addthis/addthis_widget.js" type="text/javascript"></script>


Voilà, j'espère avoir été clair. Merci d'avoir lu ce tutoriel et à beintôw Wink

Comment faire un effet au survol (comment fonctionne le hover) - Lun 27 Mai 2013 - 12:02



Hello, je viens aujourd'hui vous expliquer les animations au survol.
Cela vous permettra de créer les votres et non de copier-coller l'animation qui vous plait au cas par cas.
Pour cela vous aurez besoin de deux choses : un forum, et l'accès à sa partie administration.
Prêt ?

Le contenu n'est pas sous balide hide (explications), mais n'hésitez pas à remercier son auteur.



I : Créer une class :

La class est un code que l'on peut mettre sur une div, un span ou tout autre balise html comme ceci :
Code:
<div class="utopia">    code texte ou image        </div>
<span class="utopia">    code texte ou image        </span>
<img class="utopia" src="   url de l'image    "/>

Ici, j'ai nommé la class "utopia", mais sachez que vous pourrez toujours mettre le nom que vous souhaitez.

II : La feuille CSS :

En partie administration à présent, vous avez accès à une feuille CSS. Celle-ci se trouve dans :
Administration > Affichage > Couleur > Feuille CSS


Cette feuille css vous sert à créer tous les changements graphiques généraux de votre forum : les templates servant quant à eux à changer la disposition des éléments graphiques. Mais bon, concentrons nous sur cette feuille.
Ici, vous pouvez marquer ce que vous voulez ! Si c'est la première fois, ne soyez pas timide et pour les plus rodés, faites un peu de place sur cette feuille pour ajouter le code qui va suivre.

A : comment lier le code auquel j'ai donné un nom sur cette feuille ?
Sur cette dite feuille, marquez ceci :
Code:
.utopia{ }
.utopia:hover{}


B : A quoi sert tout ça ?

► Le point déjà :
Le petit point mit juste avant le nom de votre class sert à rappeler que justement, vous parler d'une class. Si on avait parlé d'une id (id="machin"), on aurait mit alors un # avant le nom "utopia" et non un "." .

► Le utopia ensuite :
utopia étant le nom qu'on a donné à notre class, on le marque évidement pour rappeler qu'on parle bien de cette class là.
!!! Attention : les majuscules comptent : étant donné que nous n'en avions pas mise dans notre post en marquant "
", n'en mettez pas ~

►Les { et } à présent :
La première ouvre les infos qu'il y aura dans le codage et la dernière clos tout ça. Vérifiez donc toujours d'avoir bien une { et une } à chaque codage fait sur la feuille css.

► la fonction :hover :
cette fonction indique qu'au survol (:hover) de la class (le point) utopia (balise nommée), il devra s'y passer ce qui est marqué entre les balise { et }.

Plus concrètement, voici un exemple pour une div :
Sur votre post, vous aurez donc :
Code:
<div class="utopia">Never Utopia</div>


et sur votre feuille CSS :
Code:
.utopia{
  width:200px;
  height: 100px;
  text-align:center;
  background-color:cyan;
  color:black;
  opacity:0.1;
  transition: 1s;
  transform: all;
}

.utopia:hover{
  width:170px;
  height:50px;
  background-color:black;
  text-align:50% 50%;
  font-family:impact;
  color:white;
  text-shadow: 0px 0px 5px cyan ;
  opacity:1;
  font-size:24px;
  border-radius:50px;
  box-shadow: 0px 0px 10px darkcyan;
  transition: 1s;
  transform: all;
}


Faites un essai en copiant-collant tout cela sur votre forum pour voir ce que cela fait une fois que vous survolerez ce code.
A noter que vous pouvez utiliser cette astuce dans vos post mais aussi pour le graphisme de la page d'accueil, pour vos liens, vos titres... tout ~


III : Quelques fonctions :

Comme vous l'avez constaté, on a utilisé plusieurs fonctionnalité dans la feuille css, dans les balises d'utopia. Ici, je vais vous en expliquer quelques unes.
notez cependant que si une fonction ne doit pas changer au survol, il est possible tout simplement de ne pas la noter dans le :hover pour qu'elle ne soit pas prise en compte. Dans le :hover pour vous simplifier la vie donc, ne notez QUE ce qui doit changer. (les transitions et le temps de transition sont à remettre si vous voulez une animation allant du :hover vers la div normal (quand votre souris quitte l'animation en gros)).

width : la taille en px ;
height : la hauteur en px ;
background : peut recenser toute les infos ci-dessous ;
background-color : #couleurpipette ou codecouleur ;
background-image : url('lien de l'image allant sous le texte');
background-position: largeur puis hauteur en px ou en % pour positionner l'image de fond;
background-repeat : répéter --> no-repeat (pas de répétition du background) repeat-x (répéter sur les cotés) repeat-y (répéter en haut et en bas)

color : couleur du texte;
text-shadow : ombre du texte;
box-shadow : ombre du cadre de la div;
border : bordure du cadre de la div;
border-radius : bord-haut-gauche(en PX) bord-haut-droite(en PX) bord-bas-gauche(en PX) bord-bas-droite(en PX) ((dans cet ordre et pas dans un autre) OU XXpx (en ce cas les quatres bord auront le même radius).
transform : détermine ce qui changera du :hover à la balise en état normal; all signifie tout.
transition : détermine le temps de la transition (animation);
opacity : détermine la transparence;

margin : détermine l'espace extérieur entre la div et ce qui est autour;
padding : détermine l'espace entre les objets inclus dans la div et les bords intérieurs;

Voilà voilà ^^

Capouccino

Tableau de pub \o/ - Jeu 2 Mai 2013 - 13:27



Bijour le peuple, ! Alors voilà un tableau de pub :3
Par contre il est un peu petit, lorsque j'aurais l'image de fond agrandie, je le referais en plus grand o/

En espérant que ça vous plaise ^^



Statistiques
- Non. Non. Non ! Je refuse de croire que c'était voulu ! Je le refuse ! tu secoues la tête avec énergie, retenant les larmes. Vous ne savez rien, vous ne savez rien ! Vous n'avez pas vu ce regard fou qu'était le sien ! Vous n'avez pas entendu ces paroles venimeuses qu'il prononçait ! C'était une haine sans pareille, une haine dénuée de sens. Il me haïssait pour une raison que j'ignore. Mais je refuse de croire en cette hypothèse ! Pas après tout ce temps passé à la haïr. Non. J'ai vécu trop d'années dans la souffrance et la haine...
Contexte
- Non. Non. Non ! Je refuse de croire que c'était voulu ! Je le refuse ! tu secoues la tête avec énergie, retenant les larmes. Vous ne savez rien, vous ne savez rien ! Vous n'avez pas vu ce regard fou qu'était le sien ! Vous n'avez pas entendu ces paroles venimeuses qu'il prononçait ! C'était une haine sans pareille, une haine dénuée de sens. Il me haïssait pour une raison que j'ignore. Mais je refuse de croire en cette hypothèse ! Pas après tout ce temps passé à la haïr. Non. J'ai vécu trop d'années dans la souffrance et la haine...
Prédéfinis
TEXTE
Infos
TEXTE
Boutons
TEXTE



Code:
<style>#img_halo, #img_halo2, #img_halo3{text-align:center;font-size:7px;width:45px;height:58px;margin:10px auto;position:absolute;z-index:1;overflow:hidden;}#img_halo{background-image:url('http://img96.xooimage.com/files/9/a/5/parchopetit2-3dd1fdf.png')}#img_halo2{background-image:url('http://img97.xooimage.com/files/9/6/d/parchopetit3-3dd20d0.png')}#img_halo3{background-image:url('http://img97.xooimage.com/files/b/3/2/parchopetit4-3dd2256.png')}#img_halo:hover, #img_halo1:hover, #img_halo2:hover, #img_halo3:hover{font-size:14px;z-index:2;height:350px;width:250px;margin-left:-60px;margin-top:-100px;margin-left:0;margin-right:0;background-image:url('http://img96.xooimage.com/files/e/8/8/parcho-1.5-3dd1e54.png')}#img_halo1, #img_halo4{text-align:center;font-size:7px;width:60px;height:30px;margin:10px auto;position:absolute;z-index:1;overflow:hidden;}#img_halo1{background-image:url('http://img96.xooimage.com/files/2/a/f/parcholongpetit1-3dd2481.png')}#img_halo4{background-image:url('http://img96.xooimage.com/files/2/a/f/parcholongpetit1-3dd2481.png')}#img_halo1:hover, #img_halo4:hover{background-image:url('http://img98.xooimage.com/files/0/f/6/parcholong-3dd23be.png');z-index:2;height:150px;width:250px;margin-bottom:0;margin-top:-100px;margin-left:0;margin-right:0;font-size:14px}.fond{background-position:0% 50%;background-image:url('http://img92.xooimage.com/files/9/1/d/pa-3-3d383ff.png');background-repeat:no-repeat;height:197px;}.tabcenter{margin-left:auto;margin-right:auto;}.texte{opacity:0;overflow:hidden;font-size:12px}.texte:hover{opacity:1;padding:15px;width:200px;height:280px;overflow:auto}.texte2{opacity:0;overflow:hidden;font-size:12px}.texte2:hover{opacity:1;padding:15px;width:200px;height:80px;overflow:auto}</style>

<div class="fond" style="color:#000000"><table style="height:150px;width:200px;padding-top:10px;padding-left:55px;"><td><div style="margin-bottom:35px"><span id="img_halo1">Statistiques
<div class="texte2">TEXTE</div></span></div></td><td><div style="margin-top:15px;margin-left:15px"><span id="img_halo">Contexte
<div class="texte">TEXTE</div></span></div></td><td><div style="margin-bottom:10px;margin-left:55px"><span  id="img_halo2">Prédéfinis
<div class="texte">TEXTE</div></span></div></td><td><div style="margin-left:55px;margin-bottom:45px"><span id="img_halo3">Infos
<div class="texte">TEXTE</div></span></div></td><td><div style="margin-top:70px;margin-right:10px"><span id="img_halo4">Boutons<div class="texte2">TEXTE</div></span></div></td></table></div>

sébastien

Navigation rapide - Bloc flottant qui s'ouvre au survol - Ven 23 Nov 2012 - 17:01


Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
Lien pour comprendre pourquoi le contenu n'est pas sous hide






Navigation rapide


Difficulté
Facile,il ne reste qu'à personnaliser
Outils
Aucun
Résultat
Avoir une navigation rapide pratique et discrète
correction du CSS
Sparrow-style
Crédit
© Never-Utopia



code HTML et CSS



Le code HTML est à mettre dans les annonces.
PA=>général=>messages et emails =>annonces

Pour les paramètres de l'annonce, vous choisissez :
> Activer les annonces : Oui
> Affichage des annonces : Toutes les pages
> Défilement : Désactiver

Puis vous mettez créez une annonce et y mettez ce code :
Code:
<div class="widget_flottant">
<span class="widget_flottant3">
<a href="http://l-anneau-des-dragons.1fr1.net/" class="postlink"><span style="font-size: 18px; line-height: normal; text-decoration: underline; font-weight: bold;">Index</span></a></br></br>
<u>Info</u></br>
<a href="lien" class="postlink"><strong>Règlement</strong></a></br>
<a href="lien" class="postlink"><strong>Backgroud</strong></a></br>
<a href="lien" class="postlink"><strong>Races jouables</strong></a></br>
<a href="lien" class="postlink"><strong>Compétences</strong></a></br>
<a href="lien" class="postlink"><strong>Modèle de fiche</strong></a></br>
<a href="lien" class="postlink"><strong>Cadre de topic</strong></a></br></br>
<u>HRP</u></br>
<a href="lien" class="postlink"><strong>Administration</strong></a></br>
<a href="lien" class="postlink"><strong>Taverne</strong></a></br>
<a href="lien" class="postlink"><strong>Archive</strong></a></br></br>
<u>RP</u></br>
<a href="lien" class="postlink"><strong>RP-1</strong></a></br>
<a href="lien" class="postlink"><strong>RP-2</strong></a></br>
<a href="lien" class="postlink"><strong>RP-3</strong></a></br>
<a href="lien" class="postlink"><strong>RP-5</strong></a></br>
<a href="lien" class="postlink"><strong>RP-6</strong></a></span>
<span class="widget_flottant2"><img src="http://i44.servimg.com/u/f44/15/54/03/92/anneau10.gif" border="0" alt="" />
</span>
</div>



Vous allez ensuite dans la feuille de CSS pour mettre le CSS :
Code:
.widget_flottant
{
  z-index: 999;
  position:fixed;
  top: 50px;
  right: 0px;
  width: 0px;
  height: 100px;
  transition: 1s;
  -webkit-transition: 1s;
  color: #dfdfdf;
  font-size: 12px;
  font-family: 'verdana';
}
.widget_flottant:hover
{
  width: 150px;
  height: 361px;
  transition: 1s;
  -webkit-transition: 1s;
}
.widget_flottant3
{
  display:block;
  text-align: center;
  margin: 0px;
  height: 361px;
  overflow: hidden;
  background: #7F7F7F;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border: 2px #000000 solid;
}
.widget_flottant2
{
  position: relative;
  float:left;
  display:block;
  margin: 0px;
  overflow: hidden;
  width: 33px;
  height: 175px;
  left: -33px;
  top: -320px;
  background-image: url(http://img15.hostingpics.net/pics/621948navrap.png);
  background-repeat: no-repeat;
}
.widget_flottant a {
  color: #c4c4c4!important;
}
.widget_flottant a:hover {
  color: #ffffff!important;
}



Personnalisation


Pour personnaliser ce code, je vous suggère d'aller lire ce sujet, il m'a aidé à construire le CSS de ce code. Il devrait pouvoir vous aider à le personnaliser.

Nom du sujet
.code { CSS: ???; }
Lien
https://www.never-utopia.com/t41098-code-css
Réaliser par
Shinomix




© Never-Utopia

Angelusia

Menu à deux niveaux - Sam 3 Nov 2012 - 13:21


Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
Lien pour comprendre pourquoi le contenu n'est pas sous hide


Bonjour : )

Je vous propose mon premier tutoriel : le menu à deux niveaux.

Cela ressemble à ceci. : )



Ce n'est pas difficile à faire.

Mais pour le voir, il faut le mot magique : )




Pour le recréer, il faut tout d'abord faire créer le Html du menu.

Qui se présente ainsi.

Code:
 <ul id="menu_horizontal">
          <li>
                             <a href="#">Menu 1</a>
             <ul class="sous_menu">
                <li>
                   <a href="#">Sous Menu A.1</a>
                    <ul class="sous_sous_menu">
                          <li><a href="#">Sous Sous Menu 1.1.1</a></li>
                         <li><a href="#">Sous Sous Menu 1.1.2</a></li>
                   </ul>
               </li>
               <li>
                   <a href="#">Sous Menu 1.2</a>
                    <ul class="sous_sous_menu">
                          <li><a href="#">Sous Sous Menu 1.2.1</a></li>
                         <li><a href="#">Sous Sous Menu 1.2.2</a></li>
                   </ul>
               </li>
               <li><a href="#">Sous Menu 1.3</a></li>
             </ul>
         </li>      
         <li>
                             <a href="#">Menu 2</a>
             <ul class="sous_menu">
                <li>
                   <a href="#">Sous Menu 2.1</a>
                    <ul class="sous_sous_menu">
                          <li><a href="#">Sous Sous Menu 2.1.1</a></li>
                         <li><a href="#">Sous Sous Menu 2.1.2</a></li>
                   </ul>
               </li>
               <li><a href="#">Sous Menu 2.2</a> </li>
               <li><a href="#">Sous Menu 2.3</a> </li>
            </ul>
         <li><a href="#">Menu 3</a></li>
      </ul>


Ensuite il faut faire le css.

Tout d'abord on va s'intéresser au fond.

On lui met un background, un width, une bordure et pourquoi pas des bords arrondis.

Ce qui nous donnerait.


Code:
ul#menu_horizontal {
background-color: Votre couleur;
 -moz-border-radius: votre taille;
  border:  votre taille votre couleur votre style;
  border-radius:  votre taille;
width: votre largeur;
height: votre hauteur;
}


On souhaiterait que le menu reste en horizontal et sans marge et aussi centré.

On rajoute ceci.

Code:
margin: 0 auto;
display: inline-block;


Maintenant, nous regarderons l'apparence du menu visible. On aimerait enlever les puces et faire en sorte qu'une couleur apparaisse en hover. On procède ainsi.

Code:
ul#menu_horizontal li {
list-style: none;
}

ul#menu_horizontal li:hover {
background-color: votre couleur;
display: block;
}


On peut s'intéresser à l'apparence. Pour cela, à votre goût vous pouvez soit mettre des marges, soit des paddings. Ce qui donnerait.

Code:
ul#menu_horizontal li {
float: left;
padding: votre taille;
font-variant: small-caps;
font-size: votre taille;
list-style: none;
 
}

ul#menu_horizontal li:hover {
background-color: votre couleur;
display: block;
}


ul#menu_horizontal li a{
color: votre couleur;
text-decoration: none;
padding: votre padding;
}


Cette fois, nous nous intéresserons maintenant au premier niveau. Il n'est pas si différent de ce que vous avez déjà réalisé au préalable. La chose qui le différencie, c'est qu'il faut faire gaffe qu'il apparaisse que lorsque on pose sa souris sur le menu visible.

Ceci se fait grâce à une manipulation que vous verrez dans le css.

Code:
ul#menu_horizontal li .sous_menu {display: none;}

ul#menu_horizontal li:hover .sous_menu {
display: block;
text-align: votre alignement;
position: votre position; (je vous conseillerais absolute)
margin-left: votre marge négative ou positive;
margin-top: votre marge;
width: votre largeur;
padding: votre padding;
background-color: votre couleur;
}


Nous arrivons à la dernière étape. Le niveau deux... Si on ne fait pas attention à son codage, il apparaîtra lorsque vous posez votre souris sur le menu visible. Et c'est ce que nous souhaitons éviter.

Pour éviter ce problème, je vous conseille de bien regarder la class. Il y a deux ul et deux li.

Code:
ul#menu_horizontal li ul li .sous_sous_menu {display: none;}

ul#menu_horizontal li ul li:hover .sous_sous_menu {
width: votre largeur;
display: block;
padding: votre padding;
text-align: votre alignement;
position: absolute;
margin-left: votre marge;
margin-top: votre marge;
background-color: votre couleur;
float: votre float;
}


Vous pourrez en faire un vous même et avec votre propre goût personnel. ^^

Bloc de navigation rapide (haut, bas et ancres) - Lun 25 Juin 2012 - 17:08



Navigation flottante

Ancres & Liens


Bonjour !

Voici un tutoriel sur les bloc de navigation comme vous trouvez parfois sur la droite ou la gauche des forum en "flottement", permettant d'aller en haut de page, bas de page, mais aussi à divers endroits du forum.
Tout d'abord, si vous recherchez simplement un tutoriel pour le "haut" et "bas", je vous oriente vers celui-ci qui vous suffira amplement.


Celui que je vous propose abouti à un résultat que vous pourrez voir sur ce forum test : il s'agit du bloc jaune à gauche, survolé il s'ouvre et vous propose 4 types de liens que je vais détailler dans le tutoriel.

- les ancres de base (haut et bas)
- les liens normaux (liens que vous voulez mettre à disposition, il peut s'agir du règlement, du contexte, etc...)
- les ancres crées (points de repères crées sur le forum)
- les ancres crées avec changement de page au besoin (c'est un lien + ancre qui fera que même dans une page au fin fond du forum, le lien vous amènera vers la catégorie choisie)

En cas d'utilisation de ce tutoriel, merci de mettre sur votre forum un CREDIT pour Never-Utopia. Ce geste de remerciement simple nous permet de "vivre" et de pouvoir vous apporter toujours plus d'aide ! Merci d'avance !



I/ Création du bloc : template + css

▬ Tout d'abord allons ajouter notre bloc dans le template overall_header. Repérez cette ligne de code, ligne 195 environ (et si vous n'êtes pas sur phpBB2, repérez simplement la balise body, même si elle ne ressemble pas à cela) :

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


En dessous, ajoutez votre code du bloc navigation :
Code:
    <div id="fast_links">
   
    <div id="fast_links_contenu">
      <a href="#top" class="fast_link">Haut</a>
      <a href="#" class="fast_link">Lien 1</a>
      <a href="#" class="fast_link">Lien 2</a>
      <a href="#ancre1" class="fast_link">Ancre simple</a>
      <a href="http://jesuisunelegende.forumactif.com/#ancre2" class="fast_link">Ancre avec changement de page</a>
      <a href="#bottom" class="fast_link">Bas</a>
      </div>
   
  </div>


=> mon contenu est un exemple des différents liens possibles, à vous de voir lesquels vous gardez ensuite.

Information : si votre forum comporte déjà des changements sur ce template, notamment une navigation en haut de page, placez ce bloc avant ou après la navigation mais les distances du css seront peut-être à adapter (notamment celle du "margin-top" ou "marge haute").


N'oubliez pas de valider votre modification.

▬ Allez ensuite dans votre feuille css et affichez le css suivant :

Code:
/* FAST LINKS */

#fast_links
{
  position: fixed;
  z-index: 999;
  width: 300px;
  height: 200px;
  margin-top: -200px;
  margin-left: -250px;
  background: url(http://img11.hostingpics.net/pics/672640fondnavig.png) center center no-repeat;
  transform: all;
  -moz-transform: all;
  -o-transform: all;
  -htm-transform: all;
  -webkit-transform: all;
  transition: 1s;
  -moz-transition: 1s;
  -o-transition: 1s;
  -htm-transition: 1s;
  -webkit-transition: 1s;
}
#fast_links:hover
{
  margin-left: -10px;
  transform: all;
  -moz-transform: all;
  -o-transform: all;
  -htm-transform: all;
  -webkit-transform: all;
  transition: 1s;
  -moz-transition: 1s;
  -o-transition: 1s;
  -htm-transition: 1s;
  -webkit-transition: 1s;
}
#fast_links_contenu
{
  margin-top: 25px;
  margin-left: 25px;
}
.fast_link
{
  display: block;
  width: 200px;
  padding: 4px;
  background-color: #ebe4d0;
  font-weight: bold;
  border-left: 2px solid #a1883a;
  border-right: 2px solid #a1883a;
  text-align: center;
  font-size: 12px;
  text-shadow: 1px 1px 0px #ffffff;
}
.fast_link:hover
{
  background-color: #f8f6f0;
  border-left: 2px solid #f5d553;
  border-right: 2px solid #f5d553;
}


Informations : merci de changer l'image de fond, celle-ci étant utilisée sur un forum. Réalisez une image de même taille avec une illustration sur la droite pour faire l'onglet d'ouverture.


Validez votre css, adaptez au besoin les tailles/placement du bloc, ainsi que la mise en forme des liens normaux et survolés à votre goût.


II/ Les Ancres de base et liens simples

Il y a deux types de lien que vous pouvez mettre très facilement :

▬ les ancres de base qui ont pour adresse "#top" et "#bottom" mèneront en haut et en bas de votre forum. Elles sont déjà placées sur le template donc pas besoin de la toucher si vous les voulez. Vous pouvez les remplacer par des flèches si vous le souhaitez.

▬ les liens simples : c'est tout simplement les liens vers votre règlement, les présentations des membres, ou tout topic important de votre forum.

Conseil : changer ces liens signifie être sur le compte fondateur et aller dans le template, ce qui est donc fatalement plus compliqué de l'aller juste dans la PA. Du coup, il n'est pas réellement conseillé de mettre des liens que vous savez devoir changer à court terme, comme des concours, ou des événements ponctuels. Il est préférable d'afficher des liens génériques qui n'auront pas à être modifiés trop souvent. Après, c'est à votre choix x)


Ces deux types de liens sont très simples à mettre et ne demandent pas d'autres modification, je vous laisse donc les ajouter tranquillement. Pour cela bien sûr il faut retourner éditer le template overall_header en modifiant/ajoutant vos liens.


III/ Les Ancres crées

Bon, stop, un petit point de codage avant tout, pour les curieux ou simplement ceux qui ne veulent pas copier bêtement du code :
Qu'est-ce qu'une ancre ? C'est un point que l'un crée sur une page, sous forme d'un lien qui n'en est pas vraiment un (le texte ne peut mener à rien) et qui par la suite va nous permettre de créer un autre lien qui nous mènera vers ce point. C'est pas clair ? En gros si sur une même page vous avez un pavé de dix paragraphe, vous pouvez mettre une ancre à chaque titre de paragraphe, puis créer une navigation en haut de page dans laquelle chaque lien mènera à l'un des titres de paragraphe. Concrètement, on ne change pas de page, il s'agit d'un lien menant vers un élément de la page.


Vous l'aurez compris, il ne suffit pas de mettre un lien, il faut d'abord créer l'ancre elle-même. Pour cela, vous allez devoir vous rendre dans vos titres de catégorie. Pour plus de simplicité, on mettra les ancres sur les titres de catégorie car elles ne modifient pas ce titre, ça ne gêne rien.
▬ Allez donc dans votre titre de catégorie (celui que vous voulez placer en ancre), et affichez-le comme ceci :

Code:
<a name="ancre1">Votre 1ère catégorie</a>


"Votre 1ière catégorie" = le titre normal de votre catégorie.

Une fois fait, allez dans votre template overall_header et placez votre ancre en guise de lien comme ceci :

Code:
<a href="#ancre1" class="fast_link">Ancre simple</a>


Ce code est déjà présent puisque c'est mon exemple, mais veillez à ce que votre nom d'ancre soit le même ! Ici pour moi "ancre1" doit se retrouver aux deux endroits : dans le titre de catégorie ET dans le lien de la navigation.

Testez : le fait de cliquer sur ce lien dans la navigation amène à la catégorie voulue.


IV/ Les Ancres crées avec changement de page

Vous constaterez que ces ancres là ne fonctionnent que si vous êtes sur la page d'accueil, sans quoi ça vous ramène en haut du premier message par exemple, mais c'est tout. Si vous voulez que même ailleurs sur le forum ce lien vous ramène à la première page en vous centrant sur la catégorie choisie, il faut procéder autrement :
▬ le début reste le même, l'ancre a été placée, elle ne change pas.
▬ le lien à mettre dans la navigation doit comporter la page d'accueil de votre forum + l'ancre, comme ceci :

Code:
<a href="http://jesuisunelegende.forumactif.com/#ancre2" class="fast_link">Ancre avec changement de page</a>


Là aussi le code était déjà présent dans mon exemple. Vous pourrez essayer d'aller à l'intérieur du forum, au milieu d'un sujet et cliquer sur ce lien de la navigation rapide, il vous remettra sur la première page du forum sur la catégorie choisie.

D'autres ancres ? Plein d'ancres ?? Yep ! Vous pouvez en faire autant que voulu, sur toutes vos catégories, le tout est que chaque duo "ancre"/"lien d'ancre" aient le même nom ! Dans mon cas "ancre1, ancre2, etc... J'ai fait simple x), mais ça peut être vos noms de catégorie ou autre chose.
Il est cependant VITAL que ce nom ne comporte ni espace ni caractère spéciaux !



En cas d'utilisation de ce tutoriel, merci de mettre sur votre forum un CREDIT pour Never-Utopia. Ce geste de remerciement simple nous permet de "vivre" et de pouvoir vous apporter toujours plus d'aide ! Merci d'avance !


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

Xplo-Sion

Effet Transition - Infobulle, Rotation et Agrandissement - Ven 20 Avr 2012 - 4:28


Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
Lien pour comprendre pourquoi le contenu n'est pas sous hide




Bonjour Very Happy

Donc je vous fais mon premier tutoriel qui va porter sur le thème " Transition ". Divers style qui vont vous permettre de décorer votre forum :)


Effet Rotation


Exemple :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 FHTNa3t

HTML :
Code:
<span class="maclasse"> <img src="https://i.imgur.com/FHTNa3t.jpg" alt="" /></span>


CSS :
Code:
/*Image*/
.maclasse img{
width: 70px;
height: 70px;
margin: 10px;
padding: 0px;
-webkit-transition: all 1s linear;
transition: all 1s linear;
}
/*Effet sur image au survol*/
.maclasse:hover img {
-webkit-transform : rotate(360deg);
transform: rotate(360deg);
}




Effet Rotation et Agrandissement


Exemple :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 FHTNa3t

HTML :
Code:
<span class="maclasse"><img src="https://i.imgur.com/FHTNa3t.jpg" alt="" /></span>


CSS :
Code:
/*Image*/
.maclasse img{
width: 60px;
height: 60px;
margin: 10px;
padding: 0px;
-webkit-transition: all 1.5s ease;
transition: all 1.5s ease;
}
/*Effet sur image au survol*/
.maclasse:hover img {
width: 96px;
height: 96px;
-webkit-transform : rotate(-360deg);
transform: rotate(-360deg);
}



Infobulle Transition


Exemple :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 FHTNa3tIci les infos qui s'afficheront au survol de l'image
Profil MP


HTML :
Code:
<div class="nu_infobulle"><img src="https://i.imgur.com/FHTNa3t.jpg" alt="" /><span class="nu_bulle">Ici les infos qui s'afficheront au survol de  l'image<br /><a href="#profil">Profil</a> <a href="#mp">MP</a></span></div>


CSS :
Code:
/*Bloc qui contient l'image et l'infobulle*/
.nu_infobulle{
width: 100px;
padding: 0px;
position: relative;
}
/*Infobulle*/
.nu_bulle{
background: #090700;
border: 0px solid #1c1706;
color: #c4c4c4;
width: 0px;
height: 0px;
position: absolute;
top: 100px;
left: 70px;
overflow: hidden;
z-index: 20;
text-align: left;
border-radius: 10px;
-webkit-transition: all 1.5s ease;
transition: all 1.5s ease;
}
/*Apparition de l'infobulle au survol*/
.nu_infobulle:hover .nu_bulle{
width: 150px;
height: 60px;
padding: 5px;
border-width: 1px;
}



Effet Infobulle sur Transition


Exemple :
Tag effet_hover sur Never Utopia - graphisme, codage et game design - Page 2 FHTNa3t

Mon joli titre


Ici les infos qui s'afficheront au survol de l’icône
Profil MP


HTML :
Code:
<div class="transition_nu"><img width="50" height="50" src="https://i.imgur.com/FHTNa3t.jpg" alt="" /><div class="nu_transition"><h3>Mon joli titre</h3><br /><span> Ici les infos qui s'afficheront au survol de l’icône <br /><a href="#profil">Profil</a>    <a href="#mp">MP</a></span></div></div>


CSS:
Code:
/*Bloc qui contient l'image et l'infobulle*/
.transition_nu {
position: relative;
width: 50px;
height: 50px;
padding: 0px;
}
/*Bloc de l'infobulle*/
.nu_transition{
background: #090700;
border: 0px solid #1c1706;
color: #dfdfdf;
width: 0px;
height: 0px;
overflow: hidden;
position: absolute;
left:50px;
top: 0px;
z-index: 999;
padding: 0px;
text-align: center;
border-radius: 10px;
-webkit-transition: all 1s ease-in;
transition: all 1s ease-in;
}
/*Apparitiond e l'infobulle au survol*/
.transition_nu:hover .nu_transition{
height: 80px;
width: 200px;
padding: 5px;
border-width: 1px;
}
/*Image*/
.transition_nu img {
position: relative;
z-index: 990;
width: 50px;
height: 50px;
left: 0px;
bottom: 0px;
-webkit-transition: all 1s linear;
transition: all 1s linear;
}
/*Effet sur l'image au survol*/
.transition_nu:hover img {
-webkit-transition: rotate(-360deg);
transform: rotate(-360deg);
}




En espérant avoir pu vous être utile,

Xplo-sion.



PS : Sparrow style, le fondateur de Never Utopia a eu l'amabilité de créer cette section pour que l'on puisse partager avec vous nos connaissance, il serait donc normal que vous mettiez un lien sur votre forum comme quoi NU a participer à la construction du codage de votre forum.

Merci .


Final-Blonde

Infobulles en cascade et en slide - Lun 12 Mar 2012 - 21:05


Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
Lien pour comprendre pourquoi le contenu n'est pas sous hide


Ohé Matelots !

Le tutoriel que je vous propose vous permettra de réaliser un effet sympa mais aussi utile d'infobulles en cascade avec effet slide et rien que en CSS.
Rien de bien nouveau cela dit.

Cette astuce est applicable dans tous les coins et recoins du forum :
PA, page HTML, templates, widget, messages, bref, partout.

Voici ce que vous pouvez attendre :

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim.



Je tiens aussi à souligner que les images ne sont pas ma propriété et qu'elles ne servent qu'à illustrer ce tuto.
Comme je ne sais plus d'où elles viennent, je vous prie de pas en faire usage.


Commençons par le HTML, que je ne développerai pas trop, si ce n'est que c'est le principe de l'infobulle, à savoir:
le bloc dans le bloc du bloc principal.
Code:
<div class="primero">
  <img class="primero_img" alt="" src="http://i44.servimg.com/u/f44/14/64/74/74/11-4410.jpg" />
  <div class="secundo">
    <img class="secundo_img" alt="" src="http://i44.servimg.com/u/f44/14/64/74/74/90536410.jpg" />
    <div class="slides">
      <p class="contenu">
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim.         
      </p>
      <img class="slides_img" alt="" src="http://i44.servimg.com/u/f44/14/64/74/74/11-4410.jpg" />             
    </div>
  </div>
</div>



Pour ce qui est du CSS, il est assez simple à comprendre en suivant les identifiants et les commentaires-CSS:
Spoiler:


Le plus important dans le CSS ce sont les dimensions qu'il faut définir afin d'établir où les infobulles doivent se décaler, les scrollbar, etc, que vous ayez des images ou du texte dans les infobulles.


Fonctionne avec tous les navigateurs Arrow


Bien du plaisir. :gentleman:

Taktiik

Bloc flottant ouvrant "au survol" (CSS) - Dim 20 Nov 2011 - 2:37



Un Déroulant Fluide Dernière mise à jour : 29 Avril 2013
Aperçu
Préparation
Détails

W W W
Il n'y a pas de préparations particulière à part avoir les yeux grands ouverts et le cerveau prêt à réfléchir Wink !

Vous pouvez maintenant poursuivre et débuter le tutoriel. Pour toutes questions, n'hésitez pas à m'envoyer un email : taktiik69@gmail.com si j'oublie de répondre, et j'insiste à nouveau :

Sparrow Style a dit : Quoi qu'il en soit, si vous utilisez ce tutoriel pour personnaliser l'apparence de votre forum, je vous demande de mettre un crédit à Never-Utopia sur votre accueil, de manière lisible cela va de soi, en guise de remerciement pour l'aide que nous vous avons apportée.


Niveau : Facile
Fait : 20/11/2011
Type : Tutoriel


Voici une astuce simple et pourtant qui peut changer la donne dans l'esthétique de votre forum. Ces déroulants fluides vont vous permettre de cacher des liens en trop ou des informations secondaires ! Nous aborderons, car il est nécessaire, les transitions CSS3 dans ce petit tutoriel.

Le contenu n'est pas sous balide hide (explications), mais n'hésitez pas à remercier son auteur.


Navigation



Partie HTML

Tout d'abord, pour pouvoir créer cette boite déroulante, nous allons devoir l'introduire à l'aide de balises. Et pas n'importe laquelle, nous allons donc utiliser une div pour faire cela.
/!\ Attention, ceci peut aussi se faire sur un Tableau ou d'autres élémentsde type "Block" /!\

On va lui affiler une class qui sera reliée au CSS et que l'on pourra modifier. Appellons cette classe :"Deroulant" !

Si vous avez bien suivis, on a ceci :
Code:
<div class="Deroulant"></div>


En ajoutant du contenu, on peut arriver à :
Code:
<div class="Deroulant"><h3>Titre de la boite</h3>
Le titre va nous permettre de passer la souris pour affichaer ce que l'on veut cacher<br />
Car nous ... On est des cachotiers °°</div>


Pour ce qui est du HTML, on a terminé. La partie du CSS est cependant un peu plus consistante.


Déroulant Horizontal

Rien de bien difficile en soit !
Tout d'abord, on va créer notre class dans le CSS, et tout de suite, on va lui affiler une largeur avec width. Pourquoi?
Car lorsque vous passerez votre souris dans cette zone, la boite dévoilera son contenu.

Prenons donc une largeur de 30px :
Code:
.Deroulant
{
  width: 30px;
}


Pourtant, la boite a quand même besoin d'une hauteur pour exister. Ainsi, on va lui donner une hauteur :
Code:
.Deroulant
{
  width: 30px;
  height: 150px;
}


Maintenant, vous pouvez lui ajouter tout le style que vous voulez, pour ma part, je lui ajoute une couleur de fond (background-color), une bordure (border), un alignement du texte au centre, une barre de défilemnet cachée (overflow: hidden) et des arrondis (border-radius) :
Code:
.Deroulant
{
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  width: 30px;
  height: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
}



Maintenant, comme l'on veut que le contenu s'affiche au passage de la souris on va créer une seconde balise pour .Deroulant qui aura le suffixe :hover
Hover ? Ca veut dire planer, voltiger, survoler. Simple à retenir non ^^ ?
/!\ Attention, les valeurs que vous avez déjà mises dans .Deroulant sont automatiquement données au suffixe :hover, vous n'êtes donc pas obligés de les mettre dans .deroulant:hover /!\



Donnons alors à .Deroulant:hover une largeur de 300px :
Code:
.Deroulant:hover
{
  width: 300px;
}


On va ajouter une propriété de CSS3 qui va venir appliquer un effet de transition et créer cette sensation de déroulement fluide !
/!\ Attention, si vous mettez ces propriétés dans .Deroulant, vous devez les mettre dans .Deroulant:hover pour que le déroulement soit fluide au moment du passage et au moment où la souris est retiée ! Voilà une exception /!\

Code:
.Deroulant
{
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  width: 30px;
  height: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
  -webkit-transition: 1s all; /* Transition et ses compatibilités */
  transition: 1s all;
}


Validez le CSS et allez admirer le résultat o/ !


Bon maintenant, si vous voulez faire comme sur l'exemple, vous pouvez placer la boite n'importe où sur votre écran. Ainsi, donnez une position fixée à votre boite (position: fixed;) et donnez lui son décalement par rapport au haut de l'écran et la gauche.
Code:
.Deroulant
{
  position: fixed;
  top: 150px;
  left: 0px;
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  width: 30px;
  height: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
  -webkit-transition: 1s all; /* Transition et ses compatibilités */
  transition: 1s all;
}



Déroulant Vertical

Tout d'abord, on va créer notre class dans le CSS, et tout de suite, on va lui affiler une hauteur avec height. Pourquoi?
Car lorsque vous passerez votre souris dans cette zone, la boite dévoilera son contenu.

Prenons donc une largeur de 30px :
Code:
.Deroulant
{
  height: 30px;
}


Pourtant, la boite a quand même besoin d'une hauteur pour exister. Ainsi, on va lui donner une hauteur :
Code:
.Deroulant
{
  height: 30px;
  width: 150px;
}


Maintenant, vous pouvez lui ajouter tout le style que vous voulez, pour ma part, je lui ajoute une couleur de fond (background-color), une bordure (border), un alignement du texte au centre, une barre de défilemnet cachée (overflow: hidden) et des arrondis (border-radius) :
Code:
.Deroulant
{
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  height: 30px;
  width: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
}


Maintenant, comme l'on veut que le contenu s'affiche au passage de la souris on va créer une seconde balise pour .Deroulant qui aura le suffixe :hover
Hover ? Ca veut dire planer, voltiger, survoler. Simple à retenir non ^^ ?
/!\ Attention, les valeurs que vous avez déjà mises dans .Deroulant sont automatiquement données au suffixe :hover, vous n'êtes donc pas obligés de les mettre dans .deroulant:hover /!\


Donnons alors à .Deroulant:hover une hauteur de 300px :
Code:
.Deroulant:hover
{
  height: 150px;
}


On va ajouter une propriété de CSS3 qui va venir appliquer un effet de transition et créer cette sensation de déroulement fluide !
/!\ Attention, si vous mettez ces propriétés dans .Deroulant, vous devez les mettre dans .Deroulant:hover pour que le déroulement soit fluide au moment du passage et au moment où la souris est retiée ! Voilà une exception /!\

Code:
.Deroulant
{
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  height: 30px;
  width: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
  -webkit-transition: 1s all; /* Transition et ses compatibilités */
  transition: 1s all;


Validez le CSS et allez admirer le résultat o/ !


Bon maintenant, si vous voulez faire comme sur l'exemple, vous pouvez placer la boite n'importe où sur votre écran. Ainsi, donnez une position fixée à votre boite (position: fixed;) et donnez lui son décalement par rapport au haut de l'écran et la gauche.
Code:
.Deroulant
{
  position: fixed;
  top: 0px;
  left: 500px;
  overflow: hidden; /* Cache la barre de défilement, pour l'afficher, mettre en valeur : auto */
  background-color: #dfdfdf; /* Fond Grisé */
  border: 2px solid #cccccc; /* Bordure grisée de 2px sur chaque cotés */
  height: 30px;
  width: 150px;
  text-align: center; /* Alignement du texte au centre */
  border-radius: 10px; /*Arrondi les coins*/
  -webkit-transition: 1s all; /*Transition et ses comptabilités*/
  transition: 1s all;


Navigation



Voila ! Very Happy
J'espère que ce tutoriel vous aidera à comprendre comment l'on peut confectionner un petit déroulant.
N'hésitez pas à me contacter pour de l'aide,
Taktiik.


Revenir en haut

La date/heure actuelle est Lun 20 Mai 2024 - 13:22