<?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 4 design &#187; Float</title>
	<atom:link href="http://css4design.com/tag/float/feed" rel="self" type="application/rss+xml" />
	<link>http://css4design.com</link>
	<description>Le blog de l&#039;intégrateur web</description>
	<lastBuildDate>Sun, 05 Feb 2012 18:10:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://css4design.com/?pushpress=hub'/>
		<item>
		<title>Journal &#8212; « Typographie, HTML5 Boilerplate, Reset CSS, Clearfix, CSS3, Photoshop »</title>
		<link>http://css4design.com/le-petit-journal-du-web-fevrier-2011</link>
		<comments>http://css4design.com/le-petit-journal-du-web-fevrier-2011#comments</comments>
		<pubDate>Wed, 23 Feb 2011 14:53:06 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Le petit journal du web]]></category>
		<category><![CDATA[Typographie]]></category>
		<category><![CDATA[:after]]></category>
		<category><![CDATA[:before]]></category>
		<category><![CDATA[Box Shadow]]></category>
		<category><![CDATA[Clearfix]]></category>
		<category><![CDATA[Compatibilité]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Edito]]></category>
		<category><![CDATA[Feuille de style]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Overflow hidden]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Polices de caractères]]></category>
		<category><![CDATA[Pseudo-classe]]></category>
		<category><![CDATA[Reset CSS]]></category>
		<category><![CDATA[typographie]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=9182</guid>
		<description><![CDATA[Au menu de ce petit journal, je vous propose un pot-pourri de ce qui a retenu mon attention ces 30 derniers jours. La typographie sur le web avec Font-face et les différents formats de polices de caractère. Apprendre les bonnes pratiques en matière d&#8217;intégration HTML &#38; CSS avec HTML5 Boilerplate. Choisir de mettre un reset CSS dans votre moteur ou une simple (mais complète) feuille de style de base. Approfondir CSS3 avec un tutoriel concret et utiliser les pseudo-classes :before et :after pour créer des ombres portées du plus bel effet. Mettre en place une feuille de style pour les [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 18px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcss4design.com%2Fle-petit-journal-du-web-fevrier-2011">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcss4design.com%2Fle-petit-journal-du-web-fevrier-2011&amp;source=br1o&amp;style=normal&amp;service=bit.ly&amp;service_api=R_0c1ee4b64f105d1b2672690740a77d6a&amp;b=2" height="61" width="50" />
			</a>
		</div><p>Au menu de ce petit journal, je vous propose un pot-pourri de ce qui a retenu mon attention ces 30 derniers jours. La typographie sur le web avec <em>Font-face</em> et les différents formats de polices de caractère. Apprendre les bonnes pratiques en matière d&#8217;intégration HTML &amp; CSS avec <em>HTML5 Boilerplate</em>. Choisir de mettre un <em>reset CSS</em> dans votre moteur ou une simple (mais complète) feuille de style de base. Approfondir CSS3 avec un tutoriel concret et utiliser les pseudo-classes <code>:before</code> et <code>:after</code> pour créer des ombres portées du plus bel effet. Mettre en place une feuille de style pour les périphériques mobiles et autres smartphones (iPad, iPhone ou Android). Avoir une liste d&#8217;outils pour vous aider à développer avec Internet Explorer (et IE6 en particulier). Et pour finir, reprendre les bases de Photoshop avec un tutoriel en 5 parties distinctes mais complémentaires.<span id="more-9182"></span></p>

<h2>1. Typographie sur le web</h2>

<h3>Déclarer vos polices de caractères avec Font-Face</h3>

<p>Modification de la méthode de déclaration Font-Face et mise à jour du billet concernant les <a href="http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face">Bonnes pratiques pour les déclarations font-face</a>. Pas de problème si vous utilisez les <a href="http://www.fontsquirrel.com/fontface">kits de FontSquirrel</a>, ils sont à jour ! Sinon, voici la bonne méthode pour inclure vos polices localement :
<pre>@font-face {
    font-family: 'MuseoSlab500';
    src: url('Museo_Slab_500-webfont.eot?iefix=') format('eot'),
         url('Museo_Slab_500-webfont.woff') format('woff'),
         url('Museo_Slab_500-webfont.ttf') format('truetype'),
         url('Museo_Slab_500-webfont.svg#webfont8VbsAwew') format('svg');
    font-weight: normal;
    font-style: normal;
}</pre></p>

<h6>Museo Slab is robust slab serif with Museo’s friendliness. It is a perfect match for Museo Sans. By Exljbris.</h6>

<div id="attachment_9251" class="wp-caption alignleft" style="width: 444px"><a href="http://css4design.com/wp-content/uploads/2011/02/museo-slab-font.png"><img class="size-large wp-image-9251" title="museo-slab-font" src="http://css4design.com/wp-content/uploads/2011/02/museo-slab-font-434x434.png" alt="" width="434" height="434" /></a><p class="wp-caption-text">Museo Slab : police de qualité accompagnée de son kit fonte-face</p></div>

<p>→ FontSquirrel propose un <a href="http://www.fontsquirrel.com/fontface/generator">convertisseur de polices de caractères</a> qui permet d&#8217;obtenir l&#8217;ensemble des formats web pour l&#8217;ensemble des navigateurs (<code>.eot</code>, <code>.woff</code>, <code>.ttf</code>, <code>.svg</code>).</p>

<h3>Maitrisez l&#8217;affichage des Webfonts</h3>

<p><a href="http://css4design.com/wp-content/uploads/2011/02/logo-typographisme.png"><img class="alignleft size-thumbnail wp-image-9253" title="logo-typographisme" src="http://css4design.com/wp-content/uploads/2011/02/logo-typographisme-102x102.png" alt="" width="102" height="102" /></a>[ <a href="http://typographisme.net/">typographisme</a> ] <a href="http://typographisme.net/post/Maitriser-le-d%C3%A9lais-d-affichage-des-fontes">Maîtriser le délai d&#8217;affichage des fontes </a>&#8211; Internet Explorer et les navigateurs qui utilisent Webkit (Safari, Chrome) affiche le texte lorsque la police est téléchargée. Quant à Firefox et Opera, ils commencent à afficher le texte avec la police de substitution en attendant que la police soit complètement chargée. Cet article fait le point sur ces deux approches et fournit des astuces pour limiter les dégâts : choix des polices de substitution pour limiter le clignotement ou utilisation de <a href="http://code.google.com/intl/fr/apis/webfonts/docs/webfont_loader.html">Web Font Loader</a> pour contrôler le chargement et l&#8217;affichage des polices.</p>

<h3>Unicode et typographie</h3>

<p><a href="http://www.cairn.info/revue-document-numerique-2002-3-page-105.htm">Unicode et typographie : un amour impossible</a> &#8211; Tout ce que vous avez toujours voulu savoir sur les rapport entre Unicode et la typographie<a href="http://dx.doi.org/10.3166/dn.6.3-4.105-137">10.3166/dn.6.3-4.105-137</a>.)</p>

<ul>
    <li>→ Voir aussi <a href="http://www.unicode.org/fr/charts/">Tableaux de caractères Unicode – Écritures</a>,</li>
    <li>→ Lire aussi <a rel="bookmark" href="../le-petit-journal-du-web-special-typo">Le petit journal permanent de la TypOgrApHiE !</a></li>
</ul>

<h3>Les fontes disponibles selon les plate-formes</h3>

<ul>
    <li>→ <a href="http://www.iosfonts.com/">iOS Fonts</a> &#8212; 40 familles de polices de caractères pour iPhone 4.2 et 57 pour iPad 4.2</li>
    <li>→ <a href="http://www.codestyle.org/css/font-family/index.shtml">CSS font sampler and survey</a> &#8212; The Code Style font sampler is a guide to the most common fonts on Windows, Mac and Linux.</li>
</ul>

<h2>2. HTML5 Boilerplate</h2>

<p><a href="http://css4design.com/wp-content/uploads/2011/02/star-html5-boilerplate.jpg"><img class="alignleft size-thumbnail wp-image-9256" title="star-html5-boilerplate" src="http://css4design.com/wp-content/uploads/2011/02/star-html5-boilerplate-102x102.jpg" alt="" width="102" height="102" /></a>[ <a href="http://www.1stwebdesigner.com/">1stwebdesigner</a> ] <a href="http://www.1stwebdesigner.com/design/snippets-html5-boilerplate/">20 bouts de code et bonnes pratiques issus de HTML5 Boilerplate</a> &#8212; Comme beaucoup, j&#8217;ai entendu parler de <a href="http://fr.html5boilerplate.com/">HTML5 Boilerplate</a>, un modèle de site HTML/CSS/JS/.htaccess de «tueurs» créé par Paul Irish et Divya Manian qui permet de développer des sites rapides, robustes et prêts pour le futur. <em>HTML5 Boilerplate</em> nous appporte les dernières avancées en matière d&#8217;intégration web sur un plateau sous la forme de plusieurs fichiers HTML, CSS, Javascript et <em>.htaccess</em> prêts pour HTM5 et CSS3 (mais pas seulement). Le fichier <em>.htaccess</em> regroupe les bonnes pratiques en matière de compression des différents formats utilisés sur le web, de dates d&#8217;expiration pour la mise en cache des éléments, de redirection sur le domaine sans les 3W, etc.</p>

<p><em>HTML5 Boilerplate</em> existe en deux versions : une pour l&#8217;étude avec les explications sous forme de commentaires, et l&#8217;autre pour la production. Il y a beaucoup à apprendre en lisant les différents fichiers et en écoutant Paul Irish présenter <em>HTML5 Boilerplate</em> :</p>

<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="633" height="521" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="play" value="false" /><param name="loop" value="false" /><param name="quality" value="high" /><param name="scale" value="noborder" /><param name="src" value="http://www.youtube.com/v/qyM37XKkmKQ" /><embed type="application/x-shockwave-flash" width="633" height="521" src="http://www.youtube.com/v/qyM37XKkmKQ" scale="noborder" quality="high" loop="false" play="false"></embed></object></p>

<ul>
    <li>→ Lire la <a href="https://github.com/paulirish/html5-boilerplate/wiki">documentation de HTML5 Boilerplate</a> sur GitHub,</li>
    <li>→ Lire la <a href="http://mklabs.github.com/html5boilerplate-site/#Home.md">documentation en mode Boilerplate</a> (cf. <a href="http://blog.mklog.fr/article/html5-boilerplate-documentation">HTML5 Boilerplate Documentation&#8230; en mode Boilerplate !</a>),</li>
    <li>→ Lire <a href="https://github.com/paulirish/html5-boilerplate/wiki/Script-Loading-Techniques">Script Loading Techniques</a>.</li>
</ul>

<h2>3. Base.css ou Reset.css ?</h2>

<p>[ <a href="http://thinkvitamin.com">thinkvitamin</a> ] <a href="http://thinkvitamin.com/design/setting-rather-than-resetting-default-styling/">Setting rather than Resetting Default Styling</a> &#8211; Avec l&#8217;utilisation (ou non) d&#8217;un <a href="http://css4design.com/frameworks-css-reset-css-design-from-scratch">framework CSS</a>, la question de savoir s&#8217;il vaut mieux mettre un <em>reset.css</em> ou une feuille de style de base dans ses pages web est un peu le serpent de mer de l&#8217;intégration web. <a href="http://www.tjkdesign.com/">Thierry Koblentz</a> présente les défauts inhérents au <em>reset.css</em> et défend l&#8217;approche de la feuille de style de «base» avec <a href="http://tjkdesign.com/ez-css/css/base.css">base.css</a> qui a inspirée en partie <em>HTML5 Boilerplate</em> !</p>

<h2>4. Clearfix reloaded ?</h2>

<p>[ <a href="http://www.yuiblog.com/">Yahoo! User Interface Blog</a> ] <a title="Permanent Link to clearfix Reloaded + overflow:hidden Demystified" rel="bookmark" href="http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified/">Clearfix Reloaded + overflow:hidden Demystified</a> &#8211; Tant que la propriété <code>float</code> servira pour bâtir les fondations de nos pages web, nous continuerons à utiliser une méthode pour rétablir le flux après l&#8217;utilisation d&#8217;éléments «floatants». Il existe plusieurs méthodes que j&#8217;avais compilées dans l&#8217;article <a rel="bookmark" href="http://css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire">Rétablir le flux après des éléments flottants en CSS sans balise HTML supplémentaire</a> qui faisait lui-même suite à <a rel="bookmark" href="http://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div">Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?</a> Voici le petit nouveau :
<pre>.clearfix:before,
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    overflow: hidden;
}
.clearfix:after {clear: both;}
.clearfix {zoom: 1;}</pre>
Une variante utilisée dans <a href="http://fr.html5boilerplate.com/">HTML5 Boilerplate</a>. Notez le remplacement de la propriété <code>overflow: hidden</code> par <code>visibility: hidden</code> :
<pre>.clearfix:before,
.clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    visibility: hidden;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }</pre>
L&#8217;absence de la propriété <code>overflow: hidden</code> peut entrainer des problèmes d&#8217;espaces au-dessus de certains éléments. Pour y remédier, il est possible d&#8217;utiliser le <em>clearfix</em> suivant (notez que l&#8217;utilisation de <code>overflow: hidden</code> sur le container en question dans votre feuille de style suffit généralement à régler le problème) :
<pre>.clearfix2:before,
.clearfix2:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
}
.clearfix2:after { clear: both; }
.clearfix2 { zoom: 1; }</pre>
Lire aussi :</p>

<ul>
    <li>→ <a href="http://www.blog-and-blues.org/articles/Float,_clear_et_contextes_de_formatage">Float, clear et contextes de formatage</a>,</li>
    <li>→ <a href="http://thinkvitamin.com/design/everything-you-know-about-clearfix-is-wrong/">Everything you Know about Clearfix is Wrong</a>,</li>
    <li>→ <a href="http://www.tjkdesign.com/lab/clearfix/new-clearfix.html">How to &laquo;&nbsp;patch&nbsp;&raquo; clearfix so it can better handle collapsing margins</a>,</li>
    <li>→ <a title="Permanent Link to CSS 101: Block Formatting Contexts" rel="bookmark" href="http://www.yuiblog.com/blog/2010/05/19/css-101-block-formatting-contexts/">CSS 101: Block Formatting Contexts</a>,</li>
    <li>→ <a title="Permanent Link: The hacktastic zoom fix" rel="bookmark" href="http://www.stubbornella.org/content/2010/12/09/the-hacktastic-zoom-fix/">The hacktastic zoom fix</a>.</li>
</ul>

<h2>5. Apprendre CSS3</h2>

<p>[ <a href="http://www.onextrapixel.com">onextrapixel</a> ] <a title="Permanent Link to The No-Pressure Introduction to CSS3" rel="bookmark" href="http://www.onextrapixel.com/2011/02/14/the-no-pressure-introduction-to-css3/">The No-Pressure Introduction to CSS3</a> &#8212; Utiliser CSS3 dès maintenant est possible. Cet article fait le point sur les différentes propriétés CSS3 avec des exemples concrets, tout en précisant leur niveau de prise en charge par les différents navigateurs, avec ou sans préfixe vendeur. L&#8217;auteur n&#8217;a pas oublié les nouveaux sélecteurs &#8212; tout aussi intéressants, sinon plus, que les «effets» &#8212; ni les <em>Medias Queries</em> ou <em>Font-Face</em>. Il nous donne en prime quelques liens vers des sites qui brossent CSS3 dans le sens du poil.</p>

<p>→ Lire aussi <a rel="bookmark" href="../le-petit-journal-permanent-de-css3">Le petit journal permanent de CSS3 — 100+ ressources pour commencer</a></p>

<h2>6. Box-Shadow sexy sans image</h2>

<p>[ <a href="http://nicolasgallagher.com">Nicolas Gallagher</a> ] <a href="http://nicolasgallagher.com/css-drop-shadows-without-images/">CSS drop-shadows without images</a> &#8212; L&#8217;article explique comment appliquer simplement des ombres portées originales en utilisant les pseudo-classe <code>:before</code> et <code>:after</code>. Voir <a href="http://nicolasgallagher.com/css-drop-shadows-without-images/demo/">la démonstration</a>.</p>

<p>Par exemple :
<pre>.drop-shadow {
   position:relative;
   width:90%;
}
.drop-shadow:before,
.drop-shadow:after {
   content:"";
   position:absolute;
   z-index:-1;
   bottom:15px;
   left:10px;
   width:50%;
   height:20%;
   max-width:300px;
   -webkit-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
   -moz-box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
   box-shadow:0 15px 10px rgba(0, 0, 0, 0.7);
   -webkit-transform:rotate(-3deg);
   -moz-transform:rotate(-3deg);
   -o-transform:rotate(-3deg);
   transform:rotate(-3deg);
}
.drop-shadow:after{
   right:10px;
   left:auto;
   -webkit-transform:rotate(3deg);
   -moz-transform:rotate(3deg);
   -o-transform:rotate(3deg);
   transform:rotate(3deg);
 }</pre>
Lire aussi :</p>

<ul>
    <li>→ <a href="http://www.creativejuiz.fr/blog/les-tutoriels/ombre-avancees-avec-css3-et-box-shadow">Ombres avancées avec CSS3 et box-shadow</a> &#8212; Tutoriel très complet en français sur la mise en place d&#8217;ombres portées originales avec box-shadow.</li>
    <li>→ <a href="http://nimbupani.com/drop-shadows-with-css3.html">Drop Shadows with CSS3</a>,</li>
    <li>→ <a href="http://matthamm.com/box-shadow-curl.html">Pure CSS3 box-shadow page curl effect</a>.</li>
    <li>→ <a rel="bookmark" href="http://css4design.com/des-bulles-de-dialogue-en-css3-sans-image">Des bulles de dialogue en CSS3 sans image</a></li>
</ul>

<h2>7. Feuille de style spécialisées pour les mobiles</h2>

<p>[ <a href="http://www.alsacreations.com">Alsacréations</a> ] <a href="http://www.alsacreations.com/astuce/lire/1177-une-feuille-de-styles-de-base-pour-le-web-mobile.html">Une feuille de styles de base pour le Web mobile</a> &#8212; Raphaël nous propose un exemple de feuille de style CSS pour les médias mobiles qui condense les bonnes pratiques à respecter :</p>

<ul>
    <li>Fixer le <em>Viewport</em>,</li>
    <li>Passer tous les éléments de largeur fixe en largeur automatique,</li>
    <li>Fixer une largeur maximale  de 100 % aux éléments potentiellement problématiques,</li>
    <li>Gérer les mots longs,</li>
    <li>Passer à une seule colonne,</li>
    <li>Masquer les éléments superflus,</li>
    <li>Afficher un message personnalisé.</li>
</ul>

<p>→ Lire aussi <a href="http://www.alsacreations.com/astuce/lire/1160-une-feuille-de-styles-de-base-pour-le-media-print.html">Une feuille de styles de base pour le media print</a>.</p>

<h2>8. «Faire avec» Internet Explorer</h2>

<p>[ <a href="http://www.designyourway.net">Design your way</a> ] <a href="http://www.designyourway.net/blog/resources/internet-explorer-in-a-web-designers-life-problems-and-solutions/">Internet Explorer In A Web Designer’s Life – Problems And Solutions</a> &#8211;De plus en plus de développeurs et d&#8217;intégrateurs web déclarent ne plus prendre en charge IE6 dans leur projet de développement. Si ce n&#8217;est pas votre cas, sachez qu&#8217;il existe des outils pour se faciliter la vie avec le dernier de la classe (IE6) en particulier et Internet Explorer d&#8217;une manière générale. Via @_jiann.</p>

<h3>Outils d&#8217;aide au développement</h3>

<ul>
    <li><a href="http://www.google.com/chromeframe/">Google Chrome Frame</a></li>
    <li><a href="http://www.debugbar.com/">DebugBar</a></li>
    <li><a href="http://www.my-debugbar.com/wiki/CompanionJS/HomePage">CompanionJS</a></li>
    <li><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535">Internet Explorer Developer Toolbar</a></li>
    <li><a href="http://www.fiddler2.com/fiddler2/">Fiddler</a></li>
    <li><a href="http://www.httpwatch.com/">HttpWatch</a></li>
    <li><a href="http://www.visionaustralia.org.au/ais/toolbar/">Web Accessibility Toolbar</a></li>
    <li><a href="http://www.bayden.com/TamperIE/">TamperIE</a></li>
</ul>

<h3>Scripts</h3>

<ul>
    <li><a href="http://code.google.com/p/ie7-js/">IE7.js Javascript library</a></li>
    <li><a href="http://selectivizr.com/">Selectivizr</a></li>
    <li><a href="http://code.google.com/p/curved-corner/">Rounded corner HTML elements using CSS3</a></li>
    <li><a href="http://fetchak.com/ie-css3/">CSS3 support for Internet Explorer 6, 7, and 8</a></li>
    <li><a href="http://www.smashingmagazine.com/2010/04/28/css3-solutions-for-internet-explorer/">CSS3 Solutions for Internet Explorer</a></li>
</ul>

<h3>Outils CSS3 /HTML5</h3>

<ul>
    <li><a href="http://css3pie.com/">CSS3Pie</a></li>
    <li><a href="http://transformie.com/">transformIE</a></li>
    <li><a href="http://code.google.com/p/html5shiv/">html5shiv</a></li>
    <li><a href="http://www.iecss.com/print-protector/">IE Print Protector</a></li>
    <li><a href="http://www.iecss.com/">Internet Explorer User Agent Style Sheets</a></li>
    <li><a href="http://www.modernizr.com/">Modernizr</a></li>
    <li><a href="http://msfast.myspace.com/">MySpace’s Performance Tracker</a></li>
    <li><a href="http://labs.unitinteractive.com/unitpngfix.php">Unit PNG Fix</a></li>
    <li><a href="http://code.google.com/p/explorercanvas/">ExplorerCanvas</a></li>
</ul>

<h3>Tester votre site</h3>

<ul>
    <li><a href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a></li>
    <li><a href="http://ipinfo.info/netrenderer/">IE NetRenderer</a></li>
    <li><a href="http://browsershots.org/">Browsershots</a></li>
</ul>

<h3>Articles et discussions</h3>

<ul>
    <li><a href="http://css-tricks.com/why-people-still-use-ie-6/">Why People Still Use IE 6</a></li>
    <li><a href="http://people.mozilla.com/%7Eprouget/ie9/">Is IE9 a modern browser?</a></li>
    <li><a href="http://css-tricks.com/ie-css-bugs-thatll-get-you-every-time/">IE CSS Bugs That’ll Get You Every Time</a></li>
    <li><a href="http://www.dave-woods.co.uk/index.php/ie6-css-bugs-and-fixes-explained/">IE6 – CSS Bugs and Fixes Explained</a></li>
</ul>

<p>→ Lire aussi les articles tagués <a href="http://css4design.com/tag/internet-explorer">Internet Explorer</a>, <a href="http://css4design.com/tag/ie6">IE6</a> et <a href="http://css4design.com/tag/commentaires-conditionnels">commentaires conditionnels</a>.</p>

<h2>9. Compatibilité CSS et Internet Explorer</h2>

<p>[ <a href="http://msdn.microsoft.com">msdn</a> ] <a href="http://msdn.microsoft.com/library/cc351024.aspx">Compatibilité CSS et Internet Explorer</a> &#8212; Si votre site Web est destiné à être utilisé avec certaines anciennes versions d&#8217;Internet Explorer, vous devez connaître leur niveau de conformité à la spécification CSS. Cette article contient une vue synthétique des spécifications CSS prises en charge dans les versions récentes d&#8217;Internet Explorer et dans Internet Explorer 8.</p>

<h2>10. Apprendre Photoshop en vidéo</h2>

<p>[ <a href="http://www.lifehacker.com.au">Lifehacker </a>] <a href="http://www.lifehacker.com.au/2011/02/learn-the-basics-of-photoshop-the-complete-guide/">Learn The Basics Of Photoshop: The Complete Guide</a> &#8212; Un dossier composé de textes et de vidéos sur l&#8217;apprentissage des bases de Photoshop en cinq parties distinctes et complémentaires :</p>

<ol>
    <li><a href="http://www.lifehacker.com.au/2011/02/learn-the-basics-of-photoshop-in-under-25-minutes/">Learn The Basics Of Photoshop In Under 25 Minutes</a>,</li>
    <li><a href="http://www.lifehacker.com.au/2011/02/basics-of-photoshop-colour-correction-touch-ups-and-enhancements/">Basics Of Photoshop: Colour Correction, Touch Ups And Enhancements</a>,</li>
    <li><a href="http://www.lifehacker.com.au/2011/02/basics-of-photoshop-basic-drawing-and-layouts/">Basics Of Photoshop: Basic Drawing With The Pen Tool</a>,</li>
    <li><a href="http://www.lifehacker.com.au/2011/02/basics-of-photoshop-designing-a-website/">Basics Of Photoshop: Designing A Website</a>,</li>
    <li><a href="http://www.lifehacker.com.au/2011/02/basics-of-photoshop-next-steps-and-further-resources/">Basics Of Photoshop: Next Steps And Further Resources</a>.</li>
</ol>

<p>→ Lire aussi <a rel="bookmark" href="../detourer-les-cheveux-avec-photoshop">Détourer les cheveux avec Photoshop</a></p>

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

<ul class='related_post'><li><a href='http://css4design.com/livre-css-avancees-vers-html5-et-css3' title='Notes de lecture &#8212; Livre CSS avancées, vers HTML5 et CSS3'>Notes de lecture &#8212; Livre CSS avancées, vers HTML5 et CSS3</a></li><li><a href='http://css4design.com/le-petit-journal-du-web-janvier-2011-typographie-css-photoshop-et-developpement-web' title='Le petit journal du Web &#8212; Janvier 2011 (Typographie, CSS, Photoshop et développement web)'>Le petit journal du Web &#8212; Janvier 2011 (Typographie, CSS, Photoshop et développement web)</a></li><li><a href='http://css4design.com/le-petit-journal-de-l-integrateur-web-html5-et-css' title='HTML5 et CSS pour l&#039;intégrateur web'>HTML5 et CSS pour l&#039;intégrateur web</a></li><li><a href='http://css4design.com/interviews-bruno-bichet-integration-html-css-design' title='Interviews Bruno Bichet, intégration web et css 4 design de 2007 à nos jours'>Interviews Bruno Bichet, intégration web et css 4 design de 2007 à nos jours</a></li><li><a href='http://css4design.com/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &#038; CSS</a></li></ul>
 <p><a href="http://css4design.com/?flattrss_redirect&amp;id=9182&amp;md5=2093bf1e01239eec5271be2ad253b881" title="Flattr" target="_blank"><img src="http://css4design.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css4design.com/le-petit-journal-du-web-fevrier-2011/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<atom:link rel="payment" href="http://css4design.com/?flattrss_redirect&amp;id=9182&amp;md5=2093bf1e01239eec5271be2ad253b881" type="text/html" />
	</item>
		<item>
		<title>Rétablir le flux après des éléments flottants en CSS sans balise HTML supplémentaire</title>
		<link>http://css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire</link>
		<comments>http://css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire#comments</comments>
		<pubDate>Tue, 26 Feb 2008 21:14:45 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Intégration web]]></category>
		<category><![CDATA[Clear]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DIV]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[Flottants]]></category>
		<category><![CDATA[HR]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire</guid>
		<description><![CDATA[Il y a quelques temps, je m&#8217;étais interrogé sur les différentes manières de rétablir le flux après un float. A l&#8217;époque, mon vocabulaire en la matière était rustique mais solide : je contentais souvent d&#8217;un coup de clear: both appliqué soit à une balise div, hr ou br. Comme j&#8217;en ai appris un peu plus sur le clearing suite aux commentaires qui ont suivi, j&#8217;assure le service après-vente, ce qui fait de moi une espèce de Darty Monsieur Plus du CSS&#8230;  Pour &#171;&#160;clearer&#160;&#187; les &#171;&#160;float&#160;&#187;, j&#8217;utilise désormais en première intention un overflow: hidden dont j&#8217;applique soigneusement la pommade sur le [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 18px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcss4design.com%2Fretablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcss4design.com%2Fretablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire&amp;source=br1o&amp;style=normal&amp;service=bit.ly&amp;service_api=R_0c1ee4b64f105d1b2672690740a77d6a&amp;b=2" height="61" width="50" />
			</a>
		</div><p>Il y a quelques temps, je m&#8217;étais interrogé sur les différentes manières de <a href="http://www.css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div">rétablir le flux après un float</a>. A l&#8217;époque, mon vocabulaire en la matière était rustique mais solide : je contentais souvent d&#8217;un coup de <samp>clear: both</samp> appliqué soit à une balise <samp>div</samp>, <samp>hr</samp> ou <samp>br</samp>. Comme j&#8217;en ai appris un peu plus sur le <em>clearing</em> suite aux commentaires qui ont suivi, j&#8217;assure le service après-vente, ce qui fait de moi une espèce de <del>Darty</del> Monsieur Plus du CSS&#8230; <span id="more-206"></span></p>

<p>Pour &laquo;&nbsp;clearer&nbsp;&raquo; les &laquo;&nbsp;float&nbsp;&raquo;, j&#8217;utilise désormais en première intention un <samp>overflow: hidden</samp> dont j&#8217;applique soigneusement la pommade sur le bloc qui contient les éléments flottants de manière à créer un <a href="http://www.blog-and-blues.org/articles/Float,_clear_et_contextes_de_formatage">contexte de formatage</a>, le tout agrémenté d&#8217;une pincée de <em>Ouidzzz !</em>, de <em>Zzoum !</em> ou de <em>Héiiiitt&#8230;</em> pour IE6 qui a besoin d&#8217;un petit câlin pour déclencher son <del>fumeux</del> fameux <a href="http://forum.alsacreations.com/faq/faq-91-Qu039est-ce-que-le-HasLayout-et-comment-l039utiliser.html">hasLayout</a> sur lequel vous trouverez tout ce qu&#8217;il faut savoir chez <a href="http://www.blog-and-blues.org/">blog-and-blues</a> qui a mené de <a href="http://www.blog-and-blues.org/tests/">nombreux tests XHTML et CSS</a> sur le sujet.</p>

<p>Voici quelques exemples de code que j&#8217;utilise pour rétablir le flux :</p>

<h2>Avec overflow: hidden</h2>

<p><pre>.container-with-overflow {
    overflow: hidden;
    height: 1%;
}</pre>
La propriété <samp>height: 1%</samp> peut être remplacée par <samp>zoom: 1;</samp> pour déclencher le <em>hasLayout</em> dans IE 6, à servir de préférence dans une feuille de style inclue à l&#8217;aide d&#8217;un <a href="http://www.css4design.com/commentaires-conditionnels-d-internet-explorer-vs-hacks-css">commentaire conditionnel</a>. A noter que IE7 &laquo;&nbsp;comprend&nbsp;&raquo; l&#8217;overflow (ce qui peut permettre de cibler uniquement IE6 dans ce cas-là). Notez que <samp>zoom: 1;</samp> est une propriété &laquo;&nbsp;propriétaire&nbsp;&raquo; de IE qui ne passe pas le validateur.</p>

<h2>Avec la pseudo-classe :after</h2>

<p><pre>.container-with-generated-content {
    height: 1%;
}
.container-with-generated-content:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}</pre>
Vous avez remarqué que le <samp>height: 1%</samp> (ou <samp>zoom: 1</samp>) est toujours nécessaire pour déclencher le <em>hasLayout</em> chez IE 6 et IE 7 (et oui, ce dernier ne &laquo;&nbsp;comprend&nbsp;&raquo; pas la pseudo-classe <samp>:after</samp>&#8230;</p>

<p>Pourquoi présenter deux méthodes ? Simplement parce que si on utilise <samp>overflow: hidden</samp> pour déclencher le contexte de formatage, il ne pert pas pour autant sa fonction première : masquer le contenu qui dépasse d&#8217;un bloc. C&#8217;est souvent très pratique, par exemple lorsqu&#8217;on ne veut pas trop se soucier de la largeur des images, mais parfois très ennuyeux lorsque le bloc en question doit inclure un menu déroulant, car ce dernier risque d&#8217;être masqué lui aussi&#8230;</p>

<h2>En faisant flotter le container lui aussi !</h2>

<p>Une troisième méthode consiste à donner une largeur de 100% à l&#8217;élément <em>container</em> et à le faire flotter lui aussi :
<pre>.container-with-float {
    float: left;
    width: 100%;
}</pre>
Est-ce la fin des anciennes méthodes ? C&#8217;est bien possible, même si dans la plupart des cas, le <samp>clear: both</samp> appliqué à une balise <samp>hr</samp> ou <samp>br</samp> peut se justifier, vu que généralement lorsqu&#8217;on a besoin de rétablir le flux, c&#8217;est qu&#8217;il y a une légère rupture sémantique qui peut être rendu par une ligne horizontale (peut-être moins un <samp>br</samp>, mais bon&#8230;). Disons que le test est simple : si en l&#8217;absence de CSS, les lignes <samp>hr</samp> ont l&#8217;air d&#8217;être posées comme un cheveu sur la soupe, c&#8217;est qu&#8217;il n&#8217;y en a pas besoin ;)</p>

<p>Pour en savoir plus sur les avantages et inconvénients de ces trois techniques, je vous invite à jeter un oeil chez <a href="http://www.robertnyman.com/2007/04/12/how-to-clear-css-floats-without-extra-markup-different-techniques-explained/">Robert Nyman</a> et chez <a href="http://www.covertprestige.net/">Florent Verschelde</a> pour tout savoir sur les <a href="http://web.covertprestige.info/test/31-marges-et-contexte-de-formatage.html">marges et contexte de formatage</a>.</p>

<h2>Clearfix reloaded ! (màj du 23/02/2011)</h2>

<p>Voici une nouvelle méthode pour le clearing permettant de mieux gérer la fusion des marges (cf.<a href="http://www.yuiblog.com/blog/2010/09/27/clearfix-reloaded-overflowhidden-demystified/"> Clearfix Reloaded + overflow:hidden Demystified</a>) :
<pre>.clearfix:before,
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    overflow: hidden;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }</pre>
Une variante utilisée dans <a href="http://fr.html5boilerplate.com/">HTML5 Boilerplate</a>. Notez le remplacement de la propriété <code>overflow: hidden</code> par <code>visibility: hidden</code> :
<pre>.clearfix:before,
.clearfix:after {
    content: "\0020";
    display: block;
    height: 0;
    visibility: hidden;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }</pre>
L&#8217;absence de la propriété <code>overflow: hidden</code> peut entrainer des problèmes d&#8217;espaces au-dessus de certains éléments. Pour y remédier, il est possible d&#8217;utiliser :
<pre>.clearfix2:before,
.clearfix2:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden;
}
.clearfix2:after { clear: both; }
.clearfix2 { zoom: 1; }</pre></p>

<h2>Quelques liens</h2>

<ul>
    <li>Très bonne analyse de Florent Verschelde en quatre parties sur les problèmes liés à l&#8217;utilisation des flottants. De nombreux exemples avec capture d&#8217;écran pour montrer les problèmes rencontrés sur les différents navigateurs :
<ol>
    <li><a href="http://web.covertprestige.info/test/03-elements-flottants-et-element-parent-1.html">Exposé du problème</a></li>
    <li><a href="http://web.covertprestige.info/test/03-elements-flottants-et-element-parent-2.html">Exemples avec un élément parent de largeur fixe, et exposé des solutions disponibles</a></li>
    <li><a href="http://web.covertprestige.info/test/03-elements-flottants-et-element-parent-3.html">Exemples avec un élément parent sans largeur fixe (non doté du layout)</a></li>
    <li><a href="http://web.covertprestige.info/test/03-elements-flottants-et-element-parent-4.html">Pour IE Win : divers moyens de doter l&#8217;élément parent du layout</a></li>
</ol>
</li>
    <li><a href="http://remiprevost.com/2007/09/clearer-des-floats-sans-elementsuperflu">Clearer des floats sans élément superflu</a></li>
    <li> <a href="http://www.robertnyman.com/2007/04/12/how-to-clear-css-floats-without-extra-markup-different-techniques-explained/"><strong>How to clear CSS floats without extra markup &#8211; different techniques explained</strong></a> &#8212; Le site sur lequel j&#8217;ai copié-collé les exemples pour illustrer cet article. Des explications concises et efficaces.</li>
    <li><a href="http://www.ejeliot.com/59"><strong>Methods for Containing Floats</strong></a> &#8212; Contient des tableaux récapitulatifs des différentes méthodes de clearing et leur support par les navigateurs. Un <em>must-read</em>.</li>
    <li><a href="http://www.positioniseverything.net/easyclearing.html">How To Clear Floats Without Structural Markup</a></li>
    <li><a href="http://www.complexspiral.com/publications/containing-floats/">Containing Floats</a></li>
    <li><a href="http://www.satzansatz.de/cssd/rpfloat.html">IE/Win: relatively positioned parent and floated child – disappearance</a></li>
    <li><a href="http://www.456bereastreet.com/archive/200603/new_clearing_method_needed_for_ie7/">New clearing method needed for IE7?</a></li>
</ul>

<h3>Pour la route&#8230;</h3>

<p>J&#8217;en profite pour vous annoncer que la <a href="http://css.developpez.com/tutoriels/retablissement-flux/">première partie</a> de ce billet est également disponible sur le portail <a href="http://www.developpez.com/">developpez.com</a>, dans <a href="http://css.developpez.com/">la rubrique CSS</a> \o/</p>

<p>Developpez.com, c&#8217;est LE site de référence pour tout ce qui concerne les techniques de programmation. Je vous conseille tout particulièrement l&#8217;excellent <a href="http://giminik.developpez.com/xhtml/">outil XHTML développé par giminik</a> (Matthieu Petiot) pour connaitre la hiérarchie des éléments et les imbrications autorisées par les spécifications.</p>

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

<ul class='related_post'><li><a href='http://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div' title='Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?'>Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?</a></li><li><a href='http://css4design.com/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://css4design.com/resolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas' title='[résolu] Les folles journées de l&#039;intégrateur HTML et ses petits tracas&#8230;'>[résolu] Les folles journées de l&#039;intégrateur HTML et ses petits tracas&#8230;</a></li><li><a href='http://css4design.com/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &#038; CSS</a></li><li><a href='http://css4design.com/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></ul>
 <p><a href="http://css4design.com/?flattrss_redirect&amp;id=206&amp;md5=c77880ff449b9d5d1abd0246a9c51f57" title="Flattr" target="_blank"><img src="http://css4design.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		<atom:link rel="payment" href="http://css4design.com/?flattrss_redirect&amp;id=206&amp;md5=c77880ff449b9d5d1abd0246a9c51f57" type="text/html" />
	</item>
		<item>
		<title>[résolu] Les folles journées de l&#039;intégrateur HTML et ses petits tracas&#8230;</title>
		<link>http://css4design.com/resolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas</link>
		<comments>http://css4design.com/resolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas#comments</comments>
		<pubDate>Sun, 16 Sep 2007 03:53:53 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[3615 MyLife]]></category>
		<category><![CDATA[Clear]]></category>
		<category><![CDATA[Couleur]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[GIF]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=122</guid>
		<description><![CDATA[Le quotidien de l&#8217;intégrateur HTML est parfois assombri par la survenance de bugs plus ou moins gênants. Ces derniers jours, je me suis débattu avec un décalage de couleur entre une image au format png et un fond spécifié en hexadécimal. Et comme si ça ne suffisait pas, Internet Explorer et Firefox n&#8217;ont pas aimés que je débute l&#8217;intitulé d&#8217;un identifiant avec un underscore ! Pfff&#8230; Pour finir si l&#8217;utilisation de overflow: hidden pour clearer les float est une bonne idée, cette propriété peut avoir des effets de bord indésirables. Enfin, voyons ça de plus près : Le png c&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 18px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcss4design.com%2Fresolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcss4design.com%2Fresolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas&amp;source=br1o&amp;style=normal&amp;service=bit.ly&amp;service_api=R_0c1ee4b64f105d1b2672690740a77d6a&amp;b=2" height="61" width="50" />
			</a>
		</div><p>Le quotidien de l&#8217;intégrateur HTML est parfois assombri par la survenance de bugs plus ou moins gênants. Ces derniers jours, je me suis débattu avec un décalage de couleur entre une image au format png et un fond spécifié en hexadécimal. Et comme si ça ne suffisait pas, Internet Explorer et Firefox n&#8217;ont pas aimés que je débute l&#8217;intitulé d&#8217;un identifiant avec un <em>underscore</em> ! Pfff&#8230; Pour finir si l&#8217;utilisation de <samp>overflow: hidden</samp> pour <em>clearer les float</em> est une bonne idée, cette propriété peut avoir des effets de bord indésirables. Enfin, voyons ça de plus près :<span id="more-129"></span></p>

<h3>Le png c&#8217;est bien, mais le gif c&#8217;est mieux !</h3>

<p>J&#8217;ai tenté en vain de raccorder le fond d&#8217;une image avec la couleur équivalente en hexadécimal à cause d&#8217;une légère différence de teinte qui n&#8217;avait pas lieu d&#8217;être : les valeurs entre la couleur sélectionnée avec la pipette de Photoshop et celle que j&#8217;indiquais dans ma feuille de style étaient identiques.</p>

<p>Puis j&#8217;ai eu l&#8217;idée de modifier le format du fond en passant du <acronym title="Portable Network Graphics">png</acronym> au <acronym title="Graphics Interchange Format">gif</acronym>. Et là, bingo, mes deux couleurs se sont raccordées sans solution de continuité. Je précise que ce léger problème n&#8217;apparaissait que sur <em>IE6</em>, <em>Firefox</em> et <em>Opera</em> me restituant les bonnes teintes.</p>

<p>Toutefois si vous désirez absolument conserver le format <em>png</em> vous pouvez lire <a href="http://forum.alsacreations.com/topic.php?fid=1&amp;tid=14996&amp;s=png+optimizer" hreflang="fr">ce fil du forum Alsacréations</a> qui décrit le même phénomène avec une solution logicielle : <a href="http://www.antp.be/PNG/tweakpng/" hreflang="fr">tweakpng</a> pour enlever les informations liées au réglage du Gamma.</p>

<p>Ca me rappelle que le même phénomène se produit lorsqu&#8217;on veut raccorder certaines couleurs présentes dans une animation Flash avec une couleur en <em>hexa</em> dans le code HTML. Je me demande si le fait que Flash utilise le format <em>png</em> n&#8217;en serait pas la raison. Si des adeptes de Flash passent par ici j&#8217;aimerais bien savoir comment ils gèrent ce problème.</p>

<h3>Ne débutez pas un <samp>id</samp> avec un <em>underscore</em>, car IE6 et Firefox n&#8217;aiment pas ça</h3>

<p>C&#8217;est typiquement le genre de truc qu&#8217;il vaut mieux vérifier avant d&#8217;appeler SOS médecin : j&#8217;en ai fait l&#8217;amère expérience il y a peu. C&#8217;est assez curieux car <a href="http://www.yoyodesign.org/doc/w3c/css2/syndata.html#q4" hreflang="fr">les spécifications</a> autorisent bien l&#8217;usage du souligné et du tiret pour les identificateurs et les classes&#8230;</p>

<blockquote cite="http://www.yoyodesign.org/doc/w3c/css2/syndata.html#q4"> En CSS2, les identificateurs (ainsi que les noms des éléments et ceux des classes et IDs des sélecteurs) ne peuvent contenir que des caractères parmi [A-Za-z0-9] et ISO 10646 supérieurs à 161, ainsi que le tiret (-) et le souligné (_) ; ils ne peuvent commencer ni par un tiret ni par un chiffre.</blockquote>

<p>Donc, si j&#8217;ai bien lu : le tiret (-) est autorisé sauf au début, tandis que le souligné (_) est valide partout. Peut-être un excès de zèle de la part des navigateurs ?</p>

<h3><samp>overflow: hidden</samp> : cachez ce menu que je ne saurais voir</h3>

<p>Lorsqu&#8217;on utilise la propriété <em>float</em> pour placer du contenu à gauche ou à droite d&#8217;un élément, il est souvent nécessaire de rétablir le flux, pour celà, on peut utiliser <samp>clear: left|right|both</samp> pour éviter que le bloc en question ait des voisins à gauche, à droite ou des deux côtés. Ce <em>clear</em> peut également être utilisé sur un élément HTML comme <samp>hr</samp>, <samp>br</samp> ou <samp>div</samp>.</p>

<p>Suite à mon billet sur la question du <a href="http://www.css4design.com/index.php/2007/06/22/104-pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div" hreflang="fr">rétablissement du flux après un float</a>, j&#8217;ai eu l&#8217;occasion de redécouvrir la propriété <samp>overflow: hidden|visibble|auto</samp> qui, en plus de gérer le débordement du contenu d&#8217;un élément, permet de créer un <a href="http://www.blog-and-blues.org/articles/Float,_clear_et_contextes_de_formatage" hreflang="fr">contexte de formatage</a> qui a les mêmes conséquences que <samp>clear: both</samp> pour rétablir le flux.</p>

<p>Aussitôt lu, aussitôt testé avec succès, je commençais à me servir d&#8217;<samp>overflow: hidden</samp> quand je me suis rendu compte que la conséquence évoquée plus haut n&#8217;annulait pas sa fonction première : rendre visible ou pas le débordement d&#8217;un élément contenu dans un bloc auquel on applique <samp>overflow: hidden</samp>.</p>

<p>En effet, si l&#8217;on a un menu déroulant en <samp>position: absolute</samp> dans un bloc dont un ancêtre possède <samp>overflow: hidden</samp> et si la hauteur de cette ancêtre est inférieure à la hauteur du menu déroulant en question, ce dernier est coupé dans les limites de l&#8217;ancêtre&#8230; Voir à se sujet le <a href="http://remiprevost.com/2007/09/clearer-des-floats-sans-elementsuperflu" hreflang="fr">billet de Rémi Prévost</a> et les commentaires associés.</p>

<p>Hum&#8230; j&#8217;espère que c&#8217;est plus simple à comprendre qu&#8217;à expliquer ;)</p>

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

<ul class='related_post'><li><a href='http://css4design.com/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><li><a href='http://css4design.com/opacite-avec-css-et-effet-de-trame-avec-un-gif-transparent' title='Opacité CSS et effet de trame avec GIF/PNG transparent'>Opacité CSS et effet de trame avec GIF/PNG transparent</a></li><li><a href='http://css4design.com/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://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div' title='Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?'>Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?</a></li><li><a href='http://css4design.com/ameliorations-cosmetiques-et-ergonomiques-sur-ce-blog' title='Améliorations cosmétiques et ergonomiques sur ce blog'>Améliorations cosmétiques et ergonomiques sur ce blog</a></li></ul>
 <p><a href="http://css4design.com/?flattrss_redirect&amp;id=129&amp;md5=df0383789e093e4690146004ce76b8eb" title="Flattr" target="_blank"><img src="http://css4design.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css4design.com/resolu-les-folles-journees-de-l-integrateur-html-et-ses-petits-tracas/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" href="http://css4design.com/?flattrss_redirect&amp;id=129&amp;md5=df0383789e093e4690146004ce76b8eb" type="text/html" />
	</item>
		<item>
		<title>Pour rétablir le flux après un float, vous êtes plutôt HR, BR ou DIV ?</title>
		<link>http://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div</link>
		<comments>http://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div#comments</comments>
		<pubDate>Fri, 22 Jun 2007 00:02:06 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Commentaires conditionnels]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DIV]]></category>
		<category><![CDATA[Float]]></category>
		<category><![CDATA[Flottants]]></category>
		<category><![CDATA[HR]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.css4design.com/blog-reloaded/?p=103</guid>
		<description><![CDATA[Dans le prolongement du billet précédent concernant une mise en pages CSS avec la propriété float, je me suis intéressé aux différentes manières de styler la balise hr pour rétablir le flux après en avoir sorti des éléments en les faisant flotter à gauche ou à droite. J&#8217;utilise généralement hr avec le traditionnel clear: both et visibility: hidden et je jongle ensuite avec les marges ou la hauteur pour espacer les éléments. Or, depuis que j&#8217;utilise le reset.css d&#8217;Eric Meyer, j&#8217;ai tendance à supprimer les marges de tout ce qui bouge, mais cette chère règle horizontale reste récalcitrante à la [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 18px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcss4design.com%2Fpour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fcss4design.com%2Fpour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div&amp;source=br1o&amp;style=normal&amp;service=bit.ly&amp;service_api=R_0c1ee4b64f105d1b2672690740a77d6a&amp;b=2" height="61" width="50" />
			</a>
		</div><p>Dans le prolongement du billet précédent concernant une <a hreflang="fr" href="http://www.css4design.com/quelques-notes-autour-du-design-fluide-avec-3-colonnes-du-collectif-alsacreations">mise en pages CSS avec la propriété float</a>, je me suis intéressé aux différentes manières de styler la balise <em>hr</em> pour rétablir le flux après en avoir sorti des éléments en les faisant flotter à gauche ou à droite. J&#8217;utilise généralement <em>hr</em> avec le traditionnel  <em>clear: both</em> et <em>visibility: hidden</em> et je jongle ensuite avec les marges ou la hauteur pour espacer les éléments. Or, depuis que j&#8217;utilise le <a hreflang="en" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">reset.css</a> d&#8217;Eric Meyer, j&#8217;ai tendance à supprimer les marges de tout ce qui bouge, mais cette chère <em>règle horizontale</em> reste récalcitrante à la remise à zéro <em>cross browser</em>&#8230;<span id="more-106"></span></p>

<h3>Un HR cross-browser cachère</h3>

<p>Il existe heureusement des solutions pour palier les insuffisances du dernier de la classe. <a hreflang="fr" href="http://forum.alsacreations.com/faq/faq-63-Styler-la-balise-lthr-gt-sous-Internet-Explorer.html">L&#8217;une d&#8217;entre elles</a> repose sur l&#8217;application d&#8217;un <em>margin-top</em> et <em>margin-bottom</em> négatif :</p>

<p>hr {
height: 1px;
margin: -0.5em 0;
padding: 0;
color: #F00;
background-color: #F00;
border: 0;
}</p>

<p>J&#8217;ajoute à celà les propriétés <em>clear: both</em> et <em>visibility: hidden</em>, je mets la hauteur à zéro et je supprime les couleurs pour obtenir un <em>spacer</em> de bon aloi. Les valeurs de <em>margin</em> ne convenant pas dans mon cas, j&#8217;ai tâtonné pour trouver une valeur satisfaisante :
<pre>hr {
     height: 0;
     margin: -1.2ex 0;
     padding: 0;
     border: 0;
     clear: both;
     visibility: hidden;
 }</pre>
Une autre solution trouvée cette fois sur <a hreflang="fr" href="http://www.ultra-fluide.com/ressources/css/css-hacks.htm#hr">ultra-fluide</a> transforme le <em>hr</em> en bloc pour mieux maitriser son comportement dans le but de créer une ligne rouge horizontale de 1 pixel d&#8217;épaisseur sans marge :
<pre>hr {
     display:  block;
     height: 1px;
     margin: 0;
     _margin: -7px 0;
     padding: 0;
     color: #F00;
     background-color: #F00;
     border: 0;
 }</pre>
Pour mes besoins, j&#8217;applique la recette précédente :
<pre>hr {
     display: block;
     height: 0;
     margin: 0;
     _margin: -7px 0;
     padding: 0;
     border: 0;
     visibility: hidden;
 }</pre>
Il y a bien ce <em>_margin</em> qui peut être gênant, mais il reste toujours la possibilité de le caser dans une feuille de style dédiée à IE avec les <a hreflang="fr" href="http://www.css4design.com/commentaires-conditionnels-d-internet-explorer-vs-hacks-css">commentaires conditionnels</a>.</p>

<p>La différence avec la méthode précédente est qu&#8217;une fois transformé en <em>block</em> (l&#8217;auteur de l&#8217;astuce ayant habilement déterminé que le <em>hr</em> se comportait par certains côtés comme un élément en ligne) le <em>margin: 0</em> suffit à supprimer les marges pour les navigateurs modernes. le <em>_margin: -7px 0</em> s&#8217;adressant plus spécifiquement à IE6. Reste à savoir comment se comporte IE7 dans les mêmes circonstances.</p>

<h4>Deux, c&#8217;est trop</h4>

<p>Ces deux techniques fonctionnent assez bien pour donner le même rendu aux traits horizontaux ou pour rétablir le flux. Malheureusement pour moi, j&#8217;ai deux blocs imbriqués contenant des <em>float: left</em> et <em>float: right</em>, ce qui implique deux <em>hr</em> l&#8217;un en dessous de l&#8217;autre :
<pre>             &lt;/div&gt;&lt;!-- end .pix --&gt;
             &lt;hr class="spacer" /&gt;
         &lt;/div&gt;&lt;!-- end .contents --&gt;
         &lt;hr class="spacer" /&gt;
     &lt;/div&gt;&lt;!-- end #container --&gt; &lt;/body&gt;</pre>
Ces deux <em>hr</em> successifs m&#8217;ennuient (un peu) car en l&#8217;absence de prise en charge des feuilles de style, je me retrouve avec deux vilains traits de séparation. Et puis, si je me suis mis à utiliser le <em>reset.css</em>, c&#8217;est pour éviter au maximum d&#8217;utiliser des CSS spécifiques à certains navigateurs, alors, bon&#8230;</p>

<p>Je tiens à préciser que j&#8217;utilise généralement <em>clear: both</em> sur le blocs eux-mêmes au lieu de créer un <em>spacer</em> superflu. Mais curieusement, les blocs en question se retrouvaient sous les colonnes latérales&#8230; la technique utilisée pour créer les colonnes latérales reposant également sur la propriété <em>float</em>, j&#8217;ai le sentiment qu&#8217;au bout d&#8217;un moment on se retrouve dans la situation où il devient interdit d&#8217;interdire à un bloc d&#8217;avoir des voisins à droite ou à gauche : les <em>spacers</em> indépendants deviennent indispensables.</p>

<h4>C&#8217;était mieux avant ?</h4>

<p>Avant d&#8217;utiliser les <em>hr</em> pour rétablir le flux, j&#8217;utilisais une <samp>&lt;div class=&nbsp;&raquo;spacer&nbsp;&raquo;&gt;&lt;/div&gt;</samp> qui fonctionnait furieusement bien malgré l&#8217;absence de sémantique associée :x</p>

<h3>Styler la balise BR</h3>

<p>J&#8217;ai essayé d&#8217;utiliser la balise <em>br</em> en lui associant un <em>clear: both</em>. Tout a l&#8217;air de fonctionner, mais si le flux est bien rétabli sous Firefox, IE6 ne passe pas le test de la bordure : elle n&#8217;encadre pas l&#8217;ensemble de la <em>div</em> comme si un <em>clear: both</em> n&#8217;avait pas d&#8217;effet sur un <em>br</em>&#8230;</p>

<p>C&#8217;est dommage parce que lorsqu&#8217;il s&#8217;agit simplement de rétablir le flux et non de créer une séparation entre deux contenus, cette balise <em>br</em> aurait presque été sémantique : un retour à la ligne&#8230; Que demander de mieux (oué, que ça fonctionne sous IE6, je sais&#8230;) ?</p>

<p>Je garde cette solution sous le coude pour tests complémentaires. En attendant, j&#8217;ai trouvé sur <a hreflang="fr" href="http://www.dimension-internet.com/images/gabarits/2colsSidebar_rHeaderFooter.html">dimension-internet</a> un gabarit utilisant la balise <em>br</em> pour rétablir le flux :
<pre>br.clearfloat {
     clear: both;
     height: 0;
     font-size: 1px;
     line-height: 0px;
 }</pre></p>

<h3>La rustine</h3>

<p>En désespoir de cause, je me suis résolu à utiliser <samp>&lt;div class=&nbsp;&raquo;spacer&nbsp;&raquo;&gt;&lt;/div&gt;</samp> lorsqu&#8217;il s&#8217;agit seulement de rétablir le flux, et <samp>&lt;div class=&nbsp;&raquo;spacer&nbsp;&raquo;&gt;&lt;hr /&gt;&lt;/div&gt;</samp> lorsque j&#8217;ai besoin de séparer aussi des contenus :
<pre>.spacer {
     clear: both;
 }
.spacer hr {
     display: none;
 }</pre>
Ce n&#8217;est pas super <a hreflang="fr" href="http://microformateurs.org/">CHIC</a>, mais au moins la feuille de style est allégée et ne nécessite ni <em>hacks</em> ni commentaires conditionnels. Si j&#8217;utilise souvent ces derniers, ça m&#8217;ennuie de les mettre en place pour une ou deux déclarations seulement. Bien évidemment, j&#8217;utilise et je recommande fortement l&#8217;usage du <em>hr</em> pour rétablir le flux lorsqu&#8217;un espacement est souhaité entre deux blocs, ou mieux encore, l&#8217;application du <em>clear: both</em> sur les blocs eux-mêmes.</p>

<h3>Quelques mots sur la remise à zéro des éléments HTML</h3>

<p>Au cours de mes recherche sur <em>hr</em>, je suis tombé sur une intervention de Florent V. qui <a hreflang="fr" href="http://forum.alsacreations.com/posting.php?action=newp&amp;tid=25546&amp;fid=23&amp;p=1&amp;q=193535">fait part de ses réserves</a> quant à l&#8217;utilisation d&#8217;une remise à zéro des éléments. L&#8217;utilisation d&#8217;un <em>reset</em> présente selon lui deux écueils. D&#8217;une part, il serait facile d&#8217;oublier de styler une balise et d&#8217;autre part, il ne serait pas souhaitable de vouloir tout maîtriser : un peu de <em>lâcher prise</em> serait bienvenue.</p>

<p>Si je partage cette dernière opinion, je ne suis pas totalement d&#8217;accord avec la première : les balises HTML ne sont pas en nombre infini, et au pire, en cas d&#8217;oubli, il est facile de palier le problème. Pour ma part, en complément de <em>reset.css</em>, j&#8217;utilise un fichier <em>html.css</em> pour donner un nouveau style &laquo;&nbsp;par défaut&nbsp;&raquo; aux éléments HTML.</p>

<p>Ce fichier est similaire à la partie /* basics <em>/ de l&#8217;<a hreflang="fr" href="http://larlet.fr/css/style.css">exemple fourni</a> par <a hreflang="fr" href="http://www.biologeek.com/journal/">david larlet de biologeek</a>. Notons que la partie /</em> reset */ de ce fichier ne reprend qu&#8217;une partie du <a hreflang="en" href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">reset.css d&#8217;Eric Meyer</a>.</p>

<h4>Faire <em>reset</em>, c&#8217;est rigolo tout le temps ?</h4>

<p>Il y a évidemment des cas où l&#8217;utilisation d&#8217;un <em>reset</em> est à prendre avec des pincettes : lorsque vous intervenez sur une partie d&#8217;une page déjà construite, ou dans une moindre mesure, lorsque d&#8217;autres personnes sont susceptibles d&#8217;intervenir. Je ne conseillerais pas non plus l&#8217;utilisation de la remise à zéro dans le cadre d&#8217;une formation : si vous commencez l&#8217;étude des CSS, il vaut peut-être mieux connaître les bases avant de faire table rase ;)</p>

<h3>En guise de conclusion</h3>

<p>En tout état de cause, si la théorie nous dicte la bonne conduite à tenir, force est de constater que la pratique nous joue parfois des tours de cochons ^_^</p>

<p><strong>Mise à jour du 28/02/08 :</strong> la deuxième partie intitulée <a href="http://www.css4design.com/retablir-le-flux-apres-des-elements-flottants-en-css-sans-balise-html-supplementaire">Rétablir le flux après des éléments flottants en CSS sans balise HTML supplémentaire</a> vient de sortir.</p>

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

<ul class='related_post'><li><a href='http://css4design.com/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><li><a href='http://css4design.com/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://css4design.com/programme-formation-html-css' title='Quelques notes &#8212; Programme de formation HTML &amp; CSS'>Quelques notes &#8212; Programme de formation HTML &#038; CSS</a></li><li><a href='http://css4design.com/design-css-liquide-ou-fluide-encadre-d-images-repetees-sans-table' title='Design CSS liquide (ou fluide) encadré d&#039;images répétées&#8230; sans table'>Design CSS liquide (ou fluide) encadré d&#039;images répétées&#8230; sans table</a></li><li><a href='http://css4design.com/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></ul>
 <p><a href="http://css4design.com/?flattrss_redirect&amp;id=106&amp;md5=8f2fa813daaac67046d4ef2e92d03207" title="Flattr" target="_blank"><img src="http://css4design.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css4design.com/pour-retablir-le-flux-apres-un-float-vous-etes-plutot-hr-br-ou-div/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		<atom:link rel="payment" href="http://css4design.com/?flattrss_redirect&amp;id=106&amp;md5=8f2fa813daaac67046d4ef2e92d03207" 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: enhanced (User agent is rejected)

Served from: css4design.com @ 2012-02-08 11:12:51 -->
