<?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; Eric Meyer</title>
	<atom:link href="http://css.4design.tl/tag/eric-meyer/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>Styles CSS par défaut : après Reset Reloaded, Eric Meyer fait encore risette avec Resetting Again</title>
		<link>http://css.4design.tl/apres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again</link>
		<comments>http://css.4design.tl/apres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again#comments</comments>
		<pubDate>Wed, 23 Jan 2008 01:43:11 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Navigateurs]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Eric Meyer]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Reset CSS]]></category>
		<category><![CDATA[Tutoriels]]></category>

		<guid isPermaLink="false">http://www.css4design.com/apres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again</guid>
		<description><![CDATA[Pour notre plus grand plaisir, Eric Meyer &#8211; le gourou des CSS &#8211; a mis à jour son célèbre Reset CSS. Après Reset Reloaded, voici donc Resetting Again ! Le plus gros changement est la suppression de l&#8217;héritage (inherit) des propriétés font-weight, font-style et font-family : la mauvaise prise en charge de la valeur inherit par Internet Explorer ne permet pas un reset satisfaisant dans tous les navigateurs. Parmis les autres modifications, nous avons : la simplification de la suppression des guillemets pour les balises blockquote et q avec un élégant quotes: none et l&#8217;ajout des balises ins et del [...]]]></description>
			<content:encoded><![CDATA[<p>Pour notre plus grand plaisir, <a href="http://meyerweb.com/">Eric Meyer</a> &#8211; le gourou des CSS &#8211; a mis à jour son célèbre <em>Reset CSS</em>. Après <a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">Reset Reloaded</a>, voici donc <a href="http://meyerweb.com/eric/thoughts/2008/01/15/resetting-again/">Resetting Again</a> ! Le plus gros changement est la suppression de l&#8217;héritage (inherit) des propriétés font-weight, font-style et font-family : la mauvaise prise en charge de la valeur inherit par <em>Internet Explorer</em> ne permet pas un <em>reset</em> satisfaisant dans tous les navigateurs.<span id="more-188"></span></p>

<p>Parmis les autres modifications, nous avons : la simplification de la suppression des guillemets pour les balises blockquote et q avec un élégant quotes: none et l&#8217;ajout des balises ins et del pour éviter que certains navigateurs maladroits n&#8217;appliquent le soulignement à la balise ins, ce qui entraine une confusion avec les liens.</p>

<h3><a href="http://meyerweb.com/eric/thoughts/2008/01/15/resetting-again/">Resetting Again</a> : des CSS au garde-à-vous</h3>

<p><pre>
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}</p>

<p>/* remember to define focus styles! */
:focus {
  outline: 0;
}</p>

<p>/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}</p>

<p>/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
</pre></p>

<h3>Articles en relation</h3>

<ul>
<li><a href="http://www.css4design.com/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs">5 Reset CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs</a></li>
<li><a href="http://www.css4design.com/frameworks-css-reset-css-design-from-scratch">Frameworks CSS + Reset CSS : design from scratch</a></li>
<li><a href="http://www.css4design.com/organiser-ses-feuilles-de-style-css">Organiser ses feuilles de style CSS</a></li>
</ul>

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

<ul class='related_post'><li><a href='http://css.4design.tl/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs' title='5 Reset CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs'>5 Reset CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs</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/une-feuille-de-style-et-des-hacks-css-pour-cibler-ie6-ie7-ou-ie8' title='Une Feuille de style et des « hacks CSS » pour cibler IE6, IE7 ou IE8'>Une Feuille de style et des « hacks CSS » pour cibler IE6, IE7 ou IE8</a></li><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/framework-jquery-pour-ecrire-du-javascript-non-intrusif' title='Framework JQuery pour écrire du Javascript non-intrusif'>Framework JQuery pour écrire du Javascript non-intrusif</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=188&amp;md5=cb40c5bceb63de32eed50a37986a73b7" 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/apres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again/feed</wfw:commentRss>
		<slash:comments>4</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%2Fapres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again&amp;language=fr_FR&amp;category=text&amp;title=Styles+CSS+par+d%C3%A9faut+%3A+apr%C3%A8s+Reset+Reloaded%2C+Eric+Meyer+fait+encore+risette+avec+Resetting+Again&amp;description=Pour+notre+plus+grand+plaisir%2C+Eric+Meyer+%26%238211%3B+le+gourou+des+CSS+%26%238211%3B+a+mis+%C3%A0+jour+son+c%C3%A9l%C3%A8bre+Reset+CSS.+Apr%C3%A8s+Reset+Reloaded%2C+voici+donc+Resetting+Again+%21+Le...&amp;tags=CSS%2CEric+Meyer%2CNavigateur%2CReset+CSS%2CTutoriels%2Cblog" type="text/html" />
	</item>
		<item>
		<title>5 Reset CSS à la loupe pour une remise à zéro des valeurs par défaut des navigateurs</title>
		<link>http://css.4design.tl/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs</link>
		<comments>http://css.4design.tl/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs#comments</comments>
		<pubDate>Tue, 14 Aug 2007 02:51:45 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Eric Meyer]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Reset CSS]]></category>
		<category><![CDATA[Standards web]]></category>
		<category><![CDATA[Tableaux]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=87</guid>
		<description><![CDATA[Vous n&#8217;utilisez pas de styles CSS pour votre page web ? Ce n&#8217;est pas grave : les navigateurs le font pour vous. Ils utilisent chacun leur feuille de style par défaut pour obtenir un rendu visuel minimal. C&#8217;est pourquoi les tableaux possèdent des bordures, et les paragraphes des espaces avant et après. Le problème ? Si des balises comme strong ou em sont traitées de la même manière par les agents utilisateurs, l&#8217;immense majorité présente des différences plus ou moins importantes. Ce fameux manque de &#171;&#160;consistance&#160;&#187; décrié par les webdesigners anglo-saxons concerne principalement les propriétés margin et padding. Avec une [...]]]></description>
			<content:encoded><![CDATA[<p>Vous n&#8217;utilisez pas de styles CSS pour votre page web ? Ce n&#8217;est pas grave : les navigateurs le font pour vous. Ils utilisent chacun leur feuille de style par défaut pour obtenir un rendu visuel minimal. C&#8217;est pourquoi les tableaux possèdent des bordures, et les paragraphes des espaces avant et après. Le problème ? Si des balises comme <code>strong</code> ou <code>em</code> sont traitées de la même manière par les agents utilisateurs, l&#8217;immense majorité présente des différences plus ou moins importantes. Ce fameux manque de &laquo;&nbsp;consistance&nbsp;&raquo; décrié par les webdesigners anglo-saxons concerne principalement les propriétés <code>margin</code> et <code>padding</code>. Avec une pensée particulière pour le retrait des listes <code>ol</code> et <code>ul</code> : si <acronym title="Internet Explorer">IE</acronym> applique bien le <code>margin-left: 40px</code> préconisé, Firefox utilise quant à lui un <code>padding-left: 40px</code> pour le même rendu. Dans ces conditions, il est tentant de vouloir mettre tous ces agents utilisateurs au garde-à-vous&#8230;<span id="more-119"></span></p>

<p>Dans leur grande sagesse <a href="http://www.w3.org/">les concepteurs</a> du <acronym title="Hyper Text Markup Language">HTML</acronym> ont fourni un <a href="http://www.w3.org/TR/CSS21/sample.html">exemple de feuille de style</a> pour uniformiser le rendu visuel des pages web ; dans leur précipitation à sortir leur produit avant la concurrence, les concepteurs des navigateurs ont fait ce qu&#8217;ils ont voulu. Enfin, il est aussi possible que les spécifications &#8211; parfois sibyllines &#8211; du monde joyeux des recommandations puissent être interprétées de diverses manières&#8230;</p>

<h3>Prudence est mère de sûreté&#8230;</h3>

<p>Il ne faut pas confondre ces différences de rendu entre les navigateurs avec les <a href="http://www.positioniseverything.net/explorer.html">nombreux <em>bugs</em> qui affectent particulièrement <acronym title="Internet Explorer">IE</acronym></a> comme <a href="http://edu.ca.edu/article258.html">le calcul de la largeur d&#8217;une boite</a>. Gardez également à l&#8217;esprit que l&#8217;on peut très bien <a href="http://css.alsacreations.com/Bases-et-indispensables/Le-rendu-par-defaut-des-elements-HTML">travailler avec ces valeurs par défaut</a> au lieu de les éliminer, et que <strong>faire <em>reset</em>, ce n&#8217;est pas toujours <em>rigolo</em></strong> : il s&#8217;agit d&#8217;une <a href="http://blog.alsacreations.com/2007/07/02/369-reset-css-une-technique-a-manier-avec-precaution">technique à manier avec précaution</a>.</p>

<p>D&#8217;autant plus que la majorité des problèmes rencontrés est souvent liée à la <a href="http://css.alsacreations.com/Tutoriels-et-articles-divers/Comprendre-l-heritage-et-la-parente-des-styles-CSS">transmission de l&#8217;héritage entre parents et enfants</a>. Faire table rase, d&#8217;accord, encore faut-il savoir de quoi ^__^ Une autre notion indispensable : avoir une idée des possibilités d&#8217;imbrication des balises.</p>

<p>Voici un récapitulatif de <a href="http://blog.alsacreations.com/2004/09/09/58-parents-et-enfants">qui contient quoi</a>, ainsi qu&#8217;une référence complète sur les <a href="http://giminik.developpez.com/xhtml/">attributs et relations de parenté des éléments XHTML 1.1</a>.</p>

<p>La Cascade (le <em>C</em> de CSS) est une autre source de confusion. <a href="http://openweb.eu.org/articles/cascade_css/">Openweb a consacré un article intéressant</a> qui explique comment sont &laquo;&nbsp;priorisés&nbsp;&raquo; les différents styles qui peuvent s&#8217;appliquer à un élément.</p>

<p>Pour faire simple : <strong>si vous débutez l&#8217;apprentissage des CSS, je vous déconseille fortement de mettre un <em>reset</em> dans votre moteur</strong>, même s&#8217;il semble ronronner affectueusement au début. Nul doute que dès que vous aurez le dos tourné&#8230; Enfin maintenant si vous insistez, je vous ai préparé un mini dossier sur le sujet :</p>

<ul>
    <li><a href="#margin-padding-zero">margin et padding à zéro avec le sélecteur universel</a></li>
    <li><a href="#reset-css-reloaded">Reset CSS Reloaded, Eric Meyer</a></li>
    <li><a href="#css-initial">INITIAL, Christian Montoya</a></li>
    <li><a href="#yui-reset-css">YUI Reset CSS, Yahoo! UI Library</a></li>
    <li><a href="#undo-html-css">undohtml.css, Tantek Celik</a></li>
</ul>

<h3 id="margin-padding-zero">Remise à zéro du margin et du padding avec le sélecteur universel <code>*</code></h3>

<p>Cette méthode a le mérite de la concision et de la simplicité :</p>

<p><pre>&#42; {
  margin: 0;
  padding: 0;
}</pre>
Ici, le sélecteur universel met toutes les balises html d&#8217;accord sur les marges et les retraits : il n&#8217;y en aura pas ! La propriété <code>margin</code> correspond à l&#8217;espace laissé ou pas entre deux éléments. La propriété <code>padding</code> concerne l&#8217;espace à l&#8217;intérieur d&#8217;un élément entre la bordure et les éléments qu&#8217;il contient. Pour s&#8217;éclaircir les idées, je vous propose de jeter un œil sur la représentation visuelle du <a href="http://www.yoyodesign.org/doc/w3c/css2/box.html">modèle de boite</a> (<em>box model</em>).</p>

<h4>Et <code>border: 0</code> ?</h4>

<p>Oui, il est possible d&#8217;ajouter <code>border: 0</code> pour s&#8217;assurer que les éléments n&#8217;auront pas de bordures indésirables. Comme cette dernière déclaration est de plus en plus utilisée, voici la liste des éléments qu&#8217;elle concerne afin que vous jugiez de sa pertinence :</p>

<ul>
    <li><code>input</code></li>
    <li><code>textarea</code></li>
    <li><code>select</code></li>
    <li><code>button</code></li>
    <li><code>table</code></li>
    <li><code>fieldset</code></li>
    <li><code>abbr</code></li>
    <li><code>hr</code></li>
    <li><code>img</code> et <code>object</code> (si lien)</li>
    <li><code>iframe</code></li>
</ul>

<h4>Redonner des couleurs à vos balises</h4>

<p>Reste à redonner à ces balises un rendu plus agréable en regroupant, par exemple, les éléments qui partagent <strong>les mêmes valeurs tout au long du site web</strong> :</p>

<ul>
    <li>Différents niveaux de titre <code>h1</code> &#8211; <code>h6</code>,</li>
    <li>Conteneurs de texte comme <code>p</code>, <code>blockquote</code>, <code>pre</code>, <code>code</code>, <code>address</code>, <code>hr</code>, <code>form</code>,</li>
    <li>Listes avec <code>dl</code>, <code>ul</code>, <code>ol</code>,</li>
    <li>Eléments en ligne tels que <code>strong</code>, <code>cite</code>, <code>em</code>, <code>var</code>, <code>samp</code>,</li>
    <li>Etc.</li>
</ul>

<p>Selon le document, il pourrait être tout aussi judicieux de regrouper les éléments suivants :</p>

<ul>
    <li>Balises <code>ul</code> et <code>ol</code> dans la <em>sidebar</em></li>
    <li>Balises identiques dans la zone de contenu principal</li>
    <li>etc.</li>
</ul>

<p>Une autre méthode inspirée par le billet paru sur <a href="http://www.pixenjoy.com/reinitialisation-des-elements-html">pixenjoy</a> est de reprendre la <a href="http://www.w3.org/TR/CSS21/sample.html">feuille de style</a> proposée par le <acronym title="World Wide Web Consortium">W3C</acronym> qui peut avantageusement servir de modèle pour avoir la liste des éléments HTML concernés par cette remise à zéro des marges et retraits.</p>

<h4>Une technique obsolète ?</h4>

<p>Malgré son apparente simplicité et efficacité, <a href="http://developer.mozilla.org/en/docs/Writing_Efficient_CSS#Avoid_Universal_Rules.21">cette méthode n&#8217;est pas la panacée</a> : un navigateur comme Firefox consomme de précieuses ressources à boucler sur toutes les balises. Par ailleurs, un travail important reste à faire pour restyler les balises (même si ce travail n&#8217;est pas à refaire complètement à chaque nouveau projet). Quoiqu&#8217;il en soit, je vous propose de mettre cette technique de côté pour tester d&#8217;autres méthodes.</p>

<h3 id="reset-css-reloaded">Reset CSS Reloaded d&#8217;Eric Meyer</h3>

<p>Vous aurez peut-être remarqué que si l&#8217;ajout de <code>border: 0</code> peut apporter un plus dans la remise à zéro des éléments, d&#8217;autres propriétés pourraient elles aussi gagner à être réinitialisées. C&#8217;est sûrement ce que c&#8217;est dit Eric Meyer lorsqu&#8217;il s&#8217;est penché sur son Reset CSS. (</p>

<p>L&#8217;exemple suivant est la version 2.0 du 26/01/2011, cf. <a href="http://meyerweb.com/eric/tools/css/reset/">http://meyerweb.com/eric/tools/css/reset</a> :</p>

<p><pre>
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/</p>

<p>html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
</pre>
L&#8217;idée est à la fois d&#8217;aller plus loin dans les propriétés à inclure tout en étant plus sélectif en tenant compte de certaines spécificités.</p>

<h4>Reset again</h4>

<p>Dans un premier temps, pas de surprise, nous retrouvons la remise des margin, padding et border à zéro, suivie de près par un outline: 0 qui sert généralemement à afficher un cadre pointillé lorsqu&#8217;on maintient le bouton de la souris appuyé sur un lien (:active, quoi ;) ). Ne pas confondre avec le même cadre qui apparait quand le lien a le <em>focus</em>, via la touche TAB, même s&#8217;il s&#8217;agit de la même déclaration outline: 1px dotted invert. La pseudo-classe :focus est également remise à zéro pour l&#8217;ensemble des éléments via :focus { outline: 0 }.</p>

<h4>Héritez, qu&#8217;y disait&#8230;</h4>

<p>Viennent ensuite les propriétés relatives à font : on s&#8217;assure qu&#8217;elles seront bien héritées par les éléments parfois récalcitrants (certains éléments de formulaire). La taille 100% sert à la fois à obtenir une valeur &laquo;&nbsp;héritable&nbsp;&raquo; par les balises filles et avoir une taille par défaut pour l&#8217;ensemble de la page web. Si vous préférez partir avec un corps inférieur, rien ne vous empêche de spécifier 62.5% pour avoir une taille par défaut de 10px env. ou 75% pour obtenir 12px. Sachant que si vous pouvez vous débrouiller pour fournir une <a href="http://www.css4design.com/index.php/2007/08/10/114-5-regles-simples-pour-gerer-l-affichage-de-votre-texte-dans-vos-mises-en-page">taille de texte</a> généreuse à vos lecteurs, ils vous le rendront bien.</p>

<h4>Je ne veux voir qu&#8217;une tête !</h4>

<p>Nous terminons cette première partie avec vertical-align: baseline qui permet d&#8217;harmoniser l&#8217;<a href="http://stylescss.free.fr/vertical-align.php">alignement des éléments</a> en ligne au sein d&#8217;une boite. Il s&#8217;agit de la valeur par défaut pour aligner la ligne de base du texte avec le bas d&#8217;une image placée à côté.</p>

<h4>Avez-vous la <em>quote</em> ?</h4>

<p>Les dernières règles s&#8217;appliquent aux éléments blockquote et q dont on supprime préventivement le contenu &laquo;&nbsp;éventuellement&nbsp;&raquo; généré avant ou après, puis dans un second temps, on supprime les guillemets ouvrants et fermants. Tout ce que vous avez toujours voulu savoir sur ces éléments se trouve sur la page web de <a href="http://www.yoyodesign.org/">yoyodesign</a> consacrée au <a href="http://www.yoyodesign.org/doc/w3c/css2/generate.html">contenu généré, au numérotage automatique et aux listes</a>.</p>

<h4 id="line-height">Y a pas un problème avec la valeur de line-height ?</h4>

<p>La curiosité de cette feuille de style, est la présence d&#8217;une valeur sans unité de mesure (line-height: 1) qui mérite <a href="http://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/">quelques explications</a>. Pour ceux qui ne sont pas à l&#8217;aise avec l&#8217;anglais, j&#8217;ai repris les exemples donnés sur la page citée précédemment qui parlent d&#8217;eux-mêmes :</p>

<h4>En utilisant line-height: 1em</h4>

<p>La règle CSS suivante&#8230;
<pre>ul {
  font-size: 15px;
  line-height: 1em;
}
li {
  font-size: 10px;
}
small {
  font-size: 80%;
}</pre>
&#8230; est équivalente à&#8230;
<pre>ul {
  font-size: 15px;
  line-height: 1em;
}
li {
  font-size: 10px;
  line-height: 15px;
}
small {
  font-size: 80%;
  line-height: 15px;
}</pre>
&#8230; appliquée sur l&#8217;exemple html suivant :
<pre>&lt;ul&gt;
  &lt;li&gt;I'm a list item with &lt;small&gt;small text&lt;/small&gt;.&lt;/li&gt;
&lt;/ul&gt;</pre></p>

<h4>En utilisant line-height: 1</h4>

<p>Appliquée sur l&#8217;exemple html précédent, la règle CSS suivante&#8230;
<pre>ul {
  font-size: 15px;
  line-height: 1;
}
li {
  font-size: 10px;
}
small {
  font-size: 80%;
}</pre>
&#8230; est équivalente à :
<pre>ul {
  font-size: 15px;
  line-height: 1;
}
li {
  font-size: 10px;
  line-height: 10px;
}
small {
  font-size: 80%;
  line-height: 8px;
}</pre>
<em>Grosso modo</em> : lorsque l&#8217;on ne précise pas l&#8217;unité de mesure après line-height (ce qui est parfaitement conforme aux spécifications, même si les validateurs ne le savent pas toujours) la valeur fonctionne comme un facteur multiplicateur, contrairement à l&#8217;unité em qui produit une valeur calculée qui se répercute ensuite sur les balises enfants par le jeu de la cascade.</p>

<p>C&#8217;est une spécificité de la propriété line-height qui est la seule à accepter une valeur brute. Car, vous l&#8217;avez sans doute remarqué, mais spécifier 2em sur une taille de police a bien un effet multiplicateur par rapport à la valeur dont elle hérite au départ :
<pre>body {
  font-size: 12px;
}
h1 {
  font-size: 2em;
}</pre>
Dans cette exemple, l&#8217;élément h1 a bien une taille de 24px.</p>

<h4>En finir avec le reset-reloaded ?</h4>

<p>Le défaut essentiel de ce reset est aussi sa principale qualité : il déshabille carrément les balises de leurs attributs les plus usuels, jusqu&#8217;à ceux dont on n&#8217;avait pas vraiment conscience (:focus, :before, :after, quotes, etc.). Ceci permet de prendre conscience que le fonctionnement &laquo;&nbsp;naturel&nbsp;&raquo; de nos chères balises html ne l&#8217;est pas tant que ça&#8230;</p>

<p>Par ailleurs, à force de lire un peu partout qu&#8217;il ne faut pas mélanger la sémantique des balises html avec leur rendu visuel, je me dis que le <em>full monty</em> proposé par Eric Meyer va dans le bon sens en nous obligeant à en apprendre un peu plus sur le HTML et les CSS (trollinou inside) ^_^v.</p>

<p>Eric Meyer considère toute utilisation des styles par défaut comme une béquille qui nous rend dépendant du bon vouloir des navigateurs (ce qui n&#8217;est pas totalement faux). Toutefois, comme le précise, <a href="http://www.blog-and-blues.org/">Laurent Denis</a>, a-t&#8217;on vraiment besoin de vouloir garder la maitrise des éléments à ce point-là ou lieu de <a href="http://openweb.eu.org/articles/lacher_prise/">lâcher prise</a> ? Pour finir de vous détendre, méditez cette phrase extraite de l&#8217;excellent article <a href="http://pompage.net/pompe/tao/">le tao du design web</a> :</p>

<blockquote>accepte le flot et le cours des choses,
les entoure, mais ne les possède pas,</blockquote>

<p>En attendant d&#8217;arriver à ce degré de sagesse dont il faudrait que nos bien-aimés clients et patrons soient aussi imprégnés, revenons vers le côté obscur de la force avec un autre <em>reset</em> à nous mettre sous le clavier ;)</p>

<h3 id="css-initial">INITIAL de Christian Montoya</h3>

<p>Cette remise à zéro est proposée par Faruk Ates, amendée par <a href="http://www.robertnyman.com">Robert Nyman</a> et <a href="http://www.christianmontoya.com/2007/02/01/css-techniques-i-use-all-the-time/">Christian Montoya</a>. Plus qu&#8217;un <em>reset</em> radical, il s&#8217;agit plutôt d&#8217;un feuille de style minimale située entre la remise des marges à zéro et le <em>reset-reloaded</em>. Mais jugez plutôt :
<pre>// =INITIAL   v2.1,
// by Faruk Ates - www.kurafire.net
// Addendum by Robert Nyman - www.robertnyman.com
// Addition by Christian Montoya - www.christianmontoya.net</p>

<p>// Neutralize styling:   Elements we want to clean out entirely:
html, body, form, fieldset {
   margin: 0;
   padding: 0;
   font: 100%/120% Verdana, Arial, Helvetica, sans-serif;
 }</p>

<p>// Neutralize styling:   Elements with a vertical margin:
h1, h2, h3, h4, h5, h6, p, pre, blockquote, ul, ol, dl, address {
   margin: 1em 0;
   padding: 0;
 }</p>

<p>// Apply left margin:   Only to the few elements that need it:
li, dd, blockquote {
   margin-left: 1em;
 }</p>

<p>// Miscellaneous conveniences:
form label {
   cursor: pointer;
}
fieldset {
   border: none;
}
input, select, textarea {
   font-size: 100%;
   font-family: inherit;
}</pre>
Ici, le reset est plus sélectif : dans un premier temps, seuls certains éléments de type blocs sont touchés par la remise à zéro des marges et retraits. Ensuite, les éléments sont regroupés en fonction des marges qu&#8217;ils ont en commun : d&#8217;une part, ceux qui partagent les mêmes espaces avant et après, et d&#8217;autre part, ceux qui sont généralement représentés avec un retrait à gauche. Ces derniers héritent des valeurs margin: 1em 0 et padding: 0 spécifiées juste avant.</p>

<p>Un autre avantage d&#8217;INITIAL sur le <em>Reset-Reloaded</em>, est que les éléments en ligne ne sont pas affectés, ce qui est une bonne chose, vu le peu de différences de rendu qu&#8217;ils présentent d&#8217;un navigateur à l&#8217;autre.</p>

<p>Personnellement, je trouve cette approche plus élégante que le <em>reset reloaded</em> : plus &laquo;&nbsp;lisible&nbsp;&raquo; donc plus maniable, notamment en ce qui concerne son &laquo;&nbsp;extensibilité&nbsp;&raquo; car on peut même lui ajouter certaines trouvailles d&#8217;Eric Meyer comme :</p>

<ul>
    <li>spécifier une valeur brute pour line-height : 1.4 à la place de la valeur &laquo;&nbsp;INITIAL&nbsp;&raquo; de 120%,</li>
    <li>prendre en compte les éléments table, tr ,td ou caption,</li>
    <li>enlever les puces des listes,</li>
    <li>etc&#8230;</li>
</ul>

<p>&#8230; afin de construire une feuille de style de base reprenant par exemple le <em>reset</em> de Faruk, puis en ajoutant certains éléments prélevés dans le <em>Reset-Reloaded</em> (Ex. 1) ou encore d&#8217;autres règles CSS récurrentes (Ex. 2). L&#8217;idée est d&#8217;obtenir une sorte de tableau de bord CSS où la modification de certaines valeurs-clés permet de gérer des maquettes différentes. Je précise qu&#8217;il s&#8217;agit juste d&#8217;un exemple pour insister sur le fait que <strong>c&#8217;est au reset de s&#8217;adapter à vos besoins, et non le contraire</strong> ;)
<pre>Ex. 1
ol, ul {
  list-style: none;
}</p>

<p>// tables still need 'cellspacing="0"' in the markup
// j'ai modifié les valeurs, car il est bon que les tableaux soient visibles !
table {
  border-collapse: collapse;
  border-spacing: 1px;
}
caption, th, td {
  text-align: left;
  font-weight: normal;
}</pre>
<pre>Ex. 2
// Couleurs à adapter selon votre charte
a {text-decoration: none;}
a:link {color: #000;}
a:visited {color: #000;}
a:hover {color: #000;}
a:active {color: #000;}
img, iframe, object {border: 0 none;}
input, textarea, select, button, {border: 1px solid #000;
}</pre>
Dans les styles de cet <em>Ex. 2</em>, j&#8217;ai spécifié des valeurs pour les différents états des liens conformément à l&#8217;ordre <a href="http://www.d.umn.edu/itss/support/Training/Online/csstips/lovehate.html">LoVe(F)HAte</a>, et redéfini en deux fois les bordures pour les éléments qui en possèdent par défaut. Par ailleurs, je rajouterais bien la balise div à la suite de l&#8217;élément body car &#8211; même si cet élément n&#8217;est pas censé avoir de marge -, force est de constater que lorsque deux images doivent se raccorder, il reste souvent un décalage d&#8217;un pixel qui disparait comme par magie avec margin: 0.</p>

<h3 id="yui-reset-css">YUI Reset CSS de Yahoo! UI Library</h3>

<p>Parmi les Reset CSS existants, on trouve la <a href="http://developer.yahoo.com/yui/reset/">contribution de Yahoo!</a> qui propose dans son pack <a href="http://developer.yahoo.com/yui/">Yahoo! UI Library</a> une technique pour réinitialiser les éléments html qui manquent de &laquo;&nbsp;consistance&nbsp;&raquo; d&#8217;un navigateur à l&#8217;autre.
<pre>body, div, dl, dt, dd, ul, ol, li, h1,
h2, h3, h4, h5, h6, pre,
form, fieldset, input, textarea,
p, blockquote, th, td {
  margin: 0;
  padding: 0;
 }
table {
  border-collapse: collapse;
  border-spacing: 0;
 }
fieldset, img {
  border: 0;
 }
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
 }
ol, ul {
  list-style: none;
 }
caption, th {
  text-align: left;
 }
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before,
q:after {
  content: '';
}
abbr, acronym {
  border: 0;
}</pre>
Les choix en matière de remise à zéro sont discutables (il faut redéfinir jusqu&#8217;à la mise en gras pour strong et définir les tailles des polices pour les éléments hn), mais ce reset est accompagné d&#8217;une proposition de mise en forme pour les autres éléments html dont on peut s&#8217;inspirer en fonction du reset choisi (pour des raisons de lisibilité j&#8217;ai revu la mise en forme de départ et supprimé la plupart des commentaires) :</p>

<h4><a href="http://developer.yahoo.com/yui/base/">base.css</a></h4>

<p><pre>// base.css, part of YUI's CSS Foundation</p>

<p>h1 {font-size: 138.5%; /* 18px via <a href="http://developer.yahoo.com/yui/fonts/">YUI Fonts CSS foundation</a> <em>/}
h2 {font-size: 123.1%; /</em> 16px via YUI Fonts CSS foundation <em>/}
h3 {font-size: 108%; /</em> 14px via YUI Fonts CSS foundation */}
h1, h2, h3 {margin: 1em 0;}
h1, h2, h3, h4, h5, h6, strong {font-weight: bold;}
abbr, acronym {
  border-bottom: 1px dotted #000;
  cursor: help;
}
em {font-style: italic;}
blockquote, ul, ol, dl {margin: 1em;}
ol, ul, dl {margin-left: 2em;}
ol li {list-style: decimal outside;}
ul li {list-style: disc outside;}
dl dd {margin-left: 1em;}
th, td {
  border: 1px solid #000;
  padding: 0.5em;
}
th {
  font-weight: bold;
  text-align: center;
}
caption {
  margin-bottom: 0.5em;
  text-align: center;
}
p, fieldset, table {margin-bottom: 1em;
}</pre>
Le site de <a href="http://developer.yahoo.com/">Yahoo! pour les développeurs web</a> propose des informations complémentaires sur la gestion d&#8217;une <a href="http://developer.yahoo.com/yui/grids/">grille de mise en page</a> et des <a href="http://developer.yahoo.com/yui/fonts/">polices de caractère</a>.</p>

<h3 id="undo-html-css"><a href="http://tantek.com/log/2004/undohtml.css">undohtml.css</a> de <a href="http://tantek.com/log/2004/09.html#d06t2354">Tantek Celik</a></h3>

<p>Peut-être le plus ancien Reset CSS. Pour des raisons de lisibilité, j&#8217;ai revu l&#8217;organisation visuelle des commentaires.
<pre>// undohtml.css (CC) 2004 Tantek Celik.
// Some Rights Reserved. http://creativecommons.org/licenses/by/2.0
// This style sheet is licensed under a Creative Commons License.
// Purpose: undo some of the default styling of common (X)HTML browsers *//</p>

<p>// link underlines tend to make hypertext less readable,
// because underlines obscure the shapes of the lower halves of words
:link, :visited {text-decoration: none;}</p>

<p>// no list-markers by default, since lists are used more often for semantics
ul, ol {list-style: none;}</p>

<p>// avoid browser default inconsistent heading font-sizes and pre/code too
h1, h2, h3, h4, h5, h6, pre, code {font-size: 1em;}</p>

<p>// remove the inconsistent (among browsers)
// default ul,ol padding or margin the default spacing on headings
// does not match nor align with normal interline spacing at all,
// so let's get rid of it. zero out the spacing around pre, form, body, html, p, blockquote
// as well form elements are oddly inconsistent, and not quite CSS emulatable. nonetheless
// strip their margin and padding as well
ul, ol, li, h1, h2, h3, h4, h5, h6, pre,
form, body, html, p, blockquote, fieldset, input {
  margin: 0;
  padding: 0;
}</p>

<p>// whoever thought blue linked image borders were a good idea?
a img, :link img, :visited img {border: none }</p>

<p>// de-italicize address
address {font-style: normal;}</p>

<p>// more varnish stripping as necessary...</pre></p>

<h3>C&#8217;est reparti pour un tour ?</h3>

<ul>
    <li><a href="#margin-padding-zero">margin et padding à zéro avec le sélecteur universel</a></li>
    <li><a href="#reset-css-reloaded">Reset CSS Reloaded, Eric Meyer</a></li>
    <li><a href="#css-initial">INITIAL, Christian Montoya</a></li>
    <li><a href="#yui-reset-css">YUI Reset CSS, Yahoo! UI Library</a></li>
    <li><a href="#undo-html-css">undohtml.css, Tantek Celik</a></li>
</ul>

<h3>Pour conclure</h3>

<p>Ni liste exhaustive ni comparatif point par point, j&#8217;ai essayé de faire le tour des Reset CSS les plus utilisés en espérant avoir fourni quelques informations utiles sur les techniques existantes et leur fonctionnement. J&#8217;espère surtout que ce billet vous aura donné des éléments de réflexion pour vous en passer lorsque ce n&#8217;est pas nécessaire ;) Ce billet pose certainement plus de questions qu&#8217;il n&#8217;apporte de réponses car un Reset ne dispense pas de réfléchir à l&#8217;<a href="http://www.css4design.com/organiser-ses-feuilles-de-style-css">organisation de ses CSS</a>, bien au contraire !</p>

<p><em>Stay tuned and mind the gap!</em></p>

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

<ul class='related_post'><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/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/apres-reset-reloaded-eric-meyer-fait-risette-avec-resetting-again' title='Styles CSS par défaut : après Reset Reloaded, Eric Meyer fait encore risette avec Resetting Again'>Styles CSS par défaut : après Reset Reloaded, Eric Meyer fait encore risette avec Resetting Again</a></li><li><a href='http://css.4design.tl/sandbox-un-theme-wordpress-pour-integrateurs-html-chic-qui-aiment-les-microformats' title='Quelques notes sur Sandbox, un thème WordPress pour intégrateurs html CHIC qui aiment les microformats'>Quelques notes sur Sandbox, un thème WordPress pour intégrateurs html CHIC qui aiment les microformats</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></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=119&amp;md5=dd7a0ae492f480c7c056a74353195114" 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/5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs/feed</wfw:commentRss>
		<slash:comments>33</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%2F5-reset-css-a-la-loupe-pour-une-remise-a-zero-des-valeurs-par-defaut-des-navigateurs&amp;language=fr_FR&amp;category=text&amp;title=5+Reset+CSS+%C3%A0+la+loupe+pour+une+remise+%C3%A0+z%C3%A9ro+des+valeurs+par+d%C3%A9faut+des+navigateurs&amp;description=Vous+n%26%238217%3Butilisez+pas+de+styles+CSS+pour+votre+page+web+%3F+Ce+n%26%238217%3Best+pas+grave+%3A+les+navigateurs+le+font+pour+vous.+Ils+utilisent+chacun+leur+feuille+de+style+par...&amp;tags=CSS%2CEric+Meyer%2CFocus%2CHTML%2CNavigateur%2CReset+CSS%2CStandards+web%2CTableaux%2CTutoriels%2CXHTML%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Avec Color Blender, Eric Meyer ne me quitte plus ;)</title>
		<link>http://css.4design.tl/avec-color-blender-eric-meyer-ne-me-quitte-plus</link>
		<comments>http://css.4design.tl/avec-color-blender-eric-meyer-ne-me-quitte-plus#comments</comments>
		<pubDate>Wed, 21 Jun 2006 00:25:04 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Design & Graphisme]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Couleur]]></category>
		<category><![CDATA[Eric Meyer]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=5</guid>
		<description><![CDATA[En plus de ses bouquins, Eric Meyer, un maitre ès CSS, a eu la bonne idée de mettre des outils à la disposition des webmasters sur son site web. Color Blender permet de déduire les couleurs intermédiaires à partir d&#8217;une couleur de départ et une couleur d&#8217;arrivée. Je vous propose une traduction (approximative) du mode d&#8217;emploi : Choisissez un format de couleur (hex, rgb, rgb%), entrez deux couleurs dans le format voulu, et indiquez le nombre de couleurs intermédiaires que vous désirez. Cliquez sur Blend et le résultat apparait plus bas. Toutes les valeurs sont arrondies au nombre entier le [...]]]></description>
			<content:encoded><![CDATA[<p>En plus de ses bouquins, Eric Meyer, un maitre ès CSS, a eu la bonne idée de mettre des outils à la disposition des webmasters sur son site web. <a href="http://meyerweb.com/eric/tools/color-blend/">Color Blender</a> permet de déduire les couleurs intermédiaires à partir d&#8217;une couleur de départ et une couleur d&#8217;arrivée. Je vous propose une traduction (approximative) du mode d&#8217;emploi :</p>

<ul>
    <li>Choisissez un format de couleur (hex, rgb, rgb%), entrez deux couleurs dans le format voulu, et indiquez le nombre de couleurs intermédiaires que vous désirez. Cliquez sur <em>Blend</em> et le résultat apparait plus bas.</li>
    <li>Toutes les valeurs sont arrondies au nombre entier le plus proche.</li>
    <li>Vous pouvez cliquer sur un carré de couleur de la palette des couleurs à droite pour remplir le champ qui a le <em>focus,</em> avec la valeur appropriée.</li>
    <li>Passer d&#8217;un format à un autre aura pour effet de traduire toutes les valeurs déjà en place.</li>
    <li>Le bouton <em>Clear</em> efface toutes les valeurs et les couleurs, mais ne change pas la valeur du format de couleur en cours.</li>
    <li>Si vous voulez utiliser <em>Color Blender</em> offline, enregistrez la page sur votre disque dur.</li>
</ul>

<p>Attention, utiliser<em> Color Blender</em> une fois, c&#8217;est l&#8217;utiliser toujours !</p>

<p><strong>MAJ du 24/11/06 :</strong> <a href="http://colorblender.com/">colorblender.com</a> propose à peu près les mêmes fonctionnalités.</p>

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

<ul class='related_post'><li><a href='http://css.4design.tl/editeur-de-degrades-css3-a-la-mode-de-photoshop' title='Editeur de dégradés CSS3 à la mode de Photoshop'>Editeur de dégradés CSS3 à la mode de Photoshop</a></li><li><a href='http://css.4design.tl/ressources-pour-web-designer' title='9 ressources pour web designer'>9 ressources pour web designer</a></li><li><a href='http://css.4design.tl/le-petit-journal-du-web-wordpress-couleur-css-page-speed-404' title='Le petit journal du web &#8212; WordPress, Couleur, CSS, Page Speed, 404'>Le petit journal du web &#8212; WordPress, Couleur, CSS, Page Speed, 404</a></li><li><a href='http://css.4design.tl/astuce-css3-rgba' title='Astuce CSS3 et RGBA avec les outils de développement de Google Chrome'>Astuce CSS3 et RGBA avec les outils de développement de Google Chrome</a></li><li><a href='http://css.4design.tl/formation-integrateur-html5-css3' title='CSS Sans Stress &#8212; Une formation intégrateur HTML &amp; CSS'>CSS Sans Stress &#8212; Une formation intégrateur HTML &amp; CSS</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=23&amp;md5=26bea83ccfbea1e6265f4ffcf64805d7" 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/avec-color-blender-eric-meyer-ne-me-quitte-plus/feed</wfw:commentRss>
		<slash:comments>3</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%2Favec-color-blender-eric-meyer-ne-me-quitte-plus&amp;language=fr_FR&amp;category=text&amp;title=Avec+Color+Blender%2C+Eric+Meyer+ne+me+quitte+plus+%3B%29&amp;description=En+plus+de+ses+bouquins%2C+Eric+Meyer%2C+un+maitre+%C3%A8s+CSS%2C+a+eu+la+bonne+id%C3%A9e+de+mettre+des+outils+%C3%A0+la+disposition+des+webmasters+sur+son+site+web.+Color...&amp;tags=Couleur%2CEric+Meyer%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:40:52 -->
