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

<channel>
	<title>CSS &#38; Webdesign &#187; Texte</title>
	<atom:link href="http://css.4design.tl/tag/texte/feed" rel="self" type="application/rss+xml" />
	<link>http://css.4design.tl</link>
	<description>Le blog de l&#039;intégrateur web</description>
	<lastBuildDate>Thu, 24 May 2012 16:31:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Nouvelle méthode de remplacement de texte par une image</title>
		<link>http://css.4design.tl/nouvelle-methode-de-remplacement-de-texte-par-une-image</link>
		<comments>http://css.4design.tl/nouvelle-methode-de-remplacement-de-texte-par-une-image#comments</comments>
		<pubDate>Fri, 16 Mar 2012 13:08:28 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Traductions]]></category>
		<category><![CDATA[.ir]]></category>
		<category><![CDATA[BEM]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Edito]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Font-family]]></category>
		<category><![CDATA[Font-size]]></category>
		<category><![CDATA[HTML5 Boilerplate]]></category>
		<category><![CDATA[IE6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[IE8]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Jaws]]></category>
		<category><![CDATA[Lecteur d'écran]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[nir]]></category>
		<category><![CDATA[Normalize]]></category>
		<category><![CDATA[Pourcentage]]></category>
		<category><![CDATA[text-indent]]></category>
		<category><![CDATA[Text-shadow]]></category>
		<category><![CDATA[Texte]]></category>
		<category><![CDATA[Validateur]]></category>
		<category><![CDATA[Windows-Eyes]]></category>

		<guid isPermaLink="false">http://css.4design.tl/?p=11639</guid>
		<description><![CDATA[Dans l&#8217;article Nouvelle méthode de remplacement d’image en CSS, je vous faisais part d&#8217;une nouvelle méthode de remplacement de texte par l&#8217;image en CSS proposée par Scott Kellum qui utilise la propriété text-indent avec un décalage en pourcentage. Cette méthode n&#8217;étant pas dénuée d&#8217;effets de bord (voir dans la suite de l&#8217;article), une nouvelle technique a fait son apparition lors de la mise à jour de HTML5 Boilerplate. Je vous propose une traduction de l&#8217;article Another CSS image replacement technique écrit par Nicolas Gallagher qui détaille une technique avec font-size : «image replacement» : une autre technique Une nouvelle technique de remplacement [...]]]></description>
			<content:encoded><![CDATA[<p>Dans l&#8217;article <a title="" href="../nouvelle-methode-remplacement-image-css" rel="bookmark">Nouvelle méthode de remplacement d’image en CSS</a>, je vous faisais part d&#8217;une nouvelle méthode de remplacement de texte par l&#8217;image en CSS proposée par Scott Kellum qui utilise la propriété <code>text-indent</code> avec un décalage en pourcentage. Cette méthode n&#8217;étant pas dénuée d&#8217;effets de bord (voir dans la suite de l&#8217;article), une nouvelle technique a fait son apparition lors de la mise à jour de HTML5 Boilerplate. Je vous propose une traduction de l&#8217;article <a href="http://nicolasgallagher.com/another-css-image-replacement-technique/">Another CSS image replacement technique</a> écrit par Nicolas Gallagher qui détaille une technique avec <code>font-size</code> :<span id="more-11639"></span></p>

<h1>«image replacement» : une autre technique</h1>

<p>Une nouvelle technique de remplacement par l&#8217;image a récemment été ajoutée au projet HTML5 Boilerplate. Ce billet explique son fonctionnement et comment elle se situe par rapport aux autres méthodes, utilisant <code>text-indent</code> notamment.</p>

<p>Voici le bloc CSS qui a fait son apparition dans la récente <a href="https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757c9e03dda4e463fb0d4db5a5f82d7">mise à jour</a> de <a href="https://github.com/h5bp/html5-boilerplate">HTML5 Boilerplate</a> et le framework <a href="http://compass-style.org/">Compass</a> :
<pre>.ir {
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
}</pre></p>

<h2>Comment ça marche ?</h2>

<ol>
    <li><code>font:0/0 a</code> &#8212; Ce raccourci met à zéro les propriétés font-size et line-height. La valeur a fonctionne comme un raccourci pour <code>font-family</code> : font-size: 0; line-height: 0 et font-family: a. C&#8217;est une idée reprise de l&#8217;<a href="https://github.com/bem/bem-bl/blob/c451e7bd44b298d23c7fff9bfafe1f0a514f6aaf/blocks-desktop/b-icon/b-icon.css">implémentation BEM</a>. Bien que le validateur CSS fait sa chochotte avec les valeurs <code>0/0</code>, il faut savoir que tous les navigateurs acceptent cette syntaxe et qu&#8217;il s&#8217;agit d&#8217;une erreur d&#8217;interprétation du validateur. En effet, si l&#8217;on utilise <code>font: 0px/0</code>, tout va bien, alors que dans le même temps, le validateur affiche <code>font: 0/0</code>.</li>
    <li><code>text-shadow:none</code> –- Permet de s&#8217;assurer que les ombres portées avec <code>text-shadow</code> sont supprimés du texte pour éviter l&#8217;apparition d&#8217;une ombre portée par-dessus le <em>background</em>.</li>
    <li><code>color:transparent</code> -– Requis pour les navigateurs qui ne parviennent pas à rendre le texte complètement invisible, comme Safari 4 ou certains navigateurs pour mobiles. Les versions d&#8217;Internet Explorer IE6/7/8 ne reconnaissent pas cette valeur pour la propriété <code>color</code>, mais heureusement, les versions IE7/8 ne montrent rien et IE6 n&#8217;affiche qu&#8217;une très légère trace du texte.</li>
</ol>

<p>Dans HTML5 Boilerplate, nous avons également supprimé les éventuelles bordures et couleur de fond :
<pre>/* For image replacement */
.ir {
    border:0;
    font: 0/0 a;
    text-shadow: none;
    color: transparent;
    background-color: transparent;
}</pre>
Cette précaution facilite l&#8217;utilisation de la classe CSS <code>.ir</code> sur les boutons ou les liens contenant explicitement un fond ou une bordure.</p>

<h2>Avantages par rapport à <code>text-indent</code></h2>

<p>Cette nouvelle technique évite les problèmes posés par la méthode de remplacement via <code>text-indent</code>, notamment les pertes de performances. Notez que ces dernières affectent également la dernière méthode <a href="http://www.zeldman.com/2012/03/01/replacing-the-9999px-hack-new-image-replacement/">proposée par Scott Kellum</a> qui vise au départ à améliorer les performances sur iPad 1.</p>

<ol>
    <li>Fonctionne sur IE6/7 sur les éléments de type <code>inline-block</code>. Cf. les problèmes liés aux techniques basées sur l&#8217;indentation de textes à l&#8217;adresse <a href="http://jsfiddle.net/necolas/QZvYa/show/">http://jsfiddle.net/necolas/QZvYa/show/</a></li>
    <li>N&#8217;implique pas la création d&#8217;une boite en dehors de la surface visible de l&#8217;écran qui entraine une baisse des performances.</li>
    <li>Plus besoin de spécifier d&#8217;alignement de texte ou de masquer le contenu qui dépasse car le texte de la nouvelle méthode ne prend tout simplement plus de place.</li>
    <li>Inutile de masquer les éventuelles balises ou d&#8217;utiliser un contournement avec <code>display:inline</code> impliqué par l&#8217;indentation du texte.</li>
    <li>En tout état de cause, cette technique nécessite moins de lignes de code.</li>
</ol>

<h2>Effets de bord</h2>

<p>Aucun <em>hack</em> de remplacement par image n&#8217;est parfait :</p>

<ol>
    <li>Laisse une légère trace de texte sur IE6.</li>
    <li>Implique de ne pas utiliser l&#8217;unité <code>em</code> pour les marges de l&#8217;élément sur lequel vous appliquez cette technique, vu que la taille du texte est réglé à zéro.</li>
    <li>Windows-Eyes a un bug qui empêche la lecture du texte caché par cette méthode. Il n&#8217;y a en revanche aucun problème avec les autres lecteurs d&#8217;écran testés. Merci à @jkiss pour <a href="https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757c9e03dda4e463fb0d4db5a5f82d7#commitcomment-1052728">ses précisions</a> et à @wilto pour avoir confirmé que cette méthode fonctionnait avec JAWS 12 dans IE 6/7/8 et Firefox 4/5/6.</li>
    <li>Comme beaucoup de méthodes de remplacement par l&#8217;image, elle ne fonctionne pas si les CSS sont chargées mais que les images ne le sont pas.</li>
    <li>Le texte n&#8217;est pas caché si le visiteur a une feuille de style utilisateur avec une déclaration <code>font-size</code> se terminant par !important pour l&#8217;élément où vous avez appliqué la class <code>.ir</code>.</li>
</ol>

<p>Il est utile de noter que le remplacement par l&#8217;image utilisant les pseudo-éléments &#8212; <a href="http://nicolasgallagher.com/css-image-replacement-with-pseudo-elements/">NIR image replacement</a> &#8212; évitent ses désagréments mais ne fonctionne pas correctement sur IE6/7.</p>

<h2>Pour finir</h2>

<p>J&#8217;utilise cette technique sans encombre depuis que Jonathan Neal et moi-même l&#8217;utilisons dans le cadre d&#8217;un test de <em>clearfix</em> commencé il y a un an environ. Le framework BEM utilise également cette technique pour ses icônes. L&#8217;idée principale fut proposée <a href="http://www.maxdesign.com.au/articles/headings-as-images/">dès 2003</a> mais le rendu des navigateurs de l&#8217;époque n&#8217;a pas permis une large diffusion de cette méthode.</p>

<p>Si vous rencontrez des problèmes en utilisant cette technique, merci de <a href="https://github.com/h5bp/html5-boilerplate/issues">détailler le bug</a>.</p>

<hr />

<p>Traduit de l&#8217;article <a href="http://nicolasgallagher.com/another-css-image-replacement-technique/">Another CSS image replacement technique</a> avec l&#8217;aimable autorisation de l&#8217;auteur <sup>(1)</sup>.</p>

<p><sup>(1)</sup> <a href="http://nicolasgallagher.com/resume/">Nicolas Gallagher</a> (@necolas) est un développeur web front-end freelance basé à Londres. Il a co-créé<a href="http://github.com/necolas/normalize.css/"> Normalize.css</a> et il fait partie des développeurs du projet <a href="http://github.com/h5bp/html5-boilerplate/">HTML5 Boilerplate</a>.</p>

<p><em>N&#8217;hésitez pas à me faire part de vos remarques sur les contresens (l&#8217;anglais était ma 3e langue), les fautes d&#8217;orthographe et d&#8217;une manière générale tout ce qui pourrait être préjudiciable à l&#8217;article d&#8217;origine.</em></p>

<hr />

<p><strong>Edit du 09/04/2012</strong> &#8212; N&#8217;hésitez pas à jeter un oeil sur l&#8217;article : <a href="http://www.css-101.org/articles/image-replacement/the_new_new_image-replacement_techniques.php">My thoughts about the latest Image Replacement techniques</a> qui pointe les défauts de ces nouvelles méthodes de remplacement de texte par une image.</p>

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

<ul class='related_post'><li><a href='http://css.4design.tl/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://css.4design.tl/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://css.4design.tl/solution-css-accessible-remplacer-texte-html-par-image' title='Une solution CSS accessible pour remplacer du texte HTML par une image'>Une solution CSS accessible pour remplacer du texte HTML par une image</a></li><li><a href='http://css.4design.tl/remplacer-texte-html-par-image-avec-css' title='8 techniques CSS pour remplacer du texte HTML par une image'>8 techniques CSS pour remplacer du texte HTML par une image</a></li><li><a href='http://css.4design.tl/une-feuille-de-style-et-des-hacks-css-pour-cibler-ie6-ie7-ou-ie8' title='Une Feuille de style et des « hacks CSS » pour cibler IE6, IE7 ou IE8'>Une Feuille de style et des « hacks CSS » pour cibler IE6, IE7 ou IE8</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=11639&amp;md5=aaeb44f750c46262c16226d6e3c1eef7" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/nouvelle-methode-de-remplacement-de-texte-par-une-image/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fnouvelle-methode-de-remplacement-de-texte-par-une-image&amp;language=fr_FR&amp;category=text&amp;title=Nouvelle+m%C3%A9thode+de+remplacement+de+texte+par+une+image&amp;description=Dans+l%26%238217%3Barticle+Nouvelle+m%C3%A9thode+de+remplacement+d%E2%80%99image+en+CSS%2C+je+vous+faisais+part+d%26%238217%3Bune+nouvelle+m%C3%A9thode+de+remplacement+de+texte+par+l%26%238217%3Bimage+en+CSS+propos%C3%A9e+par%C2%A0Scott+Kellum+qui+utilise+la...&amp;tags=.ir%2CBEM%2Ccolor%2CCSS%2CEdito%2CFirefox%2CFont-family%2CFont-size%2CHTML5+Boilerplate%2CIE6%2CIE7%2CIE8%2CImage%2CInternet+Explorer%2CJaws%2CLecteur+d%27%C3%A9cran%2CLogo%2Cnir%2CNormalize%2CPourcentage%2Ctext-indent%2CText-shadow%2CTexte%2CValidateur%2CWindows-Eyes%2Cblog" type="text/html" />
	</item>
		<item>
		<title>8 techniques CSS pour remplacer du texte HTML par une image</title>
		<link>http://css.4design.tl/remplacer-texte-html-par-image-avec-css</link>
		<comments>http://css.4design.tl/remplacer-texte-html-par-image-avec-css#comments</comments>
		<pubDate>Mon, 14 Feb 2011 11:46:30 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[HTML & CSS]]></category>
		<category><![CDATA[Background]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Image]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[text-indent]]></category>
		<category><![CDATA[Texte]]></category>
		<category><![CDATA[Viewport]]></category>

		<guid isPermaLink="false">http://css4design.com/?p=7826</guid>
		<description><![CDATA[Il est courant d&#8217;afficher le logo d&#8217;un site web sous la forme d&#8217;une image au lieu de mettre le nom du site au format texte HTML. Les préoccupations grandissantes des webmasters concernant l&#8217;optimisation SEO ont popularisées les titres HTML composés de mots-clés optimisés puis masqués au profit d&#8217;un logo sous forme d&#8217;image. Pour y parvenir, les intégrateurs HTML &#38; CSS ont plusieurs cordes à leur arc. Malheureusement certaines solutions présentent des défauts, notamment en ce qui concerne l&#8217;accessibilité des contenus cachés, qui peuvent rester inaccessibles pour certains (agents) utilisateurs. Sans parler du risque (faible dans ce cas) de passer aux [...]]]></description>
			<content:encoded><![CDATA[<p>Il est courant d&#8217;afficher le logo d&#8217;un site web sous la forme d&#8217;une image au lieu de mettre le nom du site au format texte HTML. Les préoccupations grandissantes des webmasters concernant l&#8217;optimisation SEO ont popularisées les titres HTML composés de mots-clés optimisés puis masqués au profit d&#8217;un logo sous forme d&#8217;image. Pour y parvenir, les intégrateurs HTML &amp; CSS ont plusieurs cordes à leur arc. Malheureusement certaines solutions présentent des défauts, notamment en ce qui concerne l&#8217;accessibilité des contenus cachés, qui peuvent rester inaccessibles pour certains (agents) utilisateurs. Sans parler du risque (faible dans ce cas) de passer aux yeux de Google pour un vilain petit cachottier. Voici donc un florilège de techniques CSS pour cacher ce texte que l&#8217;on ne saurait voir, mais qui a son importance.<span id="more-7826"></span></p>

<h2>Jouer sur la taille des caractères avec font-size</h2>

<p><pre>.texte-a-cacher {
    font-size: 0;
}</pre></p>

<h2>Déplacer le texte hors du Viewport avec text-indent ou position</h2>

<p><pre>.texte-a-cacher {
    text-indent: -9999em;
}</pre>
<pre>.texte-a-cacher {
    position: absolute;
    left: -9999em;
}</pre>
<pre>.texte-a-cacher {
    position: absolute;
    top: -9999em;
}</pre>
<pre>.texte-a-cacher {
    position: absolute;
    top: -9999em;
    left: -9999em;
}</pre></p>

<h2>Sortir le texte du flux avec display</h2>

<p><pre>.texte-a-cacher {
    display: none;
}</pre></p>

<h2>Masquer le texte avec visibility</h2>

<p><pre>.texte-a-cacher {
    visibility: hidden;
}</pre></p>

<h2>Placer le texte derrière l&#8217;image avec z-index</h2>

<p><pre>.texte-a-cacher {
    position: relative;
    z-index: -1;
}</pre></p>

<h2>Exemples de marquages HTML</h2>

<dl> <dt><a href="http://jqueryfordesigners.com/">jQuery for Designers</a></dt> <dd>
<pre>&lt;h1&gt;
    &lt;a href="http://jqueryfordesigners.com"&gt;
        &lt;span&gt;jQuery for Designers&lt;/span&gt;
    &lt;/a&gt;
&lt;/h1&gt;</pre>
<pre>#header h1 a {
    background: url(http://jqueryfordesigners.com/wp-content/themes/j4d/static/images/logo.gif) no-repeat 0px 0px;
    border: none;
    display: block;
    height: 30px;
    width: 258px;
}
#header h1 a span {
    display: none;
}</pre>
</dd> <dt><a href="http://klout.com/">KLOUT</a></dt> <dd>
<pre>&lt;a href="/"&gt;&lt;h1&gt;&lt;span&gt;Klout is &lt;/span&gt;the Standard for Influence&lt;/h1&gt;&lt;/a&gt;</pre>
<pre>h1 {
    background: url(/public/images/logos.png) no-repeat;
    color: #605459;
    font: normal 20px/85px Arial;
    font-style: italic;
    height: 51px;
    padding-left: 125px;
}
h1 span {
    display: none;
}</pre>
</dd> <dt><a href="http://neokraft.net/">Ici et ailleurs</a> (Neokraft)</dt> <dd>
<pre>&lt;div id="top"&gt;
    &lt;h1&gt;&lt;a href="/"&gt;ici &amp;amp; ailleurs&lt;/a&gt;&lt;/h1&gt;
&lt;/div&gt;</pre>
<pre>#top {
    background: transparent url(http://neokraft.net/css/2009-10/img/top_bg.png) no-repeat 0px 3px;
    height: 120px;
}
#top h1 {
    font-size: 0px;
    text-indent: -5000px;
}</pre>
</dd> <dt><a href="http://www.w3.org/">W3C</a></dt> <dd>
<pre>&lt;h1 class="logo"&gt;
    &lt;a tabindex="2" accesskey="1" href="/"&gt;
        &lt;img src="/2008/site/images/logo-w3c-mobile-lg" width="90" height="53" alt="W3C" /&gt;
    &lt;/a&gt;
    &lt;span class="alt-logo"&gt;W3C&lt;/span&gt;
&lt;/h1&gt;</pre>
<pre>h1 a {
    display: block;
    float: left;
    background: url('../images/logo-w3c-screen-lg') no-repeat top left;
    width: 100%;
    height: 107px;
    position: relative;
    z-index: 1;
}
.alt-logo {
    display: block;
    position: absolute;
    left: 20px;
    z-index: 0;
    background-color: white;
}</pre>
</dd> <dt><a href="http://www.sohtanaka.com/">SOHTANAKA</a></dt> <dd>
<pre>&lt;h1&gt;Web Designer &amp; Front-end Developer - Soh Tanaka&lt;/h1&gt;</pre>
<pre>h1 {
    background: url(images/homepage_banner.gif) no-repeat center top;
    height: 219px;
    text-indent: -99999px;
}</pre>
</dd> </dl>

<h2>C&#8217;est quoi le plus mieux bien ?</h2>

<p>A la lecture des billets de <a href="http://www.blog-and-blues.org/weblog/2004/08/19/277-mettre-un-titre-en-image">Laurent Denis</a> et de <a href="http://www.alsacreations.com/article/lire/567-Remplacement-d-images-halte-au-display-none.html">Raphaël Goetter</a>, il semblerait que les solutions à base de <code>display: none</code>, ne soit pas très accessibles aux lecteurs d&#8217;écran. Voici une solution qui semble robuste et efficace :
<pre>&lt;h1&gt;
    &lt;span&gt;Blog &amp; Blues&lt;/span&gt;
&lt;/h1&gt;</pre>
<pre>span {
    position:absolute;
    left: 0;
    top: -500px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}</pre>
Les solutions à base de <code>text-index: -9999em</code> semblent également intéressantes</p>

<h2>C&#8217;est fini</h2>

<p>Il ne s&#8217;agit pas d&#8217;une liste exhaustive des solutions possibles (vous en trouvez bien plus dans les liens présents dans la Linkographie, ci-dessous), mais de quelques bouts de code que l&#8217;on rencontre assez souvent.</p>

<h2>Linkographie</h2>

<ul>
    <li><a href="http://www.alsacreations.com/astuce/lire/84-comment-fonctionne-la-proprit-css-z-index.html">Comment fonctionne la propriété CSS z-index ?</a></li>
    <li><a href="http://www.alsacreations.com/article/lire/567-Remplacement-d-images-halte-au-display-none.html">Remplacement d&#8217;images : halte au display none !</a></li>
    <li><a href="http://www.blog-and-blues.org/weblog/2004/08/19/277-mettre-un-titre-en-image">Mettre un titre en image et rester accessible</a></li>
    <li><a href="http://stopdesign.com/archive/2003/03/07/replace-text.html">Using background-image to replace text</a></li>
    <li><a href="http://www.mezzoblue.com/tests/revised-image-replacement/">Revised Image Replacement</a></li>
</ul>

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

<ul class='related_post'><li><a href='http://css.4design.tl/nouvelle-methode-de-remplacement-de-texte-par-une-image' title='Nouvelle méthode de remplacement de texte par une image'>Nouvelle méthode de remplacement de texte par une image</a></li><li><a href='http://css.4design.tl/nouvelle-methode-remplacement-image-css' title='Nouvelle méthode de remplacement d&#8217;image en CSS'>Nouvelle méthode de remplacement d&#8217;image en CSS</a></li><li><a href='http://css.4design.tl/solution-css-accessible-remplacer-texte-html-par-image' title='Une solution CSS accessible pour remplacer du texte HTML par une image'>Une solution CSS accessible pour remplacer du texte HTML par une image</a></li><li><a href='http://css.4design.tl/composes-html-logo-baseline-potentiel-seo' title='8 composés HTML pour le logo et la « baseline » et leur potentiel SEO'>8 composés HTML pour le logo et la « baseline » et leur potentiel SEO</a></li><li><a href='http://css.4design.tl/styler-champ-de-formulaires-input-css' title='Styler vos champs de formulaires de recherche avec CSS'>Styler vos champs de formulaires de recherche avec CSS</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=7826&amp;md5=61393f1ceee186664faa74bbb6328dcf" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/remplacer-texte-html-par-image-avec-css/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fremplacer-texte-html-par-image-avec-css&amp;language=fr_FR&amp;category=text&amp;title=8+techniques+CSS+pour+remplacer+du+texte+HTML+par+une+image&amp;description=Il+est+courant+d%26%238217%3Bafficher+le+logo+d%26%238217%3Bun+site+web+sous+la+forme+d%26%238217%3Bune+image+au+lieu+de+mettre+le+nom+du+site+au+format+texte+HTML.+Les+pr%C3%A9occupations+grandissantes+des...&amp;tags=Background%2CCSS%2CHTML%2CImage%2CLogo%2Ctext-indent%2CTexte%2CViewport%2Cblog" type="text/html" />
	</item>
		<item>
		<title>jQuery &#8212; Toutes les femmes sont folles &#124; de Q &#124; 10 +</title>
		<link>http://css.4design.tl/jquery-toutes-les-femmes-sont-folles-de-q-10</link>
		<comments>http://css.4design.tl/jquery-toutes-les-femmes-sont-folles-de-q-10#comments</comments>
		<pubDate>Wed, 13 Aug 2008 22:57:45 +0000</pubDate>
		<dc:creator>Bruno Bichet</dc:creator>
				<category><![CDATA[Javascript & PHP]]></category>
		<category><![CDATA[Espace]]></category>
		<category><![CDATA[Fonction]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Texte]]></category>
		<category><![CDATA[Titre]]></category>

		<guid isPermaLink="false">http://www.css4design.com/?p=859</guid>
		<description><![CDATA[Il suffit parfois d&#8217;une coupure de fin de phrase malheureuse pour que le sens global nous échappe ou qu&#8217;un double sens politiquement incorrecte voit le jour&#8230; Par ailleurs, un mot seul sur sa ligne n&#8217;est pas très esthétique visuellement. Voici une fonction jQuery pour remettre les choses en place ^_^ En typographie, on appelle ça la gestion des veuves et des orphelines. En général ces termes s&#8217;appliquent plutôt à la première ligne d&#8217;un paragraphe qui se retrouve seule à la fin d&#8217;une page (opheline) ou la dernière ligne d&#8217;un paragraphe qui se retrouve seule en haut d&#8217;une page (veuve) cf. [...]]]></description>
			<content:encoded><![CDATA[<p>Il suffit parfois d&#8217;une coupure de fin de phrase malheureuse pour que le sens global nous échappe ou qu&#8217;un double sens politiquement incorrecte voit le jour&#8230; Par ailleurs, un mot seul sur sa ligne n&#8217;est pas très esthétique visuellement. Voici une fonction jQuery pour remettre les choses en place ^_^<span id="more-859"></span></p>

<p>En typographie, on appelle ça la gestion des veuves et des orphelines. En général ces termes s&#8217;appliquent plutôt à la première ligne d&#8217;un paragraphe qui se retrouve seule à la fin d&#8217;une page (opheline) ou la dernière ligne d&#8217;un paragraphe qui se retrouve seule en haut d&#8217;une page (veuve) cf. <a href="http://en.wikipedia.org/wiki/Widows_and_orphans">Wikipedia</a>.</p>

<p>Le site <a href="http://www.learningjquery.com/">Learning jQuery</a> propose <a href="http://www.learningjquery.com/2008/07/three-quick-ways-to-avoid-widows">trois méthodes</a> pour appliquer un espace insécable <code>&amp;nbsp;</code> entre les deux derniers mots d&#8217;un titre pour les solidariser sur la deuxième ligne afin d&#8217;éviter d&#8217;avoir un titre disgracieux comme celui que vous avez sous les yeux :D</p>

<p>Parmi les trois solutions proposées, j&#8217;ai choisi celle qui reposait sur le traitement des chaines de caractères <code>string</code>, mais rien ne vous empêche de choisir la méthode utilisant les tableaux (<code>Array</code>) ou les <em>Expressions régulières</em>.</p>

<p><pre><code>
$(document).ready(function() {
    var h2all, h2a, h2b;
        $('h2 a').each(function() {
        h2all = $(this).text();
        h2a = h2all.slice(0, h2all.lastIndexOf(' '));
        h2b = '&amp;nbsp;' + h2all.slice(h2all.lastIndexOf(' ')+1);
         $(this).html(h2a + h2b);
     });
});
</code></pre></p>

<p>La fonction s&#8217;applique uniquement aux liens contenus dans la balise de titre de niveau <code>H2</code> sur l&#8217;ensemble de la page.</p>

<p><strong>MAJ :</strong> Pour intégrer cette fonction dans WordPress, voici un <a href="http://www.css4design.com/data/zip/no-widows.zip">fichier .zip à décompresser</a> et à placer dans le dossier <em>plugins</em> de votre thème.</p>

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

<ul class='related_post'><li><a href='http://css.4design.tl/fonction-javascript-contre-bug-classes-multiples-internet-explorer-6' title='IE6 &#8212; 3 fonctions Javascript pour lutter contre le bug des classes multiples'>IE6 &#8212; 3 fonctions Javascript pour lutter contre le bug des classes multiples</a></li><li><a href='http://css.4design.tl/139-ressources-javascript-et-jquery' title='139 ressources Javascript et jQuery'>139 ressources Javascript et jQuery</a></li><li><a href='http://css.4design.tl/jquery-splitter-divisez-votre-contenu-en-plusieurs-parties-redimensionnables' title='jQuery Splitter &#8212; divisez votre contenu en plusieurs parties redimensionnables'>jQuery Splitter &#8212; divisez votre contenu en plusieurs parties redimensionnables</a></li><li><a href='http://css.4design.tl/mise-a-jour-de-la-grosse-grosse-liste-pour-webdesigner' title='Mise-à-jour de la grosse grosse liste pour webdesigner'>Mise-à-jour de la grosse grosse liste pour webdesigner</a></li><li><a href='http://css.4design.tl/1000-ressources-pour-wordpress-et-le-developpement-web' title='1000 ressources pour le développement web et WordPress'>1000 ressources pour le développement web et WordPress</a></li></ul>
 <p><a href="http://css.4design.tl/?flattrss_redirect&amp;id=859&amp;md5=372891d4c87ba10eff12a9d4f08a8e1b" title="Flattr" target="_blank"><img src="http://css.4design.tl/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://css.4design.tl/jquery-toutes-les-femmes-sont-folles-de-q-10/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<atom:link rel="payment" href="https://flattr.com/submit/auto?user_id=br1o&amp;popout=1&amp;url=http%3A%2F%2Fcss.4design.tl%2Fjquery-toutes-les-femmes-sont-folles-de-q-10&amp;language=fr_FR&amp;category=text&amp;title=jQuery+%26%238212%3B+Toutes+les+femmes+sont+folles+%26%23124%3B+de+Q+%26%23124%3B+10+%2B&amp;description=Il+suffit+parfois+d%26%238217%3Bune+coupure+de+fin+de+phrase+malheureuse+pour+que+le+sens+global+nous+%C3%A9chappe+ou+qu%26%238217%3Bun+double+sens+politiquement+incorrecte+voit+le+jour%26%238230%3B+Par+ailleurs%2C+un+mot...&amp;tags=Espace%2CFonction%2CjQuery%2CPlugins%2CTexte%2CTitre%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: basic

Served from: css.4design.tl @ 2012-05-25 04:44:55 -->
