<?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>HTML Zen Garden &#187; Réflexions</title>
	<atom:link href="https://htmlzengarden.vincent-valentin.name/categorie/reflexions/feed/" rel="self" type="application/rss+xml" />
	<link>https://htmlzengarden.vincent-valentin.name</link>
	<description>The beauty in HTML code</description>
	<lastBuildDate>Fri, 02 Dec 2011 20:42:37 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.39</generator>
	<item>
		<title>Motifs CSS3 avancés, est-ce le futur&#160;?</title>
		<link>https://htmlzengarden.vincent-valentin.name/2011/11/motifs-css3-avances-est-ce-le-futur/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2011/11/motifs-css3-avances-est-ce-le-futur/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 22:05:54 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[performances]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=989</guid>
		<description><![CDATA[CSS3 Patterns Gallery présente un condensé de ce qu&#8217;il est maintenant possible de réaliser avec l&#8217;aide de CSS3 sur les arrières-plans&#160;; le tout sans l&#8217;aide d&#8217;image supplémentaire. En jouant avec les arrières-plans multiples, des dégradés, les couleurs semi-transparentes, la taille des motifs et avec l&#8217;aide de pas mal d&#8217;astuce, il semble possible de réaliser des [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://lea.verou.me/css3patterns/">CSS3 Patterns Gallery</a> présente un condensé de ce qu&#8217;il est maintenant possible de réaliser avec l&#8217;aide de CSS3 sur les arrières-plans&#160;; le tout sans l&#8217;aide d&#8217;image supplémentaire.</p>

<p>En jouant avec les arrières-plans multiples, des dégradés, les couleurs semi-transparentes, la taille des motifs et avec l&#8217;aide de pas mal d&#8217;astuce, il semble possible de réaliser des choses où il était jusque là obligatoirement nécessaire de charger un fichier graphique.</p>

<p>C&#8217;est évidemment impressionnant et je suis emballé par ces nouvelles possibilités.</p>

<p>Mais passé ce premier effet de surprise, je me pose quelques questions&#160;:</p>

<ul>
<li><p>Est-ce intéressant côté <strong>performances</strong>&#160;? Cela fait toujours une requête de moins, mais <em>quid</em> du rendu de ces éléments complexes, n’est-ce pas trop gourmand en ressources (la page d&#8217;exemple est ainsi très lente au défilement)&#160;?</p></li>
<li><p>N’est-ce pas pousser la technique dans ses derniers retranchements au point de complexifier à outrance la lecture et la <strong>maintenance</strong> de ces motifs. Ou est-ce moi qui n&#8217;ai pas bien l&#8217;habitude encore de lire ces propriétés CSS&#160;?</p></li>
<li><p>Quels <strong>avantages</strong> y a t-il à s&#8217;aventurer sur ces techniques (je parle bien de ces exemples très avancés, pas juste des dégradés CSS) là où des alternatives simples fonctionnent déjà depuis longtemps&#160;?</p></li>
</ul>

<p>Je ne demande qu&#8217;à être convaincu&#160;: faites-vous plaisir.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2011/11/motifs-css3-avances-est-ce-le-futur/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Une plateforme d’échanges pour les intégrateurs et les implémenteurs&#160;?</title>
		<link>https://htmlzengarden.vincent-valentin.name/2011/10/une-plateforme-d-echanges-pour-les-integrateurs-et-les-implementeurs%c2%a0/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2011/10/une-plateforme-d-echanges-pour-les-integrateurs-et-les-implementeurs%c2%a0/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 08:31:55 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[métiers]]></category>
		<category><![CDATA[navigateurs]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=956</guid>
		<description><![CDATA[La table ronde qui clôturait l&#8217;édition Paris Web 2011 réunissait une fois encore différents intervenants impliqués dans le développement des principaux navigateur du marché. Ils y faisaient part de leurs travaux, de leurs collaborations respectives, et des évolutions à venir au sein de nos navigateurs. Effet #sharethelove ajouté, ils s&#8217;embrassaient même&#160;! Photo par Jean-François Renauld [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La table ronde qui clôturait l&#8217;édition Paris Web 2011 réunissait une fois encore différents intervenants impliqués dans le développement des principaux navigateur du marché. Ils y faisaient part de leurs travaux, de leurs collaborations respectives, et des évolutions à venir au sein de nos navigateurs.</p>

<p>Effet <code>#sharethelove</code> ajouté, ils s&#8217;embrassaient même&#160;!</p>

<p><img src="http://www.htmlzengarden.com/wp-content/uploads/2011/10/6249815838_c6520f0a57_b.jpg" alt="" title="" width="468" height="310" />
<small style="text-align:right;display:block"><a href="http://www.flickr.com/photos/prelude666/6249815838/">Photo par Jean-François Renauld</a></small></p>

<p>En plus de cela et depuis maintenant plus de deux ans, je reviens de Paris Web avec (entre autres choses) la conviction qu&#8217;un <strong>dialogue</strong> se met doucement en place entre les <strong>intégrateurs</strong>, très demandeurs de nouvelles fonctionnalités&#160;; et les <strong>implémenteurs</strong>, très demandeurs d&#8217;une priorisation de leurs tâches.</p>

<p>Aujourd&#8217;hui, la réponse est unanime&#160;: &laquo;&nbsp;Notre <em>bugtracker</em> est là, nous attendons vos retours d’expériences&nbsp;&raquo;.</p>

<p>Dans les faits c&#8217;est souvent beaucoup plus empirique&#160;: certains râlent dans leur coin, d&#8217;autres échangent sur des réseaux sociaux, et quelques (rares&#160;?) courageux passent effectivement par les systèmes de suivi des bugs (j&#8217;y suis passé, c&#8217;est franchement pénible et peu adapté à nos profils).</p>

<p>Tout ça sans parler des disparités entre <em>bugtrackers</em>&#160;: certains ne proposent aucun suivi&#160;; d&#8217;autres exigent une authentification complète&#160;; certains sont extrêmement bien cachés…</p>

<p>J&#8217;ai réalisé qu&#8217;il manquait peut-être une <strong>plateforme d&#8217;échange</strong> plus simple entre ces deux communautés. Et que cette plateforme devait rassembler les idées en un seul et même endroit, quelque soit le navigateur. Après tout, cette &laquo;&nbsp;nouvelle fonctionnalité incroyable&nbsp;&raquo;, nous souhaitons l&#8217;avoir partout, pas seulement dans notre navigateur favori.</p>

<p>Ne souhaitant pas non plus reproduire le travail déjà réalisé par chacun, je me mets à imaginer une interface&#160;:</p>

<ul>
<li>qui proposerait à toute personne du métier d&#8217;exprimer une idée facilement&#160;;</li>
<li>qui permettrait à la communauté d&#8217;approuver par un vote chaque idée soumise, et de trier ainsi les demandes les plus populaires&#160;;</li>
<li>qui laisserait ensuite chaque représentant navigateur formuler une réponse courte en précisant si c&#8217;est inenvisageable, à étudier, en cours ou même déjà en place.</li>
</ul>

<p>Amis intégrateurs, respectables implémenteurs, les commentaires sont là pour recueillir <strong>vos avis</strong> sur cette idée.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2011/10/une-plateforme-d-echanges-pour-les-integrateurs-et-les-implementeurs%c2%a0/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TG + BR + 3Q</title>
		<link>https://htmlzengarden.vincent-valentin.name/2011/03/tg-br-3q/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2011/03/tg-br-3q/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 13:06:27 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[bonnes pratiques]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[interviews]]></category>
		<category><![CDATA[métiers]]></category>
		<category><![CDATA[typographie]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=913</guid>
		<description><![CDATA[Pas de billet depuis juin 2010&#160;: hum&#160;! Mais des projets qui prennent vie en dehors de ce blog et ça fait bien plaisir&#160;! Séquence publicité, mais pour la bonne cause. Un projet sur lequel je ne suis venu me greffer que tardivement, mais avec beaucoup de plaisir étant amateur de tout ce qui touche à [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>Pas de billet depuis juin 2010&#160;: hum&#160;!</em></p>

<p>Mais des projets qui prennent vie en dehors de ce blog et ça fait bien plaisir&#160;! Séquence publicité, mais pour la bonne cause.</p>

<h3><a href="http://www.typographisme.net/"><img src="http://www.htmlzengarden.com/wp-content/uploads/2011/03/TG.jpg" alt="Typographisme" /></a></h3>

<p>Un projet sur lequel je ne suis venu me greffer que tardivement, mais avec beaucoup de plaisir étant amateur de tout ce qui touche à la typographie.
J&#8217;en profite pour aborder la question via l&#8217;angle technique puisque c&#8217;est ce que je connais le mieux. Amateurs de grilles et autres détails typos, c&#8217;est par ici.</p>

<h3><a href="http://www.briefingroom.fr/"><img src="http://www.htmlzengarden.com/wp-content/uploads/2011/03/BR.jpg" alt="Briefing Room" /></a></h3>

<p><a href="http://www.mariejulien.com/">Julien</a> est venu me débaucher pour animer un tout nouveau forum consacré à l&#8217;apprentissage des métiers du Web. Avec un objectif affiché&#160;: proposer une alternative sérieuse aux offres commerciales jouant double-jeu avec le travail des graphistes. L&#8217;initiative m&#8217;a plu, j&#8217;ai signé. Allons parler bonnes pratiques côté créa.</p>

<h3><a href="http://www.troisquestions.net/"><img src="http://www.htmlzengarden.com/wp-content/uploads/2011/03/3Q.jpg" alt="Trois Questions" /></a></h3>

<p>Dernier bébé en date après une gestation de presque deux ans&#160;: un site d&#8217;interviews. Et même si techniquement je ne suis plus très fier de mon travail, l&#8217;idée principale me convainc toujours autant&#160;: donner la parole aux petites mains du web, à ceux qui le pratiquent au quotidien avec amour. Et découvrir ainsi ce qui se passe de l&#8217;autre côté du paravent dans l&#8217;open-space.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2011/03/tg-br-3q/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Tests sur quelques pseudos-sélecteurs</title>
		<link>https://htmlzengarden.vincent-valentin.name/2010/04/tests_sur_quelques_pseudos-selecteurs/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2010/04/tests_sur_quelques_pseudos-selecteurs/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 15:40:19 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[pseudo-sélecteurs]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=841</guid>
		<description><![CDATA[Pour rebondir sur l&#8217;article précédent de STPo et ses nombreux commentaires, j&#8217;ai voulu tester plusieurs choses&#160;: le support des pseudo-selecteurs version selecteur::pseudo-selecteur&#160;; le support du pseudo-selecteur :first-line&#160;; notamment quand on effectue un zoom-texte associé&#160;; la prise en compte (ou non) des caractères typographiques combinés avec first-letter (ici le guillemet suivi ou non d&#8217;un espace et [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pour rebondir sur <a href="http://www.htmlzengarden.com/2010/04/first-letter_et_lettrine/">l&#8217;article précédent de STPo et ses nombreux commentaires</a>, j&#8217;ai voulu tester plusieurs choses&#160;:</p>

<ul>
<li>le support des pseudo-selecteurs version <code>selecteur::pseudo-selecteur</code>&#160;;</li>
<li>le support du pseudo-selecteur <code>:first-line</code>&#160;; notamment quand on effectue un zoom-texte associé&#160;;</li>
<li>la prise en compte (ou non) des caractères typographiques combinés avec <code>first-letter</code> (ici le guillemet suivi ou non d&#8217;un espace et <a href="http://www.htmlzengarden.com/2009/04/l_apostrophe/">l&#8217;apostrophe</a>).</li>
</ul>

<h3>Support</h3>

<p><code>:first-letter</code> et <code>:first-line</code> sont supportés sur tous les navigateurs habituels&#160;:</p>

<ul>
<li><abbr title="Internet Explorer">IE</abbr> 6&#160;;</li>
<li><abbr title="Internet Explorer">IE</abbr> 7&#160;;</li>
<li><abbr title="Internet Explorer">IE</abbr> 8&#160;;</li>
<li>Firefox&#160;;</li>
<li>Opera&#160;;</li>
<li>Safari&#160;;</li>
<li>Chrome.</li>
</ul>

<p>Assez étonnement <code>::first-letter</code> et <code>::first-line</code> ne sont pas pris en compte par <abbr title="Internet Explorer">IE</abbr> 7 et <abbr title="Internet Explorer">IE</abbr> 8 alors qu&#8217;ils marchent partout ailleurs (<abbr title="Internet Explorer">IE</abbr> 6 compris).</p>

<p>Le comportement de <code>first-line</code> correspond bien au comportement attendu&#160;: la sélection varie en fonction du zoom effectué sur la page et il s&#8217;agit bien en permanence de la première ligne qui est sélectionnée.</p>

<h3>Subtilités typographiques</h3>

<p>En théorie devrait <a href="http://www.yoyodesign.org/doc/w3c/css2/selector.html#first-letter"><code>first-letter</code> s&#8217;appliquer à la première <strong>lettre</strong></a> et donc à la ponctuation qui l&#8217;accompagne.</p>

<blockquote>
  <p>Les caractères de ponctuation […] qui précèdent la première lettre devraient également être pris en compte</p>
</blockquote>

<p>En pratique on constate un rendu plus ou moins correct de&#160;:</p>

<ul>
<li>Chrome (hormis un petit bug avec les espaces insécables encodés <code>&amp;nbsp;</code>)&#160;;</li>
<li>Safari (avec le même petit bug)&#160;;</li>
<li>Firefox (mais sans le support des espaces)&#160;;</li>
<li>Opera (mais uniquement avec des guillemets droits et sans le support des espaces)&#160;;</li>
<li>IE6 et <abbr title="Internet Explorer">IE</abbr> 7 (mais uniquement avec des guillemets droits, exit donc les guillemets à la française)&#160;;</li>
<li>et <abbr title="Internet Explorer">IE</abbr> 8 (mais sans le support des espaces, ce qui est fortement pénalisant là encore).</li>
</ul>

<p>En une phrase&#160;: <strong>seul le moteur de rendu WebKit s&#8217;en sort correctement.</strong></p>

<p>Voici <a href="http://www.htmlzengarden.com/first.html">le fichier qui m&#8217;a permis de faire mes tests</a>, si vous voulez compléter mon analyse ou tester à votre tour. Vous pouvez également regarder le <a href="http://www.webdevout.net/browser-support-css?IE6=on&amp;IE7=on&amp;IE8=on&amp;FX2=on&amp;FX3=on&amp;OP9=on&amp;SF2=on&amp;uas=CUSTOM#css2pseudoelements">support navigateur proposé sur Web Devout</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2010/04/tests_sur_quelques_pseudos-selecteurs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>First-letter et lettrine</title>
		<link>https://htmlzengarden.vincent-valentin.name/2010/04/first-letter_et_lettrine/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2010/04/first-letter_et_lettrine/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 12:36:18 +0000</pubDate>
		<dc:creator><![CDATA[STPo]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[lettrines]]></category>
		<category><![CDATA[typographie]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=816</guid>
		<description><![CDATA[Non, ce blog n&#8217;est pas mort&#160;! Bien que ce soit encore STPo qui s&#8217;y colle&#8230; La lettrine, c’est la première lettre d’un paragraphe mise en exergue. Le plus souvent, elle est sublimée grâce à un corps de texte plus important et parfois à l’aide d’ornements graphiques. Je m’intéresserai ici au cas d’une lettrine simple en [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>Non, ce blog n&#8217;est pas mort&#160;! Bien que ce soit encore <a href="http://stpo.fr">STPo</a> qui s&#8217;y colle&#8230;</em></p>

<p>La lettrine, c’est la première lettre d’un paragraphe mise en exergue. Le plus souvent, elle est sublimée grâce à un corps de texte plus important et parfois à l’aide d’ornements graphiques.</p>

<p>Je m’intéresserai ici au cas d’une lettrine simple en utilisant la pseudo-classe <abbr>CSS</abbr> <code>first-letter</code>, a priori toute indiquée pour un contenu en <abbr>HTML</abbr>.</p>

<h3>Quelques règles typographiques</h3>

<p>En fouinant sur le web, je suis tombé sur ce vieil <a href="http://www.tutoweb.be/typo-lettrine.htm">article qui rappelle les règles à suivre concernant les lettrines</a>. Je les reproduis honteusement ici&#160;:</p>

<ol>
<li>La lettrine porte généralement sur deux lignes, parfois plus&#160;;</li>
<li>Elle ne doit pas être découverte&#160;; au moins une ligne doit doubler sous la lettrine&#160;;</li>
<li>L’espace du premier mot doit être adapté en fonction de la lettrine&#160;;</li>
<li>La fin du premier mot s’écrit en petites capitales&#160;;</li>
<li>Le sommet de la lettrine doit être visuellement aligné avec les ascendantes des lettres de la première ligne du texte.</li>
</ol>

<p>C’est le point 5 qui va nous poser problème ici, à cause des différences d’interprétation par les moteurs graphiques des navigateurs (une fois n’est pas coutume)…</p>

<h3>Un peu de code</h3>

<p>Le code, ici, est enfantin. Le <abbr>CSS</abbr>&#160;:</p>

<pre><code>/* font-size à 1em et line-height à 1.5 */
p{ 
    font-size: 1em;
    line-height: 1.5;
    width: 30em;
    margin: 3em auto;
}

/* font-size à 3em et line-height à 1, ce qui correspond en théorie à la hauteur de 2 lignes de texte courant
    et float pour laisser courir le texte */
p:first-letter{
    float: left;
    font-size: 3em;
    line-height: 1;
    margin-right: 0.2em;
}

/* juste pour mettre le premier mots en petites capitales */
p span{ font-variant: small-caps; }
</code></pre>

<p>Et le <abbr>HTML</abbr>&#160;:</p>

<pre><code>    &lt;p&gt;
        &lt;span&gt;Lorem&lt;/span&gt;
        ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    &lt;/p&gt;
</code></pre>

<p>Et maintenant, la partie désagréable…</p>

<h3>Firefox le pénible</h3>

<p>Voici les résultats des interprétations de <a href="http://www.htmlzengarden.com/first-letter.html">la démo</a> par les navigateurs&#160;:</p>

<p><img src="http://www.htmlzengarden.com/wp-content/uploads/2010/04/first-letter1.png" alt="Il faut afficher les images, sinon le rendu a zéro intérêt évidemment" title="" /></p>

<p>On constatera que c’est globalement homogène chez Internet Explorer (versions «&#160;modernes&#160;»), Webkit et Opera, mais que Firefox 3.6 décale inexplicablement la lettrine vers le haut. Même Firefox 2&#160;s’en sortait mieux (bon, il sautait une ligne supplémentaire mais au moins c’était aligné).</p>

<p>En tant qu’<a href="http://www.htmlzengarden.com/2009/11/le_rythme_vertical_en_css/">ayatollah affiché du rythme vertical</a>, tout cela me chiffonne un brin. Non pas que j’utilise les lettrines très souvent (c’est même plutôt rare), mais j’aimerais bien comprendre d’où vient ce défaut.</p>

<p>J’ai trouvé <a href="http://www.zonecss.fr/exemple_css/exemple_css29.html">cet article qui en parle</a> mais n’aborde pas le point qui me gêne ici et se contente d’affirmer que la lettre ne passe pas en type <code>block</code> (malgré le <code>float</code>).</p>

<p>J’en appelle donc aux fans de prises de tête. À vos plumes, à vos idées, à votre bon cœur&#160;!</p>

<p><em>STPo</em></p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2010/04/first-letter_et_lettrine/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Le rythme vertical en CSS</title>
		<link>https://htmlzengarden.vincent-valentin.name/2009/11/le_rythme_vertical_en_css/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2009/11/le_rythme_vertical_en_css/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 12:33:35 +0000</pubDate>
		<dc:creator><![CDATA[STPo]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[navigateurs]]></category>
		<category><![CDATA[pixels]]></category>
		<category><![CDATA[rythme vertical]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=789</guid>
		<description><![CDATA[C&#8217;est au tour de Christophe Andrieu de prendre le clavier. Décidément, on n&#8217;est plus chez soi&#160;! Même si sur le moment il ne m’avait pas frappé outre mesure, je repense assez fréquemment au coup de gueule de Gilles Vauvarin lors de sa conférence à Paris-web cette année&#160;: il était consterné que les intégrateurs ne respectent [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em>C&#8217;est au tour de <a href="http://stpo.fr/">Christophe Andrieu</a> de prendre le clavier. Décidément, on n&#8217;est plus chez soi&#160;!</em></p>

<p>Même si sur le moment il ne m’avait pas frappé outre mesure, je repense assez fréquemment au coup de gueule de <a href="http://www.pixenjoy.com/" title="Pixenjoy">Gilles Vauvarin</a> lors de <a href="http://www.paris-web.fr/2009/-Programme-#conf94" title="Webdesigner, l’homme qui parlait à l’oreille des intégrateurs">sa conférence à Paris-web</a> cette année&#160;: il était consterné que les intégrateurs ne respectent pas le rythme vertical de ses designs.</p>

<p>Ce fut l’occasion de me rappeler à quel point c’était super, le rythme vertical. Et à quel point j’en avais bavé à chaque fois que j’ai essayé de l’implémenter en <abbr>CSS</abbr>.</p>

<p><em>(C’est quoi le rythme vertical&#160;? Allez lire <a href="http://www.biologeek.com/ergonomie,informatique/l-importance-du-rythme-vertical-en-design-css/" title="L'importance du rythme vertical en design CSS">cet excellent article de David sur le sujet</a>)</em></p>

<h3><em>Blueprint</em> et les navigateurs sont dans un bateau</h3>

<p>Remotivé par le sujet, j’attaque donc mon nouveau design avec <a href="http://www.blueprintcss.org/" title="Blueprint">Blueprint</a>, framework <abbr>CSS</abbr> bien connu pour gérer intelligemment ce genre de problématiques délicates. On me l’a notamment conseillé pour éviter de me prendre la tête avec les calculs d’interlignages en <em>em</em>, qui donneraient des cauchemars à Pythagore en personne.</p>

<p>Hélas&#160;! J’ai déchanté assez vite. Conserver un rythme vertical avec un vrai design (même minimaliste) est excessivement complexe, Blueprint ou pas Blueprint.</p>

<p>J’ai notamment buté sur les arrondis générés par les moteurs de rendu des navigateurs, qui ne sont apparemment pas calculés de la même manière.</p>

<p>Comme tout est défini en <em>em</em>, on se retrouve assez rapidement avec des styles générés assez exotiques&#160;: si mon <em>line-height</em> est de 1.5 et ma <em>font-size</em> de base de 11&#160;<abbr title="pixels">px</abbr> (12&#160;<abbr title="pixels">px</abbr> c’était trop facile), mon <em>line-height</em> généré va être de 1.5 × 11 = 16.5&#160;<abbr title="pixels">px</abbr>&#8230; et les demi-pixels, les navigateurs, en gros, n’aiment pas.</p>

<p>Ou du moins, ils ne l’interprètent pas tous de la même façon (ou alors j’ai vraiment raté un train). Ce qui oblige à une certaine gymnastique pour retomber sur des calculs de pixels générés entiers – qui eux sont interprétés de la même manière partout. Par exemple là, pour avoir un <em>line-height</em> généré de 17&#160;<abbr title="pixels">px</abbr> (mettons), je vais devoir mettre <code>line-height:1.565</code>&#8230; et encore, ça reste un arrondi.</p>

<p>Imaginez maintenant qu’on rajoute des bordures <abbr>CSS</abbr>, des images, bref toutes sortes de contenus et de styles qui décalent tout au fur et à mesure avec toujours plus d’arrondis.</p>

<p>Je ne vous fais pas de dessin, c’est un enfer&#160;!</p>

<h3>Tout passer en pixels&#160;?</h3>

<p>Bref, j’ai été vite écœuré de cette mélasse d’<em>em</em> qu’on nous a pourtant appris à aimer dogmatiquement durant toutes ces années d’évangélisation aux bonnes pratiques.</p>

<p>D’où une question bien légitime&#160;: «&#160;mais pourquoi n&#8217;utilise-t-on pas tout simplement le pixel, unité native de notre medium&#160;?&#160;».</p>

<p>Évidemment, on sait qu’<abbr>IE</abbr> ne comprend pas grand-chose aux agrandissements de textes dès qu’on lui parle en pixels&#8230; et on entre alors dans des considérations plus philosophiques que techniques. Doit-on laisser <abbr>IE</abbr> sur le carreau&#160;? N’est-il de toute manière pas intéressant de conserver des unités relatives pour les marges entre paragraphes (par exemple), afin de conserver nativement des proportions harmonieuses&#160;?</p>

<p><a href="http://www.nota-bene.org/Are-pixel-font-sizes-still-so-bad" title="Are pixel font sizes still so bad?">Stéphane en parlait il y a deux ans de ça</a>, les choses n’ont pas évolué depuis, et c’est bien dommage.</p>

<p>Bref, une piste à oublier, probablement.</p>

<h3>Vers un mode de calcul normalisé pour tous les navigateurs&#160;?</h3>

<p>Revenons aux <em>em</em>&#160;: pourquoi les moteurs graphiques des navigateurs sont-ils infoutus de gérer les arrondis de décimales de pixels de la même manière&#160;?</p>

<p>Y a-t-il des groupes de travail là-dessus&#160;? Des ressources en ligne&#160;? Est-ce que j’ai loupé quelque chose en route&#160;?</p>

<p>Si vous avez des éléments de réponse je suis avide de les entendre&#8230;</p>

<p>Pour le moment, j’ai cette phrase de Stéphane qui me reste en travers de la gorge&#160;: «&#160;le rythme vertical pour moi, ne peut se tenir qu&#8217;avec des bricoles en <abbr>JS</abbr>&#160;: <abbr>CSS</abbr> n&#8217;est pas assez solide pour ça&#160;».</p>

<p>Dites-moi que c’est faux&#160;!</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2009/11/le_rythme_vertical_en_css/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Survol des hyperliens</title>
		<link>https://htmlzengarden.vincent-valentin.name/2009/11/survol_des_hyperliens/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2009/11/survol_des_hyperliens/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 19:08:23 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ergonomie]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[Liens]]></category>
		<category><![CDATA[soulignement]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=768</guid>
		<description><![CDATA[Éric a récemment abordé le cas des boutons activés, je prends le relais et je m&#8217;interroge cette fois sur le survol des liens. La convention veut que les liens soient identifiés par le soulignement de ceux-ci et je reste donc dans ce cas classique. Bien souvent ensuite (dans le but de signaler l&#8217;interaction) ce soulignement [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Éric a récemment abordé <a href="http://www.lesintegristes.net/2009/09/13/hover-vs-active/">le cas des boutons activés</a>, je prends le relais et je m&#8217;interroge cette fois sur le survol des liens.</p>

<p>La convention veut que les liens soient identifiés par le soulignement de ceux-ci et je reste donc dans ce cas classique. Bien souvent ensuite (dans le but de signaler l&#8217;interaction) ce soulignement sera retiré au survol.</p>

<pre><code>&lt;style type="text/css"&gt;
    a:focus,
    a:hover
    {
        text-decoration:none;
    }
    a:active
    {
        outline:none;
    }
&lt;/style&gt;
</code></pre>

<p>Remarquez au passage&#160;:</p>

<ul>
<li>que je complète mon sélecteur pour le cas d&#8217;une navigation au clavier (j&#8217;y reviendrai plus tard)&#160;;</li>
<li>la définition de l&#8217;état actif, trouvée via ce <a href="http://people.opera.com/patrickl/experiments/keyboard/test">très bon billet sur la suppression de l&#8217;<code>outline</code></a>.</li>
</ul>

<p>Je ne sais pas pour vous, mais j&#8217;ai tendance à trouver cette technique (pourtant répandue&#160;!) contre-intuitive. C&#8217;est comme si le lien &laquo;&nbsp;disparaissait&nbsp;&raquo; au survol, et que du coup il n&#8217;était plus possible (en apparence) de cliquer.</p>

<p>J&#8217;aurais tendance à préférer tout autre mise en forme au survol. Comme par exemple un changement de couleur. On pourrait même reprendre celle des liens visités tiens&#8230;</p>

<pre><code>&lt;style type="text/css"&gt;
    a
    {
        color:#1C6280;
        background-color:inherit;
    }
    a:hover,
    a:focus,
    a:visited
    {
        color:#1C6280;
        background-color:inherit;
    }
    a:active
    {
        outline:none;
    }
&lt;/style&gt;
</code></pre>

<p>J&#8217;aimerais lire vos avis et vos arguments, je n&#8217;arrive pas à trancher cette question.</p>

<p>Question bonus&#160;: les sélecteurs enrichis pour les navigations au clavier, ça ne pose pas de souci&#160;? Je pense notamment à une personne qui d&#8217;une part survol un lien à la souris, tant en tabulant sur un autre lien en parallèle&#160;: il se retrouve alors avec deux liens mis en évidence à la fois.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2009/11/survol_des_hyperliens/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bordure entre deux colonnes</title>
		<link>https://htmlzengarden.vincent-valentin.name/2009/11/bordure_entre_deux_colonnes/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2009/11/bordure_entre_deux_colonnes/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:23:29 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[bordures]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=757</guid>
		<description><![CDATA[Petite astuce de rien du tout pour créer une bordure d&#8217;un ou plusieurs pixels entre deux colonnes. C&#8217;est difficile à faire&#160;? Pas vraiment, mais ça se complique quand on souhaite que cette bordure soit toujours de la hauteur de la colonne le plus grande. Faut-il la placer sur le conteneur de gauche ou de droite&#160;? [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Petite astuce de rien du tout pour créer une bordure d&#8217;un ou plusieurs pixels entre deux colonnes.</p>

<h3>C&#8217;est difficile à faire&#160;?</h3>

<p>Pas vraiment, mais ça se complique quand on souhaite que cette bordure soit toujours de la hauteur de la colonne le plus grande. Faut-il la placer sur le conteneur de gauche ou de droite&#160;?</p>

<h3>Solutions</h3>

<p>On peut dans un premier temps penser à utiliser la techniques des <a href="http://www.pompage.net/pompe/colonnesfactices/">colonnes factices</a> et placer un <code>background-image</code> sous les colonnes, mais cela présente deux petits soucis&#160;:</p>

<ul>
<li>la largeur des colonnes sera alors fixée&#160;;</li>
<li>on fait appel à une image alors qu&#8217;un simple style CSS pourrait suffire.</li>
</ul>

<p>Voici la méthode que j&#8217;utilise à la place&#160;:</p>

<pre><code>&lt;div style="overflow:hidden;height:1%;"&gt;
    &lt;div style="float:left;width:200px;border-right:5px solid #000;"&gt;
        &lt;p&gt;
            Colonne A.
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;div style="float:left;width:200px;border-left:5px solid #000;margin-left:-5px;display:inline;"&gt;
        &lt;p&gt;
            Colonne B.
        &lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</code></pre>

<p>L&#8217;astuce consiste donc à placer deux bordures et à les faire se superposer ensuite via une marge négative de la largeur de la bordure. Simple, mais efficace.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2009/11/bordure_entre_deux_colonnes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>ARIA et validation&#160;: comment faire&#160;?</title>
		<link>https://htmlzengarden.vincent-valentin.name/2009/11/aria-et-validation-comment-faire/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2009/11/aria-et-validation-comment-faire/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 15:29:25 +0000</pubDate>
		<dc:creator><![CDATA[Stéphane Deschamps]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=739</guid>
		<description><![CDATA[Stéphane Deschamps me pique la plume. Le sujet se prête mieux au format de ce blog qu&#8217;au sien. Un peu d’histoire L’idée d’ARIA c’est de permettre de décrire des rôles et des états, pour améliorer l’accessibilité des clients riches. Ainsi on peut légalement avec ARIA faire une case à cocher en image, pourvu qu’on la [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><em><a href="http://www.nota-bene.org/">Stéphane Deschamps</a> me pique la plume. Le sujet se prête mieux au format de ce blog qu&#8217;au sien.</em></p>

<h3 id="histoire">Un peu d’histoire</h3>

<p>L’idée d’<abbr title="Accessible Rich Interface Applications">ARIA</abbr> c’est de permettre de décrire des rôles et des états, pour améliorer l’accessibilité des clients riches. Ainsi on peut légalement avec <abbr title="Accessible Rich Interface Applications">ARIA</abbr> faire une case à cocher en image, pourvu qu’on la décrive comme <a hreflang="en" href="http://www.w3.org/TR/wai-aria/#checkbox">une case à cocher</a> (<code>role="checkbox"</code>) et qu’on indique son état, <a hreflang="en" href="http://www.w3.org/TR/wai-aria/#aria-checked">cochée</a> (<code>aria-checked</code>). C’est pratique pour faire des graphismes modernes, tout en permettant de ne pas sacrifier l’accessibilité au seul profit de ceux qui ont des yeux et une souris, pour résumer.</p>

<p>Quand <abbr title="Accessible Rich Interface Applications">ARIA</abbr> a été introduit, on ne parlait pas encore de <abbr title="Hypertext Markup Language">HTML</abbr> 5 au <abbr title="World Wide Web Consortium">W3C</abbr>&#160;: c’est <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> qui prévalait. Or en <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> une notion fondamentale est celle des espaces de nommage, permettant de rattacher au document courant (dont l’espace de nommage <abbr title="Hypertext Markup Language">HTML</abbr> est implicite) des extensions. <abbr title="Accessible Rich Interface Applications">ARIA</abbr> bénéficiait donc d’une déclaration dans le document pour permettre à chacun de ses attributs d’être déclaré avec le préfixe <code>aria:</code>. Par exemple le rôle d’un élément s’écrivait <code>aria:checkbox</code>. Facile.</p>

<p>Avec l’avènement de <abbr title="Hypertext Markup Language">HTML</abbr> 5 et ses choix différents en termes de formalisme, qui privilégient l’écriture de code avec la syntaxe <abbr title="Hypertext Markup Language">HTML</abbr>, <abbr title="Accessible Rich Interface Applications">ARIA</abbr> a dû faire machine arrière&#160;: tout a été renommé sans espace de nommage. Les deux points des propriétés spécifiques à <abbr title="Accessible Rich Interface Applications">ARIA</abbr> ont été remplacés par des tirets&#160;: <code>aria:checked</code> devient <code>aria-checked</code>. Certains attributs quant à eux, qui ont du sens même hors du contexte d’<abbr title="Accessible Rich Interface Applications">ARIA</abbr>, n’ont carrément pas de préfixe. C’est le cas de <code>role</code>, <a hreflang="en" href="http://www.w3.org/TR/xhtml2/mod-roleAttribute.html#s_roleAttributemodule">qui était prévu dans la spécification <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> 2</a>.</p>

<p>Pour l’accessibilité dans le monde réel, c’est presque une bonne chose&#160;: à ce jour, la revue d’écran la plus utilisée (Jaws) ne reconnaît pas les attributs préfixés. J’en ai fait la douloureuse expérience lorsque mon site est passé en <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr>&#160;: Jaws ne comprenait pas les attributs <code>xml:lang</code> et les ignorait purement et simplement&#160;! (Il a fallu doubler tous ces attributs avec l’attribut <abbr title="Hypertext Markup Language">HTML</abbr> classique <code>lang</code>).</p>

<p>Oui mais voilà&#160;: et la validation dans tout ça&#160;?</p>

<p>À ce jour, le validateur du <abbr title="World Wide Web Consortium">W3C</abbr> s’appuie sur le <code>DOCTYPE</code> que vous déclarez dans votre code pour vérifier que vous respectez bien sa grammaire. Or dans une spécification ancienne (<abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> 1.1 date de 2001), il n’était évidemment pas prévu d’intégrer des attributs dont on ignorait qu’ils existeraient un jour&#160;! Sans compter que la logique même d’extensibilité du <abbr title="eXtensible Hypertext Markup Language">XHTML</abbr> venait de l’idée qu’on intégrerait tout ça avec des espaces de nommage, donc l’extension était prévue, mais avec un formalisme que le brouillon courant de <abbr title="Hypertext Markup Language">HTML</abbr> 5 remet en cause. Bref, nous voilà au pied du mur&#160;: faut-il faire du code invalide, ou respecter maniaquement la spécification et trouver des contournements «&#160;légaux&#160;»&#160;?</p>

<h3 id="solution">Une solution&#160;: opter pour du code invalide</h3>

<p>La solution simple serait d’opter pour du code invalide. <a hreflang="en" href="http://www.meyerweb.com/">Eric Meyer</a> considère qu’on peut prôner les standards en étant fidèle à l’esprit mais pas toujours à la lettre&#160;: c’est ce qu’il appelle <em lang="en">standards-oriented</em>.</p>

<p>En l’occurrence, imaginons que j’aie écrit une page conforme et que j’y rajoute des attributs <abbr title="Accessible Rich Interface Applications">ARIA</abbr>. Elle devient non-valide, mais j’ignore les erreurs <strong>en connaissance de cause</strong> parce que je suis un développeur Web avisé, et que je sais que ça ne posera pas de souci aux navigateurs tout en améliorant l’accessibilité pour tous.</p>

<h3 id="attribut">Utiliser un attribut <abbr title="Hypertext Markup Language">HTML</abbr> existant et manipuler ses valeurs avec JavaScript</h3>

<p>La deuxième solution est plus sportive&#160;: je crée du code valide, et je profite de JavaScript pour ajouter les attributs qui me manquent.</p>

<p>Cas classique&#160;: je repère l’élément via son <code>id</code> (identifiant unique dans la page), et j’ajoute le ou les attributs dont j’ai besoin pour faire de l’<abbr title="Accessible Rich Interface Applications">ARIA</abbr>.</p>

<p>Oui mais&#160;: tous mes éléments ne sont pas forcément nommés, pourtant je risque d’avoir besoin de nombreux endroits auxquels me raccrocher pour ajouter des propriétés <abbr title="Accessible Rich Interface Applications">ARIA</abbr>.</p>

<p>Le plus simple sera alors d’utiliser un attribut <abbr title="Hypertext Markup Language">HTML</abbr>, d’en extraire le contenu et de générer les attribut <abbr title="Accessible Rich Interface Applications">ARIA</abbr> à partir de là.</p>

<h3 id="quel_attribut">Quel attribut choisir&#160;?</h3>

<p>J’ai déjà vu des gens utiliser l’attribut <code>rel</code> des liens, par exemple pour faire des <em>popins</em> (<code>rel="popin,450,300"</code> indique qu’à ce lien sera ajouté un comportement JavaScript d’affichage de la popin, et les dimensions de ladite <em>popin</em>). Pour ma part j’en suis très gêné, il me semble qu’il s’agit là d’un détournement assez osé de l’attribut. Par ailleurs, ça ne fonctionne que sur des liens&#160;; il faut donc trouver un attribut plus générique.</p>

<p>En revanche, la bonne idée depuis plusieurs années, c’est tout de même qu’on tente de ne pas mettre de comportement dans le code. On s’appuie sur le <abbr title="Document Object Model">DOM</abbr> pour inventorier les éléments auxquels affecter tel ou tel comportement, souvent en passant par l’attribut <code>class</code>. Pour revenir à notre exemple de <em>popins</em>, il y a quelques années on aurait fait la même chose en <em>popup</em>, en s’appuyant sur la classe&#160;: <code>class="popup"</code>.</p>

<p>Essayons donc de nous appuyer sur la classe&#160;: il nous semble moins nocif d’utiliser cet attribut plutôt qu’un autre.</p>

<h3 id="quelle_methode">Quelle méthode&#160;?</h3>

<p>Maintenant que nous avons choisi la classe, quelle convention d’écriture adopter pour tous ces attributs&#160;?</p>

<p>Première proposition, utiliser une notation héritée de <abbr title="JavaScript Object Notation">JSON</abbr>&#160;: <code>class="{role:contentinfo;}"</code>. Son intérêt c’est qu’elle est facile à interpréter, et qu’elle sera extensible si nous devons ajouter plusieurs attributs&#160;: <code>class="{role:checkbox;aria-checked:true;}"</code>. Son gros défaut c’est qu’elle a l’apparence d’une verrue dans le code, sans compter que cette notation ressemble suffisamment à la notation classique des paires propriété / valeur de <abbr title="Cascading Style Sheets">CSS</abbr> pour au mieux prêter à confusion chez le développeur moins au fait que vous, au pire faire tousser un navigateur dont le <em>parseur</em> de code y reconnaîtrait de la <abbr title="Cascading Style Sheets">CSS</abbr> (scénario catastrophe, me direz-vous&#160;; oui mais on a déjà vu pire dans certains navigateurs).</p>

<p>Deuxième proposition&#160;: utiliser une notation à base de tirets, <code>class="role-contentinfo"</code>, et manipuler la chaîne en l’explosant pour générer l’attribut et sa valeur.</p>

<h3 id="situations">Deux situations à différencier</h3>

<p>Attention cependant, <abbr title="Accessible Rich Interface Applications">ARIA</abbr> propose une approche deux-en-un&#160;:</p>

<ol>
<li><p>description d’éléments de structure de la page à travers le rôle (les <em lang="en">landmarks</em>)&#160;;</p></li>
<li><p>description d’éléments interactifs (typiquement les éléments de formulaire).</p></li>
</ol>

<p>Selon moi ces deux cas peuvent impliquer une approche différente&#160;: le premier cas doit tant qu’à faire fonctionner même sans JavaScript, le deuxième n’a souvent de sens que si JavaScript fonctionne (puisque le changement dynamique d’état ne peut se faire qu’avec JavaScript).</p>

<h3 id="conclusion">Conclusion</h3>

<p>Je serais enclin à faire du code invalide, en particulier dans le cas des <em lang="en">landmarks</em>, mais plus partagé sur les propriétés dynamiques (rôles et états des éléments interactifs).</p>

<p>À votre avis&#160;? Faut-il du code invalide, et si oui, quelle méthode choisiriez-vous&#160;?</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2009/11/aria-et-validation-comment-faire/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Colonnes CSS fluides</title>
		<link>https://htmlzengarden.vincent-valentin.name/2009/10/colonnes_css_fluides/</link>
		<comments>https://htmlzengarden.vincent-valentin.name/2009/10/colonnes_css_fluides/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 14:30:41 +0000</pubDate>
		<dc:creator><![CDATA[Vincent]]></dc:creator>
				<category><![CDATA[Réflexions]]></category>
		<category><![CDATA[colonnes]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.htmlzengarden.com/?p=731</guid>
		<description><![CDATA[Je découvre tout à fait par hasard ce billet de Nicole qui expose une solution très intéressante pour faire des colonnages. L&#8217;astuce consiste à placer la propriété overflow sur le contenu, pour que celui-ci puisse s&#8217;adapter en fonction de son contexte&#160;: il n&#8217;est alors plus besoin de lui préciser une largeur. On peut alors, modifier [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je découvre tout à fait par hasard <a href="http://www.stubbornella.org/content/2009/07/23/overflow-a-secret-benefit/">ce billet de Nicole qui expose une solution très intéressante pour faire des colonnages</a>.</p>

<p>L&#8217;astuce consiste à placer la propriété <code>overflow</code> sur le contenu, pour que celui-ci puisse s&#8217;adapter en fonction de son contexte&#160;: il n&#8217;est alors plus besoin de lui préciser une largeur. On peut alors, modifier la largeur de la colonne, en ajouter, en supprimer&#160;: le contenu s&#8217;adaptera toujours.</p>

<p>Elle utilise d&#8217;ailleurs cette technique sur <a href="http://oocss.org/template.html">son projet Object-Oriented CSS</a>.</p>

<p>Seules précautions à prendre pour IE 6&#160;:</p>

<ul>
<li>appliquer un <code>hasLayout</code> (via un <code>zoom:1</code> ou un <code>height:1%</code> au contenu&#160;;</li>
<li>ne pas oublier de corriger le &laquo;&nbsp;<a href="http://www.positioniseverything.net/explorer/threepxtest.html">Three Pixel Text Jog</a>&nbsp;&raquo; (via un <code>margin-left:-3px</code> ou <code>margin-right:-3px;</code>).</li>
</ul>

<p>Seuls inconvénients trouvés&#160;:</p>

<ul>
<li>l&#8217;impossibilité de &laquo;&nbsp;faire sortir&nbsp;&raquo; un élément en dehors du cadre contenu, celui-ci ayant un <code>overflow</code>&#160;;</li>
<li>l&#8217;ordre du contenu qui se trouve inversé par rapport à l&#8217;affichage lorsqu&#8217;on utilise une colonne placée à droite.</li>
</ul>

<p><a href="http://www.htmlzengarden.com/colonnes.html">Mon petit fichier de tests est ici si vous le souhaitez</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://htmlzengarden.vincent-valentin.name/2009/10/colonnes_css_fluides/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
