[html] Onglet même page
Résolu/Fermé
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
-
7 janv. 2011 à 16:51
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 - 7 janv. 2011 à 18:40
coccoweb Messages postés 141 Date d'inscription dimanche 20 décembre 2009 Statut Membre Dernière intervention 17 février 2015 - 7 janv. 2011 à 18:40
A voir également:
- [html] Onglet même page
- Supprimer une page word - Guide
- Rouvrir onglet fermé - Guide
- Editeur html - Télécharger - HTML
- Word numéro de page 1/2 - Guide
- Comment traduire une page - Guide
2 réponses
il faut utiliser jquery pour faire ça voici un pti exemple a completer et affiner:
<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>grrrrrrrrrrrrrrrr</title> <style type="text/css"> *{padding:0; margin: 0;} body { background: #f0f0f0; margin: 0; padding: 0; font: 10px normal Verdana, Arial, Helvetica, sans-serif; color: #444; } h1 {font-size: 3em; margin: 20px 0;} .container {width: 360px; margin: 10px auto;} ul.tabs { margin: 0; padding: 0; float: left; list-style: none; height: 20px; border-bottom: 1px solid #999; border-left: 1px solid #999; width: 100%; } ul.tabs li { float: left; margin: 0; padding: 0; height: 19px; line-height: 19px; border: 1px solid #999; border-left: none; margin-bottom: -1px; background: #e0e0e0; overflow: hidden; position: relative; } ul.tabs li a { text-decoration: none; color: #000; display: block; font-size: 1.2em; padding: 0 20px; border: 1px solid #fff; outline: none; } ul.tabs li a:hover { background: #ccc; } html ul.tabs li.active, html ul.tabs li.active a:hover { background: #fff; border-bottom: 1px solid #fff; } .tab_container { border: 1px solid #999; border-top: none; clear: both; float: left; width: 100%; background: #fff; -moz-border-radius-bottomright: 5px; -khtml-border-radius-bottomright: 5px; -webkit-border-bottom-right-radius: 5px; -moz-border-radius-bottomleft: 5px; -khtml-border-radius-bottomleft: 5px; -webkit-border-bottom-left-radius: 5px; } .tab_content { padding: 7px 10px; font-size: 1.2em; text-align: justify; } </style> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function() { //Default Action $(".tab_content").hide(); //Hide all content $("ul.tabs li:first").addClass("active").show(); //Activate first tab $(".tab_content:first").show(); //Show first tab content //On Click Event $("ul.tabs li").click(function() { $("ul.tabs li").removeClass("active"); //Remove any "active" class $(this).addClass("active"); //Add "active" class to selected tab $(".tab_content").hide(); //Hide all tab content var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content $(activeTab).fadeIn(); //Fade in the active content return false; }); }); </script> </head> <body> <div class="container"> <ul class="tabs"> <li><a href="#tab1">titre 1</a></li> <li><a href="#tab2">titre 2</a></li> </ul> <div class="tab_container"> <div id="tab1" class="tab_content"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ullamcorper augue gravida enim eleifend nec accumsan nulla commodo. Duis pretium cursus metus nec condimentum. Aliquam erat volutpat. In vel est nibh. Sed a neque leo, quis hendrerit felis. Etiam dictum nisi sed justo malesuada eu porttitor purus ullamcorper. Ut vitae urna sed enim pellentesque volutpat cursus nec tortor. Sed lobortis luctus lectus. Vestibulum eu augue mauris, vitae condimentum enim. Suspendisse et mi purus, id posuere nunc. Ut lacinia elementum augue vitae molestie. Sed quis augue tristique erat cursus hendrerit. Praesent a libero eget mauris tincidunt egestas. </p> </div> <div id="tab2" class="tab_content"> <p> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ullamcorper augue gravida enim eleifend nec accumsan nulla commodo. Duis pretium cursus metus nec condimentum. Aliquam erat volutpat. In vel est nibh. Sed a neque leo, quis hendrerit felis. Etiam dictum nisi sed justo malesuada eu porttitor purus ullamcorper. Ut vitae urna sed enim pellentesque volutpat cursus nec tortor. Sed lobortis luctus lectus. Vestibulum eu augue mauris, vitae condimentum enim. Suspendisse et mi purus, id posuere nunc. Ut lacinia elementum augue vitae molestie. Sed quis augue tristique erat cursus hendrerit. Praesent a libero eget mauris tincidunt egestas. </p> </div> </div> </div> </body> </html>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
7 janv. 2011 à 17:20
7 janv. 2011 à 17:20
Bonjour,
Pour faire ce genre de chose, on utilise du CSS et un peu de javascript.
Le contenu de chaque onglet doit être inscrit dans un bloc (typiquement un <div>) dûment identifié par un id.
Au chargement, l'un des deux est masqué (attribut CSS display:none;), l'autre est affiché normalement (display:block;)
Ensuite, tes "onglets" doivent avoir un attribut html onclick, qui leur permettra de lancer une routine javascript. Celle-ci fera basculer les attribut display de tes deux <div>
Cela peut donner quelque chose comme ça :
Voilà.
Bon, je viens d'écrire tout ça « à la volée » sans aucun test, donc il y aura vraisemblablement des ajustements à faire, et je te laisse t'occuper des aspects graphiques.
Bonne chance,
Xavier
Pour faire ce genre de chose, on utilise du CSS et un peu de javascript.
Le contenu de chaque onglet doit être inscrit dans un bloc (typiquement un <div>) dûment identifié par un id.
Au chargement, l'un des deux est masqué (attribut CSS display:none;), l'autre est affiché normalement (display:block;)
Ensuite, tes "onglets" doivent avoir un attribut html onclick, qui leur permettra de lancer une routine javascript. Celle-ci fera basculer les attribut display de tes deux <div>
Cela peut donner quelque chose comme ça :
<html> <head> <script type="text/javascript"> var nombreOnglets = 2; function changeOnglet(numero) { // On commence par tout masquer for (var i = 0; i < nombreOnglets; i++) document.getElementById("contenuOnglet" + i).style.display = "none"; // Puis on affiche celui qui a été sélectionné document.getElementById("contenuOnglet" + numero).style.display = "block"; } </script> </head> <body> <div> <span onclick="changeOnglet(0)">Description</span> <span onclick="changeOnglet(1)">Fiche technique</span> </div> <div id="contenuOnglet0" style="display:block;"> - Bla bla description<br /> - Bla bla description<br /> - Bla bla description </div> <div id="contenuOnglet1" style="display:none;"> - Bla bla fiche technique<br /> - Bla bla fiche technique<br /> - Bla bla fiche technique </div> </body> </html>
Voilà.
Bon, je viens d'écrire tout ça « à la volée » sans aucun test, donc il y aura vraisemblablement des ajustements à faire, et je te laisse t'occuper des aspects graphiques.
Bonne chance,
Xavier
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
7 janv. 2011 à 18:40
7 janv. 2011 à 18:40
Simple et concis, je prend ton modèles que j'adapterai, plus simple. J'apprendrai surement plus. Merci
7 janv. 2011 à 18:40