<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CSS &#38; Webdesign &#187; Footer</title>
	<atom:link href="http://css.4design.tl/tag/footer/feed" rel="self" type="application/rss+xml" />
	<link>http://css.4design.tl</link>
	<description>Le blog de l&#039;intégrateur web</description>
	<lastBuildDate>Thu, 24 May 2012 16:31:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Quelques notes sur les éléments graphiques du webdesign</title>
		<link>http://css.4design.tl/elements-graphiques-webdesign</link>
		<comments>http://css.4design.tl/elements-graphiques-webdesign#comments</comments>
		<pubDate>Tue, 24 May 2011 16:59:12 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Design & Graphisme]]></category>
		<category><![CDATA[Angle]]></category>
		<category><![CDATA[Aplat de couleur]]></category>
		<category><![CDATA[Background]]></category>
		<category><![CDATA[Bannière]]></category>
		<category><![CDATA[Colonnes]]></category>
		<category><![CDATA[Contour]]></category>
		<category><![CDATA[dégradés]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Direction artistique]]></category>
		<category><![CDATA[Fond]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Graphisme]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[Ombres portées]]></category>
		<category><![CDATA[Quelques notes]]></category>
		<category><![CDATA[Rubans]]></category>
		<category><![CDATA[Tartan]]></category>
		<category><![CDATA[Zébrures]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=9704</guid>
		<description><![CDATA[Une fois n&#8217;est pas coutume, je vais aborder la question du web design sous l&#8217;angle du graphisme, sans considération de langage de développement ou de technique en général. Je n&#8217;aborderai pas les questions liées à l&#8217;architecture de l&#8217;information, à l&#8217;ergonomie ou à l&#8217;accessibilité. A la place, après un aperçu sur le travail du Directeur artistique et du graphiste, je vous propose une liste commentées des éléments graphiques que l&#8217;on trouve de manière récurrente sur les sites web, avec pour chacun un rapide commentaire.  La question du «pourquoi tel élément plutôt qu&#8217;un autre ?», rejoint un peu la question posée par [...]]]></description>
			<content:encoded><![CDATA[<p>Une fois n&#8217;est pas coutume, je vais aborder la question du web design sous l&#8217;angle du graphisme, sans considération de langage de développement ou de technique en général. Je n&#8217;aborderai pas les questions liées à l&#8217;architecture de l&#8217;information, à l&#8217;ergonomie ou à l&#8217;accessibilité. A la place, après un aperçu sur le travail du Directeur artistique et du graphiste, je vous propose une liste commentées des éléments graphiques que l&#8217;on trouve de manière récurrente sur les sites web, avec pour chacun un rapide commentaire. <span id="more-9704"></span></p>

<p>La question du «pourquoi tel élément plutôt qu&#8217;un autre ?», rejoint un peu la question posée par Leibniz : «pourquoi y a-t-il quelque chose plutôt que rien dans l&#8217;univers ?». A laquelle je ne peux m&#8217;empêcher d&#8217;ajouter mon grain de sel sous forme de question subsidiaire : «pourquoi tel élément de «design» plutôt qu&#8217;un autre ?»</p>

<h2>Direction artistique &amp; Web design</h2>

<p>Le Directeur artistique détermine le fond du message ; le graphiste s&#8217;occupe de la (mise en) forme. Le DA met sa connaissance des codes artistiques des temps passés, présents et futurs pour proposer un univers graphique sans se soucier des contraintes techniques. Quant au graphiste, il rend en quelque sorte «utilisable» le travail du DA en fonction du support et des techniques dont il dispose.</p>

<p>Chacun d&#8217;eux porte son attention sur une partie différente des bonnes pratiques liées à son métier. Le DA s&#8217;assure que les codes graphiques qu&#8217;il a retenus sont adaptés à la marque et à son public. Le graphiste veille à ce que la mise en oeuvre des choix graphiques respecte à son tour les attentes de la marque et du public.</p>

<p>En pratique, le DA évitera généralement de proposer des couleurs vives pour un site web vendant des articles funéraires et que le graphiste s&#8217;abstiendra de placer le logo et le champs de recherche en bas de la page. Si ces cas extrêmes sont généralement évités, il n&#8217;en reste pas moins qu&#8217;il n&#8217;est pas toujours évident de choisir entre des coins arrondis ou des angles droits, des dégradés ou des aplats de couleurs, du <em>Stars and Stripes</em> ou du <em>Sex and Sun !</em></p>

<p>Finalement, la question que je me pose est la suivante : «quand et pourquoi se décide-t-on pour un coin arrondi ou pour un coin carré ?». Cette question est valable pour tout élément ayant un impact sur l&#8217;apparence d&#8217;une page web. Pour éviter de faire ces choix parfois cornéliens sur un coup de <a href="http://www.gamblingplanet.org/fr/Online-Poker-Introduction">poker</a>, voici quelques éléments de réflexion que j&#8217;ai rassemblé ici parce que vous le valez bien :-)</p>

<h2>En-tête, bannière et pied de page</h2>

<h3>Header</h3>

<p>Les en-têtes de blogs plus ou moins délirants ont eu leur heure de gloire, mais ont fini par lasser. Ils sont souvent composés d&#8217;une image bariolée occupant la largeur du site ou d&#8217;une image centrée dans le background débordant largement de la largeur du contenu. On peut voir la première technique dans le thème par défaut de WordPress 3. La deuxième a été popularisée par des sites comme celui de <a href="http://ma.tt/">Matt Mullenweg</a> ou <a href="http://www.webdesignerwall.com/">Web Designer Wall</a>.</p>

<div id="attachment_9812" class="wp-caption alignleft" style="width: 625px"><a href="http://css.4design.tl/files/2011/04/header-matt.png"><img class="size-full wp-image-9812" src="http://css.4design.tl/files/2011/04/header-matt.png" alt="" width="615" height="321" /></a><p class="wp-caption-text">Un bon gros header</p></div>

<h3>Footer</h3>

<p>Les pieds de page sont souvent les laissés pour compte du webdesign. Toutefois, la mode des Big Footer leur a redonné une certaine importance, même si au départ, il s&#8217;agit surtout d&#8217;améliorer le maillage interne en mettant un paquet de liens. Pour faire passer la pilule, les plus créatifs ont utilisé cette zone, peu sexy en général, pour en faire quasiment la vitrine de leur site web. Voici quelques conseils pour optimiser votre <a href="http://ui-patterns.com/patterns/FatFooter">Fat Footer</a> (<a href="http://t37.net/un-design-pattern-pour-le-big-footer.html">explications en français</a>).</p>

<h6>Exemple de big footer simple et graphique à la fois</h6>

<div id="attachment_9815" class="wp-caption alignleft" style="width: 444px"><a href="http://css.4design.tl/files/2011/04/big-footer.jpg"><img class="size-large wp-image-9815" src="http://css.4design.tl/files/2011/04/big-footer-434x188.jpg" alt="" width="434" height="188" /></a><p class="wp-caption-text">Big Footer de Soh Tanaka</p></div>

<h2>Colonnes et barres latérales</h2>

<p>Il est assez rare de rencontrer un blog ou un site web composé d&#8217;une seule colonne. Tout au plus trouve-t-on des thèmes WordPress affichant l&#8217;article seul sans les barres latérales. Jusqu&#8217;en 2003 environ, les sites web étaient souvent composés d&#8217;une zone de contenu entourée de deux barres latérales. Dans celle de droite, on trouvait généralement le champs de recherche et les liens annexes, tandis que la colonne de gauche accueillait la publicités, des listes de liens extérieurs (blogroll), etc.</p>

<h6>Les <a href="http://css.4design.tl/tag/framework-css">frameworks CSS</a> permettent de créer une système de colonne pour votre site web</h6>

<div id="attachment_7615" class="wp-caption alignleft" style="width: 444px"><a href="http://css.4design.tl/files/2010/10/simpler-grid.png"><img class="size-full wp-image-7615" src="http://css.4design.tl/files/2010/10/simpler-grid.png" alt="The Simpler Grid" width="434" height="434" /></a><p class="wp-caption-text">The Grid Simpler : une grille simple et souple </p></div>

<p>Aujourd&#8217;hui, la tendance est clairement à une composition en deux colonnes : le contenu à gauche et la barre latérale à droite. Lorsqu&#8217;on a besoin d&#8217;une deuxième sidebar, elle est souvent située à côté de la première, avec la même largeur, mais pas forcément. L&#8217;idée maitresse est de créer une asymétrie graphique. Par ailleurs, la friction monétaire étant ce qu&#8217;elle est, cette organisation permet de mettre en avant le contenu pour les moteurs de recherche qui digèrent le code HTML de haut en bas et de gauche à droite (c&#8217;est peut-être différent pour les langues qui se lisent de droite à gauche).</p>

<h2><span style="font-size: 15px">Contours et angles</span></h2>

<h3>Arrondir les angles ou pas ?</h3>

<p><a href="http://css.4design.tl/files/2011/04/coins-arrondis-image.png"><img class="alignleft size-full wp-image-9821" src="http://css.4design.tl/files/2011/04/coins-arrondis-image.png" alt="" width="134" height="134" /></a>Le modèle de boite du W3C reposant sur des angles droits, l&#8217;utilisation des coins arrondis a permis à une époque de sortir du lot. De fait, ils sont utilisés depuis longtemps malgré de nombreux obstacles techniques. L&#8217;arrivée de CSS3 et de border-radius, qui rendent accessibles les coins arrondis au plus grand nombre, remettront peut-être les angles droits ou irréguliers à l&#8217;honneur.</p>

<p>Cela dit, l&#8217;origine de l&#8217;engouement pour les bords arrondis est à chercher du côté symbolique. L&#8217;arrondi est une forme organique qui donne une impression de proximité affective. Il a un pouvoir immersif qui s&#8217;adresse au cerveau droit et joue sur l&#8217;émotionnel. A l&#8217;opposé, le coin carré s&#8217;adresse plutôt à la raison, à l&#8217;intellect.</p>

<p>L&#8217;arrivé de <a href="http://www.css3.info/preview/border-image/">border-image</a> avec CSS3 devrait élargir les possibilités créatives, en se rapprochant de ce que l&#8217;on trouve dans Illustrator, par exemple.</p>

<h3>Rubans (ribbons)</h3>

<p><a href="http://css.4design.tl/files/2011/04/ribbons-rubans.jpg"><img class="alignleft size-thumbnail wp-image-9823" src="http://css.4design.tl/files/2011/04/ribbons-rubans-102x102.jpg" alt="" width="102" height="102" /></a>Ils ont pratiquement toujours existés et le web ne cesse d&#8217;inventer de nouvelles formes dont le but est d&#8217;ancrer le ruban dans la page tout en le faisant ressortir. Force est de constater que les derniers rubans à la mode en provenance du monde anglo-saxon (oui, le jour où les graphistes francophones cesseront de se croire le nombril du monde&#8230;) réussissent ce tour de force.</p>

<h3>Ombres portées</h3>

<p><a href="http://css.4design.tl/files/2011/04/ombre-portee-photoshop.png"><img class="alignleft size-full wp-image-9825" src="http://css.4design.tl/files/2011/04/ombre-portee-photoshop.png" alt="" width="102" height="102" /></a>Elles ont toujours fait partie du paysage graphique autant en PAO et sont apparues sur le web dès que cela a été possible. D&#8217;abord en utilisant des cellules de tableau, puis avec des balises <code>div</code> imbriquées et enfin, depuis peu, avec les propriétés CSS3 <a href="http://www.alsacreations.com/tuto/lire/910-creer-des-ombrages-ombres-css-box-shadow-text-shadow.html">box-shadows et text-shadows</a>.</p>

<h3>Bords déchirés</h3>

<p><a href="http://css.4design.tl/files/2011/04/bords-irreguliers.png"><img class="alignleft size-full wp-image-9827" src="http://css.4design.tl/files/2011/04/bords-irreguliers.png" alt="" width="102" height="102" /></a>On voit relativement peu de contours déchirés ou de bords irréguliers, malgré leur fort potentiel graphique.</p>

<h2>backgrounds</h2>

<h3>Fond blanc</h3>

<p>Associé à du texte (presque) noir, le fond blanc présente le meilleur rapport de contraste que l&#8217;oeil puisse trouver. Il s&#8217;agit généralement de la couleur de fond de page par défaut des agents utilisateurs depuis plusieurs années. C&#8217;est une valeur sûre qui ne devrait être modifiée qu&#8217;après mûre réflexion ;-)</p>

<h3>Aplat de couleur</h3>

<p>L&#8217;utilisation des aplats de couleur permet de faire ressortir une partie du texte tout en lui conférant une certaine puissance. Si en peinture, l&#8217;obtention d&#8217;un à-plat digne de ce nom n&#8217;est pas une sinécure, il n&#8217;en va pas de même pour la PAO ou le web où il suffit de saisir une valeur pour obtenir en beau «noir au blanc». Les sites web des années 2000 faisaient un large usage des aplats, tandis qu&#8217;aujourd&#8217;hui leur emploi est réservé à des petites portions de texte, comme des titres ou des encarts. Il peuvent être utilisés pour signaler les hors-textes en lieu et place des guillemets géants qui commencent à lasser un peu (mais c&#8217;est joli quand même).</p>

<h3>Dégradés</h3>

<p>Si les aplats de couleur sont roboratifs, les dégradés se digèrent plus facilement. Toutefois, ils restent peu utilisés sur le web à part dans les backgrounds en haut de page pour ancrer l&#8217;en-tête du site dans la fenêtre du navigateur. Ils devraient trouver une seconde jeunesse grâce à la nouvelle propriété gradient apparut avec CSS3. Attention à l&#8217;overdose : ces effets sont à utiliser avec parcimonie.</p>

<h3>Zébrures (Stripes)</h3>

<p>Les fonds hachurés ont eu leur heure de gloire dans les années 2005 &#8212; 2006 mais ils n&#8217;ont pas totalement disparus. Comme les dégradés, ils permettent d&#8217;utiliser une couleur de fond tout en restant léger. Il peuvent être orientés de <a href="http://www.stripegenerator.com/index.php?page=showcase">plusieurs manières</a> et présenter des tailles de zébrures variables. (cf. <a href="http://css.4design.tl/background-css-des-fonds-hachures-avec-la-positive-attitude">Des fonds hachurés avec la positive attitude</a>).</p>

<h3>Tartan</h3>

<p>Le <a href="http://fr.wikipedia.org/wiki/Tartan">tartan</a> est une autre manière de remplir un fond sans agresser l&#8217;oeil. Peu employé, il pourrait reprendre du poil de la bête. Voici un <a href="http://www.tartanmaker.com/">générateur de tartan</a> au cas où vous voudriez prendre de l&#8217;avance.</p>

<h3>Images</h3>

<p>les visuels «Full Background» sont généralement à éviter, mais si votre produit ou votre thématique nécessite une immersion du visiteur dans votre univers, foncez ! L&#8217;essentiel est de garder un oeil sur la lisibilité d&#8217;ensemble. C&#8217;est certainement très subjectif, mais je trouve que les sites utilisant des images généreuses sur un fond noir avec du texte clair s&#8217;en sortent mieux que ceux qui utilisent des grandes images sur un fond blanc avec du texte noir ^^</p>

<h3>Background &laquo;&nbsp;bruité&nbsp;&raquo;</h3>

<p>Ces backgrounds utilisant généralement la fonction Filtre &gt; ajout de bruit de Photoshop remplacent avantageusement les dégradés lorsqu&#8217;il s&#8217;agit de donner un peut de matière et de profondeur à la page.  Avec l&#8217;option bruit gaussien, les raccords entre plusieurs fond bruités sont un jeu d&#8217;enfant.</p>

<h3>Fonds artistiques</h3>

<p>Parmi les fonds plus ou moins artistiques &#8212; qui sont de plus en plus utilisés &#8211;, j&#8217;aime beaucoup celui de <a href="http://all-for-design.com/">All For Design</a> qui parvient à conserver un bon niveau de lisibilité malgré le faible contraste entre la couleur du fond et le texte.</p>

<h2>C&#8217;est tout pour le moment</h2>

<p>Cet article devrait trouver une suite avec quelques notes sur l&#8217;utilisation des textes, des illustrations, des palettes de couleurs, etc. N&#8217;hésitez pas à partager vos impressions ou à fournir toute information complémentaire susceptible de faire avancer le «schmilblick» :-)</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/design-graphique-sites-web' title='Quelques notes sur le design graphique des sites web et autres futilités'>Quelques notes sur le design graphique des sites web et autres futilités</a></li><li><a href='http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau' title='Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;'>Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;</a></li><li><a href='http://css.4design.tl/css-toolbox' title='Trucs et astuces CSS'>Trucs et astuces CSS</a></li><li><a href='http://css.4design.tl/liens-javascript-jquery' title='390 ressources Javascript &amp; jQuery'>390 ressources Javascript &amp; jQuery</a></li><li><a href='http://css.4design.tl/quelques-notes-lecture-graphisme-xx-siecle' title='Quelques notes de lecture sur Le Graphisme au XXe siècle'>Quelques notes de lecture sur Le Graphisme au XXe siècle</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=9704&amp;md5=fefbbdf2227bfac22b6e621e11f4ecb1" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/elements-graphiques-webdesign/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Felements-graphiques-webdesign&amp;language=fr_FR&amp;category=text&amp;title=Quelques+notes+sur+les+%C3%A9l%C3%A9ments+graphiques+du+webdesign&amp;description=Une+fois+n%26%238217%3Best+pas+coutume%2C+je+vais+aborder+la+question+du+web+design+sous+l%26%238217%3Bangle+du+graphisme%2C+sans+consid%C3%A9ration+de+langage+de+d%C3%A9veloppement+ou+de+technique+en+g%C3%A9n%C3%A9ral.+Je+n%26%238217%3Baborderai...&amp;tags=Angle%2CAplat+de+couleur%2CBackground%2CBanni%C3%A8re%2CColonnes%2CContour%2Cd%C3%A9grad%C3%A9s%2CDesign%2CDirection+artistique%2CFond%2CFooter%2CGraphisme%2CHeader%2CImages%2COmbres+port%C3%A9es%2CQuelques+notes%2CRubans%2CTartan%2CZ%C3%A9brures%2Cblog" type="text/html" />
	</item>
		<item>
		<title>HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»</title>
		<link>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections</link>
		<comments>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections#comments</comments>
		<pubDate>Wed, 24 Mar 2010 16:00:39 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Section]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=5890</guid>
		<description><![CDATA[Les nouvelles balises introduites par HTML5 ne sont pas très évidentes à utiliser. Plus que jamais, le contenu est roi et tout dépend de lui. Les notions de Sectioning Content implicites ou explicites risquent de se transformer en poil à gratter pour les intégrateurs web. Pour commencer, notre balise div préférée devra laisser du terrain à la balise section quand on pourra justifier d&#8217;un h1 à l&#8217;intérieur. Ce titre de premier niveau mène la danse et pourra inspirer l&#8217;intitulé de l&#8217;id de la section. Plus que jamais, l&#8217;intégrateur web devra avoir une solide culture générale. Il lui faudra tout au [...]]]></description>
			<content:encoded><![CDATA[<p>Les nouvelles balises introduites par HTML5 ne sont pas très évidentes à utiliser. Plus que jamais, le contenu est roi et tout dépend de lui. Les notions de <em>Sectioning Content</em> implicites ou explicites risquent de se transformer en poil à gratter pour les intégrateurs web. Pour commencer, notre balise <code>div</code> préférée devra laisser du terrain à la balise <code>section</code> quand on pourra justifier d&#8217;un <code>h1</code> à l&#8217;intérieur.<span id="more-5890"></span></p>

<p>Ce titre de premier niveau mène la danse et pourra inspirer l&#8217;intitulé de l&#8217;<code>id</code> de la section. Plus que jamais, l&#8217;intégrateur web devra avoir une solide culture générale. Il lui faudra tout au moins s&#8217;intéresser suffisamment aux contenus qu&#8217;il met en page pour savoir où commencent et où finissent les idées de ses clients !</p>

<p>Durant mes tests, j&#8217;ai beaucoup hésité sur l&#8217;utilisation de la balise <code>header</code>. Celle que l&#8217;on pensait forcément prévue pour prendre la place de notre <code>div id="header"</code> ne s&#8217;est pas vu attribuée ce rôle de manière formelle et univoque dans les spécifications. Elle pourra servir dans plusieurs contextes en conjonction (ou pas) avec une balise <code>footer</code> ; mais pas le <code>footer</code> que l&#8217;on place généralement tout en bas de la page page&#8230; Dans les faits, l&#8217;utilisation des balises <code>header</code> et <code>footer</code> est à géométrie variable.</p>

<h2>Modèles de document HTML5</h2>

<p>HTML5 introduit la notion de <a href="http://dev.w3.org/html5/spec/Overview.html#sectioning-content">Sectioning Content</a>. Pour faire simple, une section regroupe un ensemble de titres de plusieurs niveaux formant une unité logico-sémantique. Lorsqu&#8217;un deuxième <code>h1</code> est nécessaire, c&#8217;est qu&#8217;on se trouve dans une autre «section».  Les sections sont implicites et suivent la hiérarchie des balises <code>h1</code>, <code>h2</code>, etc. mais on peut les formaliser avec les balises <code>article</code>, <code>aside</code>, <code>nav</code> ou&#8230; <code>section</code>.</p>

<p>La première remarque qui m&#8217;est venue à l&#8217;esprit en voyant la liste des balises ayant le statut de «section», c&#8217;est qu&#8217;il manquait les balises <code>header</code> et <code>footer</code> !</p>

<h6>Les éléments HTML se retrouvent dans zéro ou plusieurs catégories en fonction de leurs caractéristiques.</h6>

<div id="attachment_5892" class="wp-caption alignleft" style="width: 444px"><a href="http://css.4design.tl/files/2010/03/html5-content-models.png"><img class="size-large wp-image-5892" src="http://css.4design.tl/files/2010/03/html5-content-models-434x244.png" alt="" width="434" height="244" /></a><p class="wp-caption-text">Le modèle de document HTML5 se compose de : metadata content, flow content, sectioning content, heading content, phrasing content, embedded content et interactive content. (Source : W3C)</p></div>

<h3>Pourquoi les balises header et footer n&#8217;en font pas partie ?</h3>

<p>Très bonne question. La premier élément de réponse tient certainement à la nature équivoque de ces balises : elles peuvent se trouver à l&#8217;intérieur des sections introduites par <code>body</code>, <code>article</code>, <code>nav</code>, <code>aside</code> ou <code>section</code> pour regrouper le titre (ou les titres avec <code>hgroup</code>) et des informations complémentaires sur le contenu (date, auteur, etc.).</p>

<p>La deuxième, c&#8217;est peut-être pour les utiliser afin de regrouper des informations dans l&#8217;en-tête et le pied de page du site, sans les couper des autres informations. De cette manière, les informations contenues dans <code>header</code> et <code>footer</code> concernent toute la page (voire tout le site web), ce qui est plus logique.</p>

<p>Reste le <em>Sectioning</em> implicite. Est-ce à dire qu&#8217;il faut éviter d&#8217;utiliser des niveaux de titre dans notre en-tête et notre pied de page ?</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/the-html-framework-project-phase-11-definir' title='The HTML Framework Project &#124; Phase 1.1 — définir'>The HTML Framework Project &#124; Phase 1.1 — définir</a></li><li><a href='http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau' title='Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;'>Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li><li><a href='http://css.4design.tl/liens-javascript-jquery' title='390 ressources Javascript &amp; jQuery'>390 ressources Javascript &amp; jQuery</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=5890&amp;md5=62bce0ad48cda98716abcc2a4fefbd04" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fhtml5-pourquoi-header-et-footer-ne-creent-pas-de-sections&amp;language=fr_FR&amp;category=text&amp;title=HTML5+%26%238212%3B+Pourquoi+%C2%ABheader%C2%BB+et+%C2%ABfooter%C2%BB+ne+cr%C3%A9ent+pas+de+%C2%ABsections%C2%BB&amp;description=Les+nouvelles+balises+introduites+par+HTML5+ne+sont+pas+tr%C3%A8s+%C3%A9videntes+%C3%A0+utiliser.+Plus+que+jamais%2C+le+contenu+est+roi+et+tout+d%C3%A9pend+de+lui.+Les+notions+de+Sectioning+Content...&amp;tags=Footer%2CHeader%2CHTML%2CHTML5%2CSection%2Cblog" type="text/html" />
	</item>
		<item>
		<title>The HTML Framework Project &#124; Phase 1.1 — définir</title>
		<link>http://css.4design.tl/the-html-framework-project-phase-11-definir</link>
		<comments>http://css.4design.tl/the-html-framework-project-phase-11-definir#comments</comments>
		<pubDate>Fri, 05 Sep 2008 02:25:23 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Aside]]></category>
		<category><![CDATA[Fichiers]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Intégration HTML]]></category>
		<category><![CDATA[Section]]></category>

		<guid isPermaLink="false">http://www.css4design.com/?p=1681</guid>
		<description><![CDATA[Je vous ai rapidement parlé de The HTML Framework Project qui propose de réfléchir ensemble à la mise en place d&#8217;un environnement de travail pour rendre le démarrage d&#8217;un projet de site web moins ennuyeux. Le projet en est à la phase 1.1 : définir. Il est évident que produire un bon code HTML est un métier, un art qui peut difficilement se faire comme on élève des poules en batteries. Pour autant, il doit être possible de dégager parmi les bonnes pratiques de travail, quelques concepts récurrents que l&#8217;on pourrait utiliser au démarrage d&#8217;un projet. C&#8217;est quoi un framework [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.css4design.com/the-html-framework-project-phase-1-definir">Je vous ai rapidement parlé</a> de <a href="http://htmlframework.com">The HTML Framework Project</a> qui propose de réfléchir ensemble à la mise en place d&#8217;un environnement de travail pour rendre le démarrage d&#8217;un projet de site web moins ennuyeux. Le projet en est à la <a href="http://htmlframework.com/?p=15">phase 1.1 : définir</a>. Il est évident que produire un bon code HTML est un métier, un art qui peut difficilement se faire comme on élève des poules en batteries. Pour autant, il doit être possible de dégager parmi les bonnes pratiques de travail, quelques concepts récurrents que l&#8217;on pourrait utiliser au démarrage d&#8217;un projet.<span id="more-1681"></span></p>

<h3>C&#8217;est quoi un framework HTML, au juste ?</h3>

<p>Un Framework HTML devrait inclure une structure de fichiers normalisée, quelques trucs pour mettre les navigateurs au garde-à-vous et des fichiers HTML servant de fondations pour des maquettes différentes. C&#8217;est aussi simple que ça : un jeu de fichiers et de répertoires pour amorcer le travail dans la joie et la bonne humeur ;)</p>

<h3>Sur quelles bases construire ce framework ?</h3>

<p>S&#8217;assurer que le Framework HTML est conforme avec les points suivants :</p>

<ul>
<li>Éviter les <code>tables</code> pour la présentation,</li>
<li>Séparer le fond et la forme,</li>
<li>Réserver la partie présentation aux CSS,</li>
<li>Prendre en considération la &laquo;&nbsp;sémantique&nbsp;&raquo; des balises HTML,</li>
<li>Intégrer des noms de classes signifiants,</li>
<li>Valider en accord avec les spécifications du W3C.</li>
</ul>

<h3>Un mot d&#8217;ordre : la flexibilité</h3>

<p>Pour que ce framework HTML soit utile aux développeurs, il faudra :</p>

<ul>
<li>Ne pas gêner les <em>web designers</em> (les graphistes doivent pouvoir laisser libre-court à leur créativité),</li>
<li>S&#8217;adapter aux contraintes propres d&#8217;un projet (être un plus, pas un obstacle),</li>
<li>Rester léger en excluant les fonctionnalités superflues,</li>
<li>Être extensible pour faire face aux besoins futurs.</li>
</ul>

<h3>Participer à la discussion</h3>

<p>On parle beaucoup (ou pas) de HTML5. <a href="http://htmlframework.com/?p=15#comment-7">J&#8217;ai donc lancé l&#8217;idée</a> de bâtir les fondations du framework sur la base des spécifications du HTML5, notamment pour la partie structure en accord avec la <a href="http://www.w3.org/html/wg/html5/#sections">partie sections du W3C</a> :</p>

<ul>
<li><code>section</code>  &#8212; Chapitres, onglets des menu, etc. La page d&#8217;accueil d&#8217;un site web pourrait être découpée en sections : introduction, news et informations de contact.</li>
<li><code>nav</code> &#8212;  Menu principal ou secondaire d&#8217;un site web.</li>
<li><code>article</code> &#8212; Partie indépendante d&#8217;une page, d&#8217;un document ou d&#8217;un site : contribution sur un forum, article de magazine, billet de blog, commentaire, etc.</li>
<li><code>aside</code> &#8212; Barre latérale ou contenu adjacent,</li>
<li><code>header</code> &#8212; Regroupement de sections ou de balises <code>h1</code>, <code>h2</code>, etc.</li>
<li><code>footer</code> &#8212; Pied de page d&#8217;une <code>section</code>,</li>
<li><code>address</code> &#8212; Informations de contact, idéalement placées dans le <code>footer</code>.</li>
</ul>

<p>Dans le framework HTML, ces éléments pourraient se traduire par :</p>

<pre><code>&lt;div&gt;&lt;/div&gt;
&lt;div class="article"&gt;&lt;/div&gt;
&lt;p class="aside"&gt;
</code></pre>

<p>Les autres éléments de HTML4  étant utilisés &#8212; comme d&#8217;habitude &#8212; de manière à coller au plus près du sens véhiculé par le contenu.</p>

<h3>Pour conclure</h3>

<p>L&#8217;avantage de calquer les <code>id</code> et les <code>class</code> sur les balises prévues par HTML5, c&#8217;est de voir loin tout en s&#8217;adaptant dès maintenant aux nouvelles habitudes de structuration des contenus avec HTML5. Et comme le suggère <a href="http://www.jdgraffam.com/">jdgraffam</a> il est envisageable que le framework définisse un plan pour passer du framework au HTML 5 quand ce dernier sera pris en compte par les navigateurs, tout en restant rétro-compatible !</p>

<p>Faites tourner et n&#8217;hésitez pas à partager ce que ce projet vous inspire. Si vous avez des idées et quelques connaissances en anglais, je vous invite à <a href="http://htmlframework.com/?p=15">commenter ce billet</a>, ou ici, si vous êtes plus à l&#8217;aise en français ;)</p>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/html5-pourquoi-header-et-footer-ne-creent-pas-de-sections' title='HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»'>HTML5 &#8212; Pourquoi «header» et «footer» ne créent pas de «sections»</a></li><li><a href='http://css.4design.tl/html5-et-si-on-evitait-la-balise-section-dans-une-balise-article' title='HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?'>HTML5 &#8212; Et si on évitait la balise «section» dans une balise «article» ?</a></li><li><a href='http://css.4design.tl/html5-une-orientation-encore-trop-litteraire-et-pas-assez-web' title='HTML5 &#8212; Une orientation encore trop « littéraire » et pas assez « web »'>HTML5 &#8212; Une orientation encore trop « littéraire » et pas assez « web »</a></li><li><a href='http://css.4design.tl/framework-html-bootstrap-fondation-html5-boilerplate' title='Framework HTML : Bootstrap, Fondation et HTML5 Boilerplate'>Framework HTML : Bootstrap, Fondation et HTML5 Boilerplate</a></li><li><a href='http://css.4design.tl/le-petit-journal-du-web-les-fruits-de-la-veille-ont-garde-leur-fraicheur' title='Le petit journal du web &#8212; Les fruits de la veille ont gardé toute leur fraicheur'>Le petit journal du web &#8212; Les fruits de la veille ont gardé toute leur fraicheur</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=1681&amp;md5=6117198f9d7a92903d13a7778e5c7838" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/the-html-framework-project-phase-11-definir/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fthe-html-framework-project-phase-11-definir&amp;language=fr_FR&amp;category=text&amp;title=The+HTML+Framework+Project+%26%23124%3B+Phase+1.1+%E2%80%94+d%C3%A9finir&amp;description=Je+vous+ai+rapidement+parl%C3%A9+de+The+HTML+Framework+Project+qui+propose+de+r%C3%A9fl%C3%A9chir+ensemble+%C3%A0+la+mise+en+place+d%26%238217%3Bun+environnement+de+travail+pour+rendre+le+d%C3%A9marrage+d%26%238217%3Bun+projet...&amp;tags=Aside%2CFichiers%2CFooter%2CFramework%2CHTML%2CHTML5%2CInt%C3%A9gration+HTML%2CSection%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Quelques notes sur XHTML et CSS, au fil de l&#039;eau&#8230;</title>
		<link>http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau</link>
		<comments>http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau#comments</comments>
		<pubDate>Thu, 12 Oct 2006 02:00:50 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Background]]></category>
		<category><![CDATA[Colonnes]]></category>
		<category><![CDATA[Commentaires conditionnels]]></category>
		<category><![CDATA[Conception de site web]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design élastique]]></category>
		<category><![CDATA[Design liquide]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Formulaire]]></category>
		<category><![CDATA[Hacks CSS]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Loupanthère]]></category>
		<category><![CDATA[Partenaires]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=43</guid>
		<description><![CDATA[Le quotidien de l&#8217;intégrateur XHTML et CSS est parfois ponctué de vide téléologique concernant les bonnes balises à utiliser en fonction du type de contenu. J&#8217;ai longtemps cherché à produire un document-type pouvant servir à n&#8217;importe quelle commande. Hélas ! Chaque projet demande des réponses graphiques et structurelles ajustées. Néanmoins, je ne résiste pas au plaisir de partager avec vous, à l&#8217;occasion du 100ème jour depuis la mise en ligne de css4design, une sorte de medley mashup de quelques thèmes liés à l&#8217;intégration web. Restez vigilant : malgré toute l&#8217;attention apportée à la rédaction de ce billet, il reste encore [...]]]></description>
			<content:encoded><![CDATA[<p><img class="il" src="/images/billet/notes-xhtml-css.png" alt="" /> Le quotidien de l&#8217;intégrateur <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> et <abbr title="Cascading Style Sheet">CSS</abbr> est parfois ponctué de vide <em>téléologique</em> concernant les bonnes balises à utiliser en fonction du type de contenu. J&#8217;ai longtemps cherché à produire un document-type pouvant servir à n&#8217;importe quelle commande. Hélas ! Chaque projet demande des réponses graphiques et structurelles ajustées. Néanmoins, je ne résiste pas au plaisir de partager avec vous, à l&#8217;occasion du 100<sup>ème</sup> jour depuis la mise en ligne de css4design, une sorte de <del>medley</del> <em>mashup</em> de quelques thèmes liés à l&#8217;intégration web. Restez vigilant : malgré toute l&#8217;attention apportée à la rédaction de ce billet, il reste encore des traces d&#8217;humour sous le tapis de souris.<span id="more-53"></span></p>

<p>&#8230; ou comment sortir « téléologique<sup><a href="http://francois.gannaz.free.fr/Littre/xmlittre.php?requete=t%E9l%E9ologique">1</a></sup> » du même chapô que « mashup<sup><a href="http://fr.wikipedia.org/wiki/Application_composite">2</a></sup> »</p>

<h2>Le design : centré, fixe, liquide&#8230;</h2>

<p>C&#8217;est sur ces contraintes de structure mettant en jeu les balises XHTML que je voudrais m&#8217;attarder un peu en votre compagnie. Notre mise en pages doit-elle être de largeur fixe, ou variable ? Centrée, ou pas ? Il m&#8217;est difficile de choisir à votre place, mais en ce moment <a href="http://www.webdesignertrends.com/2010/03/tendance-du-webdesign-minimalisme/">la tendance</a> est de présenter des pages minimalistes de largeur fixe, centrées dans le navigateur.</p>

<p>Dans l&#8217;échantillon de code qui suit, on crée un <em>container</em> d&#8217;une largeur de 750 pixels, centré horizontalement grâce au raccourci margin: 0 auto. Ainsi, tout le contenu placé dans la balise identifiée par #container sera centré dans la page.
<pre>html, body {
     margin: 0;
     padding: 0;
     text-align: center;
}
&#35;container {
     position: relative;
     width: 750px;
     margin: 0 auto;
     text-align: left;
}</pre>
La position: relative n&#8217;est pas indispensable pour le centrage, mais permet d&#8217;initialiser les valeurs top et left à partir du point situé en haut et à gauche de notre <em>container</em>, et non plus à partir du coin supérieur gauche de la fenêtre du navigateur, comme c&#8217;est le cas par défaut, avec bien sûr, des différences entre les navigateurs.</p>

<p>C&#8217;est pourquoi, il est judicieux de mettre le padding et le margin des balises html et body à zéro. Par ailleurs, IE5 ayant du mal avec margin: 0 auto, on prendra soin de centrer l&#8217;ensemble du document avec text-align: center, et ensuite d&#8217;expliciter la valeur d&#8217;alignement du texte par défaut dans le <em>container</em>.</p>

<p><strong>MAJ :</strong> Pour la remise à zéro des style par défaut des balises HTML, je vous invite à lire <a title="Lien permanent vers 5 Reset CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs" rel="bookmark" href="/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs">5 Resets CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs</a> pour en savoir plus.</p>

<p>Dans la plupart ces cas, le choix d&#8217;un design à largeur fixe permet de mieux contrôler le nombre de mots par ligne pour offrir une lecture confortable (qu&#8217;on trouve raremment dans les pages où le texte s&#8217;étire d&#8217;un bout à l&#8217;autre de la fenêtre du navigateur&#8230;). A condition toutefois de permettre l&#8217;agrandissement de la taille du texte, en utilisant des unités relatives em, ex ou %, à la place des px qu&#8217;IE ne sait pas agrandir&#8230;</p>

<p>Dans d&#8217;autres cas, ce choix est dicté par les difficultés liées à la conception d&#8217;un design liquide (ou fluide) comportant des visuels en haut, en bas, sur les côtés et dans les coins ! En effet, si la réalisation d&#8217;un design composé d&#8217;images qui se répètent verticalement est aisée, ce n&#8217;est pas toujours le cas lorsqu&#8217;on veut que la mise en pages s&#8217;adapte horizontalement <strong>et</strong> verticalement à la taille de la fenêtre (cf. mon billet «<a href="http://css.4design.tl/design-css-fixe-elastique-ou-liquide">Design CSS : fixe, élastique ou liquide ?</a>» pour plus d&#8217;information sur la question).</p>

<h2>Une page web toute simple</h2>

<p>La structure que l&#8217;on rencontre le plus souvent sur le web est composée d&#8217;un titre h1 suivi des différents niveaux de sous-titre h2, h3&#8230; le tout, agrémenté de texte p et d&#8217;image img. Notez que pour les images, on peut mettre la balise img dans la même balise p que le texte, ou dans sa propre balise p. On divisera ensuite (en fonction de la nature du contenu) le document en plusieurs parties avec les balises div dont c&#8217;est précisément la fonction.</p>

<p>Si l&#8217;on ajoute la gestion des colonnes, on obtient une structure qui ressemble à la plupart des pages que l&#8217;on trouve à portée de clic ; les différences étant souvent le fruit d&#8217;un travail sur l&#8217;identité visuelle et du soin apporté à la réalisation-intégration des divers éléments composant la page.</p>

<p><strong>MAJ :</strong> Lire <a href="Conception dans le navigateur avec HTML5 &amp; CSS3 (amélioration progressive)">Conception dans le navigateur avec HTML5 &amp; CSS3</a> sur le marquage structurel d&#8217;une page web avec <a href="http://css.4design.tl/tag/html5">HTML5</a>.</p>

<h3>Des colonnes avec float</h3>

<p>Pour en revenir aux colonnes, la propriété float, associée aux valeurs right ou left, donnera rapidement forme à votre document, à condition de ne pas oublier le clear: right, left ou both pour ajouter un élément de type <em>pied de page</em> que nous voudrons voir, comme son nom l&#8217;indique, à la fin de notre page, et ce, quelque soit la hauteur des contenus respectifs de nos deux colonnes !</p>

<p>C&#8217;est vrai qu&#8217;<em>Internet Explorer</em> n&#8217;a pas toujours besoin que l&#8217;on explicite un clear après un float, contrairement aux navigateurs respectant les spécifications du <a title="World Wide Web Consortium" href="http://www.w3.org/">W3C</a> comme <a href="http://www.mozilla-europe.org/fr/firefox/">Firefox</a> ou <a href="http://www.opera.com/">Opera</a>. L&#8217;esprit humain non plus, puisqu&#8217;il faut souvent passer de <del>bons</del> longs moments avec <a href="http://www.yoyodesign.org/doc/w3c/css2/visuren.html#floats">les spécifications</a> pour s&#8217;en convaincre. Quoiqu&#8217;il en soit, souvenez-vous que si votre div est placée correctement dans un navigateur et pas dans l&#8217;autre, c&#8217;est souvent la faute à float ;)</p>

<h4>Manipulez, il en restera toujours quelque chose</h4>

<p>Pour mieux observer ce phénonème, je vous propose quelques manipulations à faire chez vous sur un exemple de <a href="http://css.4design.tl/exemples/positionnement-css-float/">positionnement avec float</a>. Tout est précisé dans le code source, mais pour les <em>jedi</em>, un résumé devrait suffire :</p>

<ol>
    <li> Dans #container, enlevez les commentaires autour de width: 900px;, réaffichez cette page dans IE6 et FF et observez le déplacement du <em>footer</em> dans FF.</li>
    <li> Puis, dans #footer, enlevez délicatement les commentaires autour de clear: both, et réaffichez cette page dans IE6 et FF. Que s&#8217;est-il passé avec le <em>footer</em> ?</li>
    <li> Pour terminer, remettez tout comme au début, et ajoutez du texte dans la <em>sidebar</em>. Que se passe-t-il ? Que faut-il faire ?</li>
</ol>

<p>Tant que nous somme dans la float, et les colonnes, j&#8217;en profite pour vous proposer un autre exemple de mise en page sur <a href="http://css.4design.tl/design-css-1-en-tete-2-colonnes-1-pied-de-page-fixe-ou-liquide">une ou deux colonnes</a>.</p>

<h3>Pour la boite, vous prendrez quel modèle ?</h3>

<p>Dès que l&#8217;on applique une largeur à un élément de type block, on prend le risque de tomber dans le maelström des différents modes de calcul concernant le <a href="http://www.pompage.net/pompe/cssdezero-7/">modèle de boite</a> : Internet Explorer a une façon bien à lui de mettre border, padding  et zone de contenu dans le même sac, contrairement au modèle standard qui dissocie bien chaque élément dans le calcul final de la boite.<em></em></p>

<p><em>Grosso modo</em>, un bloc de 250px de large avec un padding de 20px et un border de 5px donneront 250 + 20 + 20 + 5 + 5 = 300 pixels dans le modèle standard, tandis que cette valeur sera ramenée à 250 pixels sur <abbr title="Internet Explorer">IE</abbr>, puisque la bordure et la marge intérieure seront assimilés à la zone de contenu :(</p>

<p><span class="small"><strong>Ok, quelques mots sur le DocType switching&#8230;</strong> Ou comment forcer l&#8217;une ou l&#8217;autre interprétation des dimensions du modèle de boite. Pour résumer la fin de l&#8217;article d&#8217;Openweb cité plus haut, la plupart des navigateurs modernes (si si, même IE6) basculeront dans le modèle de boite standard si une <abbr title="Déclaration de Type de Document">DTD</abbr> XHTML (<em>strict</em>, <em>transitional</em> ou <em>frameset</em>) est spécifiée dans l&#8217;en-tête de la page. Sauf pour IE6 (faut pas trop rêver non plus&#8230;) qui rebascule dans son modèle de boite propriétaire dès qu&#8217;il voit le méchant prologue <abbr title="eXtensible Markup Language">XML</abbr>&#8230;</span></p>

<p>Il existe de nombreux <a href="http://tantek.com/CSS/Examples/boxmodelhack.html">contournements (hacks)</a> plus ou moins <em>funky</em> pour régler ce problème de compatibilité des modèles de boite. Pour ma part, je m&#8217;en tiens à une ligne de conduite simple : j&#8217;applique le padding aux éléments enfants du bloc qui possède une propriété width. Lorsque celà n&#8217;est pas possible, je spécifie une feuille de style pour IE en utilisant les <a href="http://css.4design.tl/commentaires-conditionnels-d-internet-explorer-vs-hacks-css">commentaires conditionnels</a>.</p>

<p>Si votre page contient des formulaires, je vous invite à lire ce billet sur la conception de <a href="http://css.4design.tl/design-de-formulaire-html-avec-css">formulaires sans tableau</a> qui a gardé toute sa fraicheur ;) Souvenons-nous toutefois de <a href="http://blog.barbayellow.com/2006/06/26/mon-formulaire-il-est-moche-et-c-est-fait-expres/">ne pas troubler l&#8217;utilisateur</a> avec des formulaires trop <em>funkydéliques</em>. L&#8217;utilisateur ne fait pas que remplir des champs de saisies, il donne un peu de lui-même : respectons-le !</p>

<p>Et comme vous voudrez certainement mettre de beaux visuels en fond de page, je vous propose <a href="http://css.4design.tl/background-css-avec-motifs-double-fond">ce billet</a> sur l&#8217;utilisation, non pas d&#8217;un, mais de deux <em>background</em> pour enjoliver votre fond de page !</p>

<h2>Il n&#8217;y a pas que les div dans la vie</h2>

<p>Après la mise au point du squelette de notre page, nous allons nous occuper des autres éléments qui nous aideront à structurer le contenu. J&#8217;ai évoqué rapidement la balise h1 et ses petites soeurs h2&#8230;, h6 qui doivent être utilisées pour les titres et sous-titres de vos documents.</p>

<p>Par exemple, plutôt qu&#8217;un div id=&nbsp;&raquo;titre1&#8243;, on <em>stylera</em> la balise h1 pour le plus grand plaisir des moteurs de recherches et navigateurs alternatifs ! La balise p encadre les paragraphes ; blockquote sert lorsqu&#8217;on cite une portion conséquente de texte.</p>

<p>A noter que cette balise peut contenir d&#8217;autres éléments de type bloc, comme p ou table, mais la réciproque n&#8217;est pas vraie. Pour mieux connaître les mœurs subtiles des balises HTML, j&#8217;abuse de la bande passante de <a href="http://www.gotapi.com/">gotapi.com.</a></p>

<p>Lorsque la structure du contenu implique une idée de liste, le mieux, c&#8217;est encore, d&#8217;employer les listes ordonnées ol ou non ordonnées ul avec leur cohorte de li. Ces listes sont très pratiques et permettent de <a href="http://fr.selfhtml.org/css/proprietes/listes.htm">nombreuses fantaisies</a> en matière de CSS.</p>

<p>Mais on oublie trop souvent les <a href="http://www.pompage.net/pompe/listesdefinitions/">listes de définitions</a> qui peuvent rendre de grands services, comme présenter la <a href="http://loupanthere.css4design.com/journal-loupanthere.php">chronologie</a> de <a href="http://loupanthere.css4design.com/">ma loupanthère</a>, par exemple&#8230; Le sujet des listes de définitions est inépuisable, ce qui n&#8217;est pas mon cas : je vous ai donc laissé quelques liens à suivre dans la <em>linkographie</em>.</p>

<h2>Les éléments en ligne c&#8217;est pour aujourd&#8217;hui ou pour demain ?</h2>

<p>Après sur survol des éléments de type block, il nous reste tout juste assez de temps pour jeter un oeil sur les éléments en ligne. J&#8217;utilise assez souvent les éléments suivants : samp pour spécifier les échantillons de code ; em pour l&#8217;emphase (en gros, ça met de l&#8217;italique) ; strong pour marquer un renforcement du texte (en gros, ça met du gras), q pour les citations courtes mais pas forcément vulgaires&#8230;, a pour les liens, etc.</p>

<p>Bon, c&#8217;est comme le café, je crois que ce n&#8217;est pas la peine d&#8217;en rajouter. Et puis vous êtes sûrement déjà parti faire un tour sur gotapi ou pire, sur <a href="http://www.bashfr.org/?sort=top50">bashfr</a> où vous trouverez des vrais morceaux d&#8217;humour, pas comme ici :)</p>

<p>Et vous, quelles sont vos balises préférées ?</p>

<h2>Linkographie :</h2>

<dl> <dt><a href="http://css.maxdesign.com.au/">Maxdesign</a></dt> <dd>Sans doute l&#8217;un des meilleurs site au monde concernant les 1001 façons de styler les listes ;)</dd> <dt><a href="http://fr.selfhtml.org/css/proprietes/listes.htm">Selfhtml.org</a></dt> <dd>Tout sur le formatage des listes. </dd> <dt><a href="http://www.pompage.net/pompe/listesdefinitions/">Pompage</a></dt> <dd>L&#8217;essentiel et un peu plus sur les listes de définitions.</dd> <dt><a href="http://css.alsacreations.com/Construction-de-menus-en-CSS/Un-menu-deroulant-en-CSS-et-XHTML-vertical-et-horizontal">Alsacreations</a></dt> <dd>Utilisez les listes de définition pour structurer vos menus déroulants.</dd> <dt><a href="http://giminik.developpez.com/xhtml/dl.html">Giminik</a></dt> <dd>Liste des attributs et événements associés à la balise dl</dd> </dl>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/css-toolbox' title='Trucs et astuces CSS'>Trucs et astuces CSS</a></li><li><a href='http://css.4design.tl/exercice-de-style-css-et-html-table-vs-div' title='Exercice de style CSS et HTML : table vs div'>Exercice de style CSS et HTML : table vs div</a></li><li><a href='http://css.4design.tl/frameworks-css-reset-css-design-from-scratch' title='Frameworks CSS + Reset CSS : design from scratch'>Frameworks CSS + Reset CSS : design from scratch</a></li><li><a href='http://css.4design.tl/design-de-formulaire-html-avec-css' title='Design de formulaire HTML avec CSS'>Design de formulaire HTML avec CSS</a></li><li><a href='http://css.4design.tl/design-css-fixe-elastique-ou-liquide' title='Design CSS : fixe, élastique ou liquide ?'>Design CSS : fixe, élastique ou liquide ?</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=53&amp;md5=37a52216db955b631e1bd1fd2d1e5e0c" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/quelques-notes-sur-xhtml-et-css-au-fil-de-l-eau/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fquelques-notes-sur-xhtml-et-css-au-fil-de-l-eau&amp;language=fr_FR&amp;category=text&amp;title=Quelques+notes+sur+XHTML+et+CSS%2C+au+fil+de+l%26%23039%3Beau%26%238230%3B&amp;description=Le+quotidien+de+l%26%238217%3Bint%C3%A9grateur+XHTML+et+CSS+est+parfois+ponctu%C3%A9+de+vide+t%C3%A9l%C3%A9ologique+concernant+les+bonnes+balises+%C3%A0+utiliser+en+fonction+du+type+de+contenu.+J%26%238217%3Bai+longtemps+cherch%C3%A9+%C3%A0+produire...&amp;tags=Background%2CColonnes%2CCommentaires+conditionnels%2CConception+de+site+web%2CCSS%2CDesign+%C3%A9lastique%2CDesign+liquide%2CFooter%2CFormulaire%2CHacks+CSS%2CHeader%2CHTML%2CInternet+Explorer%2CLoupanth%C3%A8re%2CPartenaires%2CXHTML%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Pied de page toujours en bas avec Javascript et CSS</title>
		<link>http://css.4design.tl/pied-de-page-toujours-en-bas-avec-dom-javascript-et-css</link>
		<comments>http://css.4design.tl/pied-de-page-toujours-en-bas-avec-dom-javascript-et-css#comments</comments>
		<pubDate>Fri, 21 Jul 2006 19:19:19 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Javascript & PHP]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=29</guid>
		<description><![CDATA[C&#8217;est possible ? Parce qu&#8217;avec les tableaux&#8230; Tôt ou tard, ça ne rate jamais, la question revient sur le tapis de souris. Et là, de vous lancer dans une diatribe comme quoi ça ne sert absolument à rien de vouloir ce footer toujours en bas, que si on manque de contenu, on n&#8217;a qu&#8217;à en créer, etc. Certes, vous y croyez, et votre interlocuteur commence même à trouver que ce pauvre footer tout seul en bas a l&#8217;air de s&#8217;ennuyer ferme. Seulement, vous êtes un professionnel, et même si ça ne sert à rien, vous aimeriez bien trouver la solution [...]]]></description>
			<content:encoded><![CDATA[<p><img class="il" src="/images/billet/footer.png" alt="footer.png" /> C&#8217;est possible ? Parce qu&#8217;avec les tableaux&#8230; Tôt ou tard, ça ne rate jamais, la question revient sur le tapis de souris. Et là, de vous lancer dans une diatribe comme quoi ça ne sert absolument à rien de vouloir ce <em>footer</em> toujours en bas, que si on manque de contenu, on n&#8217;a qu&#8217;à en créer, etc. Certes, vous y croyez, et votre interlocuteur commence même à trouver que ce pauvre footer tout seul en bas a l&#8217;air de s&#8217;ennuyer ferme. Seulement, vous êtes un professionnel, et même si ça ne sert à rien, vous aimeriez bien trouver la solution ;) <span id="more-37"></span></p>

<p>Parmi les nombreuses manières permettant d&#8217;obtenir un pied de page qui se cale systématiquement en bas de page lorsque le contenu n&#8217;est pas suffisant, j&#8217;ai retenu deux méthodes intéressantes. C&#8217;est-à-dire n&#8217;utilisant pas trop de <em>hacks</em> afin d&#8217;optimiser la lisibilité et la <em>maintenabilité</em> du code.</p>

<ul>
    <li> La <a href="#_1">première</a>, propose d&#8217;utiliser uniquement CSS : la propriété min-height appliquée au contenu, un padding-bottom pour l&#8217;élément avant le footer, et pour ce dernier, un margin-top de la même valeur, un commentaire conditionnel pour Internet Explorer, et c&#8217;est parti ! Sauf, qu&#8217;après des tests intensifs sur MacOSX et Windows, il s&#8217;avère que cette solution ne donne pas entièrement satisfaction sur tout les navigateurs (Opera Window et MacOSX et Safari), ce que je trouve gênant.</li>
    <li> La <a href="#_2">deuxième</a>, est une solution Javascript utilisant le DOM de façon particulièrement élégante. Le <em>footer</em> se trouve bien en bas de page, mais si l&#8217;on veut que la couleur de fond du contenu se propage jusqu&#8217;au pied de page, il nous faut trouver autre chose&#8230;</li>
</ul>

<p>Après quelques hésitations, j&#8217;ai trouvé la voie en associant les deux méthodes : la fonction Javascript pour le placement du <em>footer</em>, et la propriété min-height ainsi que le <a href="http://www.css4design.com/commentaires-conditionnels-d-internet-explorer-vs-hacks-css">commentaire conditionnel</a> pour IE afin de gérer la couleur de fond.En prime, ce <em>mix</em> rend inutile l&#8217;ajout de #lastelement que je ne trouvais pas particulièrement élégant. Dans Opera et Firefox, le footer ne se cale pas en temps réel contrairement à Internet Explorer et Safari, ce qui n&#8217;est pas particulièrement gênant.</p>

<p>Je vous laisse avec la démo du <a href="http://www.css4design.com/exemples/footer_bottom/">pied de page toujours en bas</a>.</p>

<p class="dl"><a href="http://www.css4design.com/exemples/footer_bottom/footer_bottom.zip">Télécharger le fichier .html ou .php et les images</a></p>

<h4 class="listLink">Linkographie pour des pieds de page positionnés</h4>

<dl> <dt> <a href="http://web.covertprestige.info/test/08-pied-de-page-en-bas-ecran-1.html">http://web.covertprestige.info/test/08-pied-de-page-en-bas-ecran-1.html</a> </dt> <dt> <a href="http://www.covertprestige.info/ressources">http://www.covertprestige.info/ressources</a> </dt> <dd> L&#8217;exemple de la première méthode utilisant uniquement les CSS, ainsi que d&#8217;autres astuces concernant la conception de site à l&#8217;aide des feuilles de style. </dd> </dl>

<dl> <dt> <a href="http://pompage.net/pompe/pieds/">http://pompage.net/pompe/pieds/</a> </dt> <dd> Cet article propose d&#8217;étudier les méthodes pour positionner des pieds de page en respectant les standards. </dd> </dl>

<h3 class='related_post_title'>Articles sur le même sujet</h3>

<ul class='related_post'><li><a href='http://css.4design.tl/quelques-notes-sur-la-bibliotheque-javascript-ie7-de-dean-edwards' title='Quelques notes sur la bibliothèque Javascript IE7 de Dean Edwards'>Quelques notes sur la bibliothèque Javascript IE7 de Dean Edwards</a></li><li><a href='http://css.4design.tl/utilisez-le-dom-et-javascript-comme-un-chef-pour-redefinir-comportement-balise-html' title='Utilisez le DOM et Javascript comme un chef'>Utilisez le DOM et Javascript comme un chef</a></li><li><a href='http://css.4design.tl/menu-a-onglet-avec-javascript-et-css' title='Menu à onglets avec javascript et css'>Menu à onglets avec javascript et css</a></li><li><a href='http://css.4design.tl/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &amp; CSS</a></li><li><a href='http://css.4design.tl/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire' title='Rétablir le flux après des éléments flottants en CSS sans balise HTML supplémentaire'>Rétablir le flux après des éléments flottants en CSS sans balise HTML supplémentaire</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=37&amp;md5=379738edfba3143baf36115c7617a95c" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/pied-de-page-toujours-en-bas-avec-dom-javascript-et-css/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fpied-de-page-toujours-en-bas-avec-dom-javascript-et-css&amp;language=fr_FR&amp;category=text&amp;title=Pied+de+page+toujours+en+bas+avec+Javascript+et+CSS&amp;description=C%26%238217%3Best+possible+%3F+Parce+qu%26%238217%3Bavec+les+tableaux%26%238230%3B+T%C3%B4t+ou+tard%2C+%C3%A7a+ne+rate+jamais%2C+la+question+revient+sur+le+tapis+de+souris.+Et+l%C3%A0%2C+de+vous+lancer+dans+une+diatribe...&amp;tags=CSS%2CFooter%2CHTML%2CJavascript%2CTutoriels%2CXHTML%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Trucs et astuces Javascript</title>
		<link>http://css.4design.tl/javascript-toolbox</link>
		<comments>http://css.4design.tl/javascript-toolbox#comments</comments>
		<pubDate>Wed, 21 Jun 2006 00:27:46 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Javascript & PHP]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[Footer]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Menu]]></category>
		<category><![CDATA[Onglets]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=6</guid>
		<description><![CDATA[Ce billet regroupe quelques fonctions simples et utiles en Javascript ou en PHP. Comme pour la boite à outils CSS, celle-ci est destinée à s&#8217;enrichir régulièrement. slideToggle() et hover() avec jQuery 1.1.2 Mettre en évidence le lien de la page en cours avec currentPage() Permuter une classe CSS avec une autre avec toogleClass() Ouvre et centre un popup en une seule opération depuis la page appellante avec popup() Permutez deux classes sur un événement avec multiClass() footer calé en bas de page avec getWindowHeight() et setFooter() Envoyer un formulaire avec la touche Entrée (Quand le bouton n&#8217;est pas de type [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet regroupe quelques fonctions simples et utiles en Javascript ou en PHP. Comme pour <a href="/css-toolbox">la boite à outils CSS</a>, celle-ci est destinée à s&#8217;enrichir régulièrement.</p>

<ul>
    <li><a title="slideToggle() et hover() avec jQuery 1.1.2" href="/javascript-toolbox#slideToggle-hover">slideToggle() et hover() avec jQuery 1.1.2</a></li>
    <li><a title="Mettre en évidence le lien de la page en cours" href="/javascript-toolbox#current-page">Mettre en évidence le lien de la page en cours avec currentPage()</a></li>
    <li> <a title="Permuter une classe CSS avec une autre avec toogleClass()" href="/javascript-toolbox#toggle-class">Permuter une classe CSS avec une autre avec toogleClass()</a></li>
    <li><a title="Ouvre et centre un popup en une seule opération depuis la page appelante" href="/javascript-toolbox#popup-centre">Ouvre et centre un <em>popup</em> en une seule opération depuis la page appellante avec popup()</a></li>
    <li><a title="Permutez deux classes sur un événement avec multiClass()" href="/javascript-toolbox#multi-class">Permutez deux classes sur un événement avec multiClass()</a></li>
    <li> <a title="footer calé en bas de page" href="/javascript-toolbox#footer-bottom">footer calé en bas de page avec getWindowHeight() et setFooter()</a></li>
        <li> <a title="Envoyer un formulaire avec la touche Entrée (Quand le bouton n'est pas de type submit)" href="/javascript-toolbox#submitForm">Envoyer un formulaire avec la touche Entrée (Quand le bouton n&#8217;est pas de type submit)</a></li>
</ul>

<p><span id="more-24"></span></p>

<h4 id="slideToggle-hover">slideToggle() et hover() avec jQuery 1.1.2</h4>

<p>Si vous voulez afficher-masquer un ensemble d&#8217;éléments ce code est fait pour vous. La ligne $(&#8216;#links ul:lt(3)&#8217;).show(); permet d&#8217;atteindre les trois premières balises ul contenues dans la div#links. Les deux lignes suivantes appliquent respectivement : un comportemant <code>onclick</code> sur les titres h2, sur lequel la méthode <em>slideToggle()</em> est utilisée pour afficher ou masquer l&#8217;élément qui les suit :
<pre>
$(document).ready(function() {
    $('#links ul, #calendar table, #archives ul').hide();
    $('#links ul:lt(3)').show();
    $('#links h3, #calendar h2, #archives h2, #categories h2').css('cursor','pointer').click(function(){
    $(this).next().slideToggle('slow');
    });
 });
</pre>
Maintenant, il est temps de transformer ces titres cliquables avec la méthode <em>hover()</em> qui simule la pseudo-classe CSS <em>:hover</em> :
<pre>
$(document).ready(function() {
    $('#calendar h2, #archives h2, #categories h2').hover(function() {
         $(this).css('border-bottom','1px dotted #065f00').css('color','#065f00');
        },function() {
        $(this).css('color','#9E0050');
    });
 });
</pre></p>

<p>Plus d&#8217;informations sur la <a href="http://www.css4design.com/index.php/2007/04/26/82-framework-jquery-pour-ecrire-du-javascript-non-intrusif">librairie jQuery</a>.</p>

<h4 id="current-page">Mettre en évidence le lien de la page en cours</h4>

<p>Une fois que l&#8217;on a fait un effet de survol sur un bouton en utilisant la pseudo-classe :hover, on aimerait bien faire en sorte que cet effet de survol reste une fois le bouton cliqué, de manière à signaler la page en cours. Suivez le <a href="http://www.css4design.com/index.php/2007/03/07/68-menu-html-et-css-portes-coulissantes-et-item-current-en-php">tutoriel associé à cette fonction PHP</a>
<pre>
&lt;?php function currentPage($strPage) {
    if (strstr($<em>SERVER['PHP_SELF'], $strPage)) {
        echo 'class="current</em>' . $strPage. '" ';
    } else {
    echo '';
    }
}
?&gt;</pre>
Cette fonction est inutilement complexe si vous utilisez le même <em>background</em> pour les liens. Voici une version simplifiée.
<pre>
&lt;?php function currentPageSimple($strPage) {
    if (strstr($_SERVER['PHP_SELF'], $strPage)) {
        echo 'class="current" ';
    } else {
    echo '';
    }
}
?&gt;
</pre></p>

<h4 id="toggle-class">toggleClass()</h4>

<p>Permet de permuter une classe avec une autre. Très pratique pour afficher-masquer un balise DIV ou autre :
<pre>
function toggleClass(element,class1,class2) {
    elt = document.getElementById(element);
        if (elt.className == class1) {
        elt.className = class2;
        }
        else if (elt.className == class2) {
        elt.className = class1;
    }
}
</pre></p>

<h4 id="popup-centre">popup()</h4>

<p>Ouvre et centre une fenêtre <em>popup</em> en une seule opération depuis la page appelante. Trouvé sur <a href="http://wiki.media-box.net/tutoriaux/javascript/popup">wiki.media.box</a>
<pre>
function popup(l,h,url) {
    hauteur=Math.round((screen.availHeight-h)/2);
    largeur=Math.round((screen.availWidth-l)/2);
    window.open(url, "video", "toolbar=0,location=0,directories=0,status=0, scrollbars=0,resizable=0,menubar=0,top="+hauteur+",left="+largeur+",width="+l+",height="+h);
}
<!-- appel de la fonction a href="popup.html" title="" onclick="popup('300','350','popup.html');return false;"&gt;ouvrir le popup&lt;/a-->
</pre></p>

<h4 id="multi-class">multiClass()</h4>

<p>Permute deux classes sur un évènement. Voici <a href="http://www.css4design.com/exemples/menu_onglets/">l&#8217;exemple fonctionnel</a> car une explication complète serait longue et fastidieuse :)</p>

<p><strong>MAJ du 5 juillet.</strong> L&#8217;explication longue et fastidieuse ne l&#8217;était pas autant que ça ;) Voici le <a href="http://www.css4design.com/index.php/2006/07/05/25-menu-a-onglet-avec-javascript-et-css">détail de la fonction multiClass</a>.
<pre>function multiClass(eltId) {
    arrLinkId = new Array('_0','_1','_2','_3');
    intNbLinkElt = new Number(arrLinkId.length);
    arrClassLink = new Array('current','ghost');
    strContent = new String()
    for (i=0; i&lt;intNbLinkElt; i++) {
        strContent = "menu"+arrLinkId[i];
        if ( arrLinkId[i] == eltId ) {
            document.getElementById(arrLinkId[i]).className = arrClassLink[0];          document.getElementById(strContent).className = 'on content';
        } else {
            document.getElementById(arrLinkId[i]).className = arrClassLink[1];          document.getElementById(strContent).className = 'off content';
        }
    }
}</pre></p>

<h4 id="footer-bottom">getWindowHeight() et setFooter()</h4>

<p>Ces deux fonctions permettent d&#8217;obtenir la hauteur de la fenêtre du navigateur pour afficher un <a href="http://www.css4design.com/index.php/2006/07/21/29-pied-de-page-toujours-en-bas-avec-dom-javascript-et-css">footer calé en bas de page</a>.
<pre>function getWindowHeight() {
    var windowHeight = 0;
    if (typeof(window.innerHeight) == 'number') {
        windowHeight = window.innerHeight;
    }
    else {
        if (document.documentElement &amp;&amp; document.documentElement.clientHeight) {            windowHeight = document.documentElement.clientHeight;
        } else {
            if (document.body &amp;&amp; document.body.clientHeight) {
                windowHeight = document.body.clientHeight;
            }
        }
    }
    return windowHeight;
}</p>

<p>function setFooter() {
    if (document.getElementById) {
        var windowHeight = getWindowHeight();
        if (windowHeight &gt; 0) {
            var contentHeight = document.getElementById('content').offsetHeight;
            var footerElement = document.getElementById('footer');
            var footerHeight  = footerElement.offsetHeight;
            if (windowHeight - (contentHeight + footerHeight) &gt;= 0) {
                footerElement.style.position = 'relative';
                footerElement.style.top = (windowHeight - (contentHeight + footerHeight)) + 'px';           } else {
                footerElement.style.position = 'static';
            }
        }
    }
}</p>

<p>window.onload = function() {
    setFooter();
}
window.onresize = function() {
    setFooter();
}</pre></p>

<h4 id="submitForm">Envoyer un formulaire avec la touche Entrée</h4>

<p>(Quand le bouton n&#8217;est pas de type <code>submit</code>)</p>

<pre><code>function submitForm(e) {
var code = e.keyCode;
if (code==13)
document.getElementById('formulaire').submit();
}
//onkeyup="submitForm(event) dans le formulaire&lt;h3 class='related_post_title'&gt;Articles sur le même sujet&lt;/h3&gt;&lt;ul class='related_post'&gt;&lt;li&gt;&lt;a href='http://css.4design.tl/menu-a-onglets-tabs-idtabs-ou-domtab' title='Menu à onglets (tabs) &amp;#8212; idTabs ou domTab ?'&gt;Menu à onglets (tabs) &amp;#8212; idTabs ou domTab ?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://css.4design.tl/liens-javascript-jquery' title='390 ressources Javascript &amp;amp; jQuery'&gt;390 ressources Javascript &amp;amp; jQuery&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://css.4design.tl/menu-html-et-css-portes-coulissantes-et-item-current-en-php' title='Menu HTML et CSS, sliding doors et item current en PHP'&gt;Menu HTML et CSS, sliding doors et item current en PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://css.4design.tl/menu-a-onglet-avec-javascript-et-css' title='Menu à onglets avec javascript et css'&gt;Menu à onglets avec javascript et css&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href='http://css.4design.tl/le-petit-journal-du-web-php-wordpress-javascript-css-ruby-responsive-webdesign' title='Le petit journal du web : PHP, WordPress, Javascript, CSS, Ruby, Responsive Webdesign'&gt;Le petit journal du web : PHP, WordPress, Javascript, CSS, Ruby, Responsive Webdesign&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
</code></pre>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=24&amp;md5=7f3bc9de7400160e1b0b3a4cd7f99146" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/javascript-toolbox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fjavascript-toolbox&amp;language=fr_FR&amp;category=text&amp;title=Trucs+et+astuces+Javascript&amp;description=Ce+billet+regroupe+quelques+fonctions+simples+et+utiles+en+Javascript+ou+en+PHP.+Comme+pour+la+boite+%C3%A0+outils+CSS%2C+celle-ci+est+destin%C3%A9e+%C3%A0+s%26%238217%3Benrichir+r%C3%A9guli%C3%A8rement.+slideToggle%28%29+et+hover%28%29+avec...&amp;tags=DOM%2CFooter%2CJavascript%2CMenu%2COnglets%2CPHP%2CWeb+2.0%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic

Served from: css.4design.tl @ 2012-05-24 17:58:39 -->
