guppy.71site.fr

Accueil  Nouvelles  Téléchargements  Liens  FAQ  Livre d'or  Forum
Boîte-menu déroulante

Une boite-menu déroulante horizontale qui se déploie lors du survol de la souris.
 

Lorsque les liens de cette boîte-menu sont survolés. Un bandeau déroulant se déploie et offre de nouvelles informations qui peuvent être des liens, des images... Le bandeau déroulant recouvre le contenu qui se trouve à sa droite sans l'affecter. Les dimensions de cette boite et des bandeaux sont déterminées en pixels, il faudra donc le réserver à un affichage précis et non "responsive design".

Le contenu des bandeaux peut très facilement se gérer directement dans l'éditeur de texte de GuppY !

Attention toutefois :

L'effet produit, d'après mes tests, est possible sur les différents navigateurs sur les ordinateurs. Sur tablette et sur smartphone, pour ce que j'ai pu essayer, cela fonctionne de manière imparfaite (le survol sur un écran tactile ne fonctionne pas, il faut "cliquer"). Donc ce n'est pas vraiment "Mobile Friendly" et c'est plutôt à réserver sur des articles ou des boites libres qui seront visionnés sur ordinateurs ou tablettes. Il convient donc de réfléchir à ce que l'on veut obtenir.

L'origine de cette recherche est là : Vincent De Oliveira sur (notamment) https://www.css3create.com/.

Pour cette astuce, on n'utilise que du code CSS, comme dans les images qui changent au survol.

Une partie <style> </style> est à placer au début de l'article, de la boite libre (ou bien dans votre fichier styleplus.css).

Ci-dessous : la partie <style> </style> commentée le plus possible. La partie surlignée peut être éventuellement placée dans styleplus.

<style type="text/css">
#deploiement-horizontal{
height:280px; /*hauteur de la boite*/
}
#deploiement-horizontal ul:before{ /*attributs de la boite menu*/
content:""; /*IMPORTANT*/
position:absolute;
z-index:2;
background:#800040; /*couleur du fond de la boite*/
height:100%;
width:170px; /*largeur de la boite*/
margin-top:-45px; /*marge extérieure haute à ajuster*/
border-radius:30px 0px 0px 30px; /*arrondis : ici à gauche*/
box-shadow:0px 0px 10px rgba(0,0,0,0.8); /*ombre portée de la boite -peut être supprimée-*/
}
#deploiement-horizontal ul{
position:relative;
list-style:none;
padding:40px 0px; /*marges intérieures de la boite*/
}
#deploiement-horizontal ul li{ /*zones de survol des liens*/
height:40px; /*hauteur*/
width:157px; /*IMPORTANT:inférieur à largeur de la boite, et à ajuster*/
}
#deploiement-horizontal ul li a.LienMenu{ /*attributs des liens*/
position:relative;
z-index:3;
font-weight:bold; /*ou normal*/
color:#6B73A3; /*couleur du lien*/
font-size:2.0em; /*taille de la police*/
padding-left:5px; /*marge intérieure*/
display:block;
text-decoration:none; /*ou... ce que vous voulez*/
text-shadow:0px 1px 0px rgba(0,0,0,0.7); /*ombre portée de la police -peut être supprimée-*/
}
#deploiement-horizontal ul li div{ /*attributs du bandeau qui se déploie*/
width:0px; /*IMPORTANT : Y LAISSER UNE VALEUR*/
height:240px; /*hauteur du bandeau*/
padding:0 15px 15px 15px; /*marges intérieures*/
background:rgba(0,0,0,0.4); /*couleur de fond lors du repli*/
border-radius:0px 30px 30px 0px; /*arrondis : ici à droite*/
overflow:hidden;
color:#D3D3D3; /*couleur du texte*/
margin-top:5px; /*marge extérieure haute du bandeau à ajuster*/
position:absolute;top:0px;left:0px;z-index:1;opacity:0; /*IMPORTANT*/
transition:1s left,1s width,1s opacity; /*temps de transition : ici 1 seconde*/
}
#deploiement-horizontal ul li:hover div{ /*attribut du bandeau survolé*/
left:170px; /*position du bandeau : même valeur que largeur de boite*/
width:500px; /*largeur du bandeau*/
background:#6B73A3; /*couleur de fond du bandeau*/
opacity:1; /*opacité de la couleur de fond*/
}
#deploiement-horizontal ul li div h1{ /*éléments du bandeau : titre*/
font-size:2.5em; /*taille de la police titre*/
margin:5px 0px; /*marges "extérieures" du titre*/
color:#800040; /*couleur du titre*/
text-shadow:0px 1px 0px rgba(0,0,0,0.9); /*ombre portée de la police du titre -peut être supprimée-*/
text-align:right; /*left-center-right*/
}
#deploiement-horizontal ul li div p{ /*éléments du bandeau : paragraphe*/
margin:5px 0px; /*marges "extérieures" du paragraphe*/
width:460px; /*largeur du paragraphe*/
overflow:hidden;
font-size:1.0em; /*taille de la police*/
font-weight:normal; /*ou bold*/
text-align:justify; /*ou left-center-right*/
}
#deploiement-horizontal ul li div h1,
#deploiement-horizontal ul li div p,
#deploiement-horizontal ul li div a { /*IMPORTANT*/
background:transparent;
}
</style>

Et ci-dessous la structure de la boite, il vous suffit de copier-coller ce code où vous le souhaitez dans un article, une boite libre puis de compléter les liens, les titres (si il y en a) et les contenus...

<div id="deploiement-horizontal">
    <ul>    
        <li><a class="LienMenu" href="../">
Lien n°1</a>
            <div>
                <h1>
Titre Contenu n°1</h1>
                <p>
Contenu n°1</p>
            </div>
        </li>
        
        <li><a class="LienMenu" href="../">
Lien n°2</a>
            <div>
                <h1>
Titre Contenu n°2</h1>
                <p>
Contenu n°2</p>
            </div>
        </li>
        
        <li><a class="LienMenu" href="../">
Lien n°3</a>
            <div>
                <h1>
Titre Contenu n°3</h1>
                <p>
Contenu n°3</p>
            </div>
        </li>
        
        <li><a class="LienMenu" href="../">
Lien n°4</a>
            <div>
                <h1>
Titre Contenu n°4</h1>                
                <p>
Contenu n°4</p>
            </div>
        </li>
        
        <li><a class="LienMenu" href="../">
Lien n°5</a>
            <div>
                <h1>
Titre Contenu n°5</h1>
                <p>
Contenu n°5</p>
            </div>
        </li>
    </ul>
</div>

Il est bien sûr possible d'utiliser plusieurs occurences de ce dispositif sur une même page (c'est le cas ici avec une boîte-menu en haut ce ce site), mais il faut alors créer une autre série en changeant tous les identifiants et les classes dans la partie <style></style> et l'appel à ceux ci dans le corps de l'article, par exemple :

#deploiement-horizontal2 LienMenu2...

Pour plus d'informations ou d'aides pour utiliser ce dispositif, vous pouvez poster sur le forum de ce site.


Date de création : 20/10/2016 @ 08:42
Dernière modification : 20/10/2016 @ 08:42
Catégorie : Changements au survol
Page lue 59472 fois
Haut

Valid HTML 5.0 freeguppy.org © 2004-2020 En savoir plus ... Valid CSS 3
skin-J-D.png