<?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>Internet Explorer &#8211; Les intégristes</title>
	<atom:link href="/tag/internet-explorer/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description></description>
	<lastBuildDate>Thu, 31 Mar 2016 16:46:46 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0</generator>
	<item>
		<title>Mort à IE6 !</title>
		<link>/2008/10/22/mort-a-ie6/</link>
					<comments>/2008/10/22/mort-a-ie6/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Wed, 22 Oct 2008 15:25:12 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Navigateurs]]></category>
		<guid isPermaLink="false">/?p=160</guid>

					<description><![CDATA[Alors que IE8 beta 2 est sorti depuis environ deux mois et que la version finale est prévue pour la fin de cette année, on se surprend à rêver de nouveau à l’idée de pouvoir enfin utiliser l’ensemble (ou presque) de CSS 2.1 et commencer à expérimenter  CSS3. Dernier obstacle sur notre route : la survie d’Internet Explorer 6.0. On se demande comment un navigateur sorti en 2001 peut encore représenter une part d’environ 20% sur l’ensemble des navigateurs du marché.
(Source : http://www.w3schools.com/browsers/browsers_stats.asp)
Ok vous vous accrochez à votre vieille deudeuche avec ces sièges en toile tendue, ses vitres&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p class="MsoNormal">Alors que IE8 beta 2 est sorti depuis environ deux mois et que la version finale est prévue pour la fin de cette année, on se surprend à rêver de nouveau à l’idée de pouvoir enfin utiliser l’ensemble (ou presque) de CSS 2.1 et commencer à expérimenter  CSS3. Dernier obstacle sur notre route : la survie d’Internet Explorer 6.0. On se demande comment un navigateur sorti en 2001 peut encore représenter une part d’environ 20% sur l’ensemble des navigateurs du marché.<br />
(<em>Source : </em><a href="http://www.w3schools.com/browsers/browsers_stats.asp"><em>http://www.w3schools.com/browsers/browsers_stats.asp</em></a>)</p>
<p class="MsoNormal">Ok vous vous accrochez à votre vieille deudeuche avec ces sièges en toile tendue, ses vitres à rabat manuel, son toit qui ne supporte pas les intempéries, etc.. mais, vous sentez vous en sécurité ? N’avez-vous pas envie d’arriver plus vite à bon port et surtout avec plus de confort ?</p>
<p class="MsoNormal">Bon j’arrête là l&rsquo;analogie, parce que contrairement à votre vieille voiture, on vous échange votre vieille version d’internet explorer contre la toute dernière version de n’importe quel navigateur, au choix : Firefox, Opéra, Safari, Chrome ou même Internet Explorer : les arguments sont plutôt convaincant, jugez plutôt :</p>
<ul>
<li>Sécurité accrue,</li>
<li>vitesse d’affichage plus rapide,</li>
<li>meilleure prise en compte des standards du web,</li>
<li>navigation par onglets,</li>
<li>modules complémentaires,</li>
<li>personnalisation,</li>
<li>blocage des fenêtres popup,</li>
<li>etc. La liste est longue.</li>
</ul>
<p class="MsoNormal">Vous pouvez également rejoindre la « <a href="http://iedeathmarch.org/">IE6 Death March</a> » où des sites aussi célèbres que Facebook ont carrément laissé tomber le suivi d’IE6. Bon sans aller jusque là on peut peut-être accompagner ce vieux monsieur vers une fin progressive en offrant une version dégradée mais fonctionnelle de son site pour IE6.</p>
<p class="MsoNormal">Et là c’est une nouvelle façon de coder qui s’ouvre à nous, voyons ce que nous allons pouvoir faire, limite ça donne le tournis :</p>
<ol>
<li>Utiliser enfin toutes les possibilités de CSS 2, comme : 
<dl>
<dt>&#8211; le sélecteur d&rsquo;enfant direct (&gt;)</dt>
<dd>Ce fameux sélecteur, qui était utilisé comme hack IE6 pourra enfin être utilisé dans sa fonctionnalité première, c&rsquo;est à dire que si nous avons par exemple le code : div &gt; p {color:red} les paragraphes qui sont des enfants directs du conteneur div seront en rouge alors que les autres resteront dans leur couleur par défaut.</dd>
<dt>&#8211; le sélecteur d&rsquo;élément adjacent direct (+)</dt>
<dd>Dans h1 + p{font-style:italic} chaque paragraphe précédé d&rsquo;un titre de niveau 1 est en italique, les autres paragraphe conservent le style par défaut ou le style défini dans la css.</dd>
<dt>&#8211; le sélecteur d&rsquo;attributs [attr]</dt>
<dd>C&rsquo;est de loin un des sélecteurs les plus intéressants puisqu&rsquo;on peut styler les balises en fonction de leurs attributs.</dd>
<dd>Exemple avec les liens :<br />
<code class="prettyprint">a[rel=external]{padding-right:15px;background:url(http://fr.wikipedia.org/skins-1.5/monobook/external.png) 100% 50% no-repeat;} </code><br />
Les liens s&rsquo;ouvrant dans une nouvelle fenêtre auront un style particulier : un petite icône sur leur droite<br />
Les formulaires :<br />
<code class="prettyprint">input[type="text"]{border:1px solid #666;}</code><br />
Les input de type texte auront une bordure grise.<br />
Je vous laisse trouver toutes les applications que vous pourrez faire avec ce procédé&#8230;</dd>
<dt>&#8211; les classes multiples</dt>
<dd>Ok vous pourrez me dire que vous les utilisez déjà et qu&rsquo;il y a un moyen de détourner les limitations d&rsquo;IE6. Il n&#8217;empêche que sans IE6, vous seriez plus à l&rsquo;aise pour organiser vos styles.<br />
Je vous invite à relire <a href="/2008/01/25/internet-explorer-6-id-class-et-background/">le billet de Pierre du25/01/2008</a> à ce sujet pour vous en convaincre</dd>
<dt>&#8211; les pseudos-selecteurs :before, :after, :focus et :first-child, </dt>
<dd>:before et :after pour générer du contenu en css et pouvoir gérer des éléments flottants sans ajouter de code html, :focus permettra de rendre les formulaires plus conviviaux sans avoir à recourir à du JS et :first-child pour éviter de mettre des classes first un peu partout sur les premiers éléments d&rsquo;une navigation par exemple.</dd>
<dt>&#8211; le pseudo sélecteur :hover sur d&rsquo;autres éléments que le lien</dt>
<dd>Pas indispensable mais quand même pratique pour certains menus déroulants. Fini l&rsquo;utilisation du JS.</dd>
<dt>&#8211;  min/max width/height,</dt>
<dd>Fixer une hauteur/largeur minimale/maximale serait bien pratique non ? Sans avoir recours à des hacks. </dd>
</dl>
</li>
<li>Commencer à utiliser CSS3
<dl>
<dt>&#8211; le sélecteur d&rsquo;élément adjacent indirect (~)</dt>
<dd>Dans h1 ~ p{font-weight:bold} tous les paragraphes précédés d&rsquo;un titre de niveau 1 sont en gras contrairement au sélecteur d&rsquo;élément adjacent direct où uniquement le premier paragraphe est affecté par le style défini. </dd>
<dt>&#8211; le sélecteur avancé d&rsquo;attribut [ attr*] </dt>
<dd>Même chose que le sélecteur d&rsquo;attribut mais sur des portions des valeurs définies dans les attributs. </dd>
</dl>
<p>La question philosophique qui se pose dans l&rsquo;effervescence, voire l&rsquo;urgence actuelle des intégrateurs et développeurs à vouloir se débarrasser d&rsquo;Internet Explorer 6 est : devons-nous faire en sorte que, pour qu&rsquo;il soit accessible, le web soit consultable par tous les navigateurs encore en activité sur les postes des internautes ou amener progressivement les retardataires à s&rsquo;équiper des dernières versions et dans ce cas, faut-il intrusivement suggérer à l&rsquo;utilisateur comme le fait le script de « Save the developpers » de changer son moyen de naviguer sur la toile ?</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>/2008/10/22/mort-a-ie6/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Cibler Internet Explorer dans une CSS ? Oui, et sans hack.</title>
		<link>/2008/04/08/cibler-internet-explorer-dans-une-css-oui-et-sans-hack/</link>
					<comments>/2008/04/08/cibler-internet-explorer-dans-une-css-oui-et-sans-hack/#comments</comments>
		
		<dc:creator><![CDATA[Pierre Bertet]]></dc:creator>
		<pubDate>Tue, 08 Apr 2008 21:01:58 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Navigateurs]]></category>
		<guid isPermaLink="false">/?p=60</guid>

					<description><![CDATA[La méthode commence à être rodée : pour intégrer un design en CSS, on commence par le faire sur un navigateur « moderne », puis on corrige les différents problèmes rencontrés sur Internet Explorer, surtout dans sa version 6, qui commence à sérieusement à s&#8217;incruster.
Pour cela, il existe plusieurs solutions.
Eviter les embrouilles
Avec la pratique, un certain nombre de réflexes se mettent en place, et on anticipe immédiatement les problèmes.
Un float:left, avec une marge sur sa gauche ? Un display:inline placé dans la même déclaration permet d&#8217;éviter le bug de la double marge. Tous les navigateurs ignorent&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>La méthode commence à être rodée : pour intégrer un design en CSS, on commence par le faire sur un navigateur « moderne », puis on corrige les différents problèmes rencontrés sur Internet Explorer, surtout dans sa version 6, qui commence à sérieusement à s&rsquo;incruster.</p>
<p>Pour cela, il existe plusieurs solutions.</p>
<h2>Eviter les embrouilles</h2>
<p>Avec la pratique, un certain nombre de réflexes se mettent en place, et on anticipe immédiatement les problèmes.<br />
Un <code class="prettyprint">float:left</code>, avec une marge sur sa gauche ? Un <code class="prettyprint">display:inline</code> placé dans la même déclaration permet d&rsquo;éviter le <a href="http://www.positioniseverything.net/explorer/doubled-margin.html">bug de la double marge</a>. Tous les navigateurs ignorent ce <code class="prettyprint">display:inline</code>, car la propriété <code class="prettyprint">float</code> est prioritaire. C&rsquo;est toujours ça de pris.</p>
<p>Malheureusement ça ne suffit pas toujours, et il n&rsquo;y a parfois d&rsquo;autre solution que de déclarer une propriété spécialement pour IE.</p>
<h2>Le bon vieux hack</h2>
<p>Allons-y joyeusement, il faut résoudre un bug sur IE6, et les hacks semblent pratiques et simples à utiliser.<br />
Allez, au hasard&#8230; Le sélecteur d&rsquo;enfant : <code class="prettyprint">html &gt; body</code></p>
<p>IE6 ne comprend pas le sélecteur « &gt; ». Il donc est possible de profiter de ce bug pour cibler IE6, de cette façon :</p>
<pre><code class="prettyprint">.my_element{margin-left:5px;} /* Cette déclaration est interprétée par tous les navigateurs */
html &gt; body .my_element{margin-left:8px;} /* ... Puis est écrasée par la suivante, sauf pour IE6 qui ne comprendra pas cette déclaration. */</code></pre>
<p>C&rsquo;est pratique. Seulement IE7 ne corrige pas le bug pour lequel nous devions corriger la propriété margin. Pour le sélecteur d&rsquo;enfants, pas de problème, IE7 l&rsquo;interprète. Logiquement, le bug réapparaît.</p>
<p>En suivant la même méthode, il faut donc trouver un nouveau bug de sélecteur dans IE7, et revoir la CSS. Il arrive également que IE7 ne doive pas recevoir la même correction. Il faut donc trouver un bug qui s&rsquo;applique à IE7 <strong>mais pas</strong> à IE6.<br />
Et comment être sûr de ne cibler qu&rsquo;IE6 ? Un autre navigateur ne prenant pas en charge ce sélecteur pourrait exister.</p>
<p>Il nous faut une autre solution, permettant de cibler efficacement Internet Explorer.</p>
<h2>Les commentaires conditionnels</h2>
<p>Microsoft a ajouté quelque chose de formidable à Internet Explorer : les commentaires conditionnels.</p>
<p>Ils permettent de ne servir un contenu qu&rsquo;à Internet Explorer en général, ou à une de ses versions, en utilisant une syntaxe particulière à l&rsquo;intérieur de commentaires HTML.</p>
<p>Ils n&rsquo;ont certainement pas être prévus pour ça au départ, mais ils sont aujourd&rsquo;hui principalement utilisés pour corriger les bugs de ce navigateur.</p>
<p>Il est donc possible d&rsquo;utiliser le code suivant :</p>
<pre><code class="prettyprint">&lt;!--[if IE 6]&gt; &lt;link rel="stylesheet" href="styles/internet-explorer-6.css" type="text/css" media="screen" /&gt; &lt;![endif]--&gt;
</code></pre>
<p>Pour un navigateur suivant la <a href="http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4">spécification HTML4.01</a>, la balise <code class="prettyprint">&lt;link&gt;</code> est simplement ignorée car elle est placée dans un commentaire, mais pas pour Internet Explorer. Il va lire ce commentaire, et si une condition est déclarée, et qu&rsquo;elle correspond au navigateur utilisé, le code sera tout de même interprété.</p>
<p>Cette solution est fiable, car il n&rsquo;existe aucune raison pour qu&rsquo;un autre navigateur interprète, dans le passé ou l&rsquo;avenir, un commentaire de ce type.</p>
<p>Il est donc possible de créer une CSS pour IE6, une autre pour IE7 au cas où, et allez, encore une pour les versions d&rsquo;IE inférieures à 8, histoire de cibler toutes les version passées de ce vieil ami.</p>
<p>Nous voici donc avec notre feuille de style, et une, deux voire trois nouvelles pour Internet Explorer. Si les CSS du site sont réparties sur plusieurs fichiers, il va falloir créer autant de nouveaux ensembles de fichiers « IE », ou les utiliser de manière globale en prenant le risque d&rsquo;appliquer à certaines pages des styles qui ne leur sont pas destinés.</p>
<p>Avec le temps, cette solution est beaucoup moins pratique : il faut jongler avec plusieurs fichiers, se souvenir que la déclaration de la ligne 310 du fichier « home.css » est corrigée à la ligne 14 du fichier « internet-explorer-6.css », mais aussi à la ligne 8 du fichier « internet-explorer-7.css ».</p>
<p>Il se pourrait aussi qu&rsquo;un jour cette correction provoque un effet indésirable, placée dans un certain contexte. Il faudrait alors se souvenir que cet élément a été corrigé dans l&rsquo;autre CSS, et que cette correction peut être la cause du dysfonctionnement.</p>
<p>Mais existe-t-il une méthode fiable <strong>et</strong> pratique ? P&rsquo;t&rsquo;êt&rsquo; bien, ouais.</p>
<h2>Les commentaires conditionnels, en plus malin</h2>
<p>Il s&rsquo;agit avec cette technique d&rsquo;utiliser les commentaires conditionnels non pas pour appeler une feuille de style, mais pour entourer la page d&rsquo;un conteneur qui prendra comme attribut « id » <code>IE6</code>, <code>IE7</code>, <code>IE</code> ou encore <code>NOTIE</code>.</p>
<p>Cet identifiant permettra de cibler précisément une version d&rsquo;Internet Explorer, dans une CSS « normale ».</p>
<p>Le code se présente sous cette forme :</p>
<pre><code class="prettyprint">&lt;body&gt;
&lt;!--[if IE 6]&gt;&lt;div id="IE6"&gt;&lt;![endif]--&gt;</code></pre>
<p>Et avant la balise de fermeture <code class="prettyprint">&lt;/body&gt;</code> :</p>
<pre><code class="prettyprint">&lt;!--[if IE 6]&gt;&lt;/div&gt;&lt;![endif]--&gt;
&lt;/body&gt;</code></pre>
<p>Pour les navigateurs « normaux » et un outil de validation html, il s&rsquo;agit de commentaires html tout à fait classiques, et sont ignorés.</p>
<p>De cette manière, il est aussi possible d&rsquo;ajouter le support d&rsquo;IE, en ajoutant une balise d&rsquo;ouverture  <code class="prettyprint">&lt;div id="IE7"&gt;</code> en haut et en modifiant la condition du bas pour cibler IE6 et IE7 à la fois.</p>
<p>Nous pouvons aussi utiliser des conditions de type « n&rsquo;est pas », ce qui permet de cibler tous les navigateurs sauf IE.</p>
<p>Voici le code modifié :</p>
<pre><code class="prettyprint">&lt;body&gt;
&lt;!--[if IE 6]&gt;&lt;div id="IE6"&gt;&lt;![endif]--&gt;
&lt;!--[if IE 7]&gt;&lt;div id="IE7"&gt;&lt;![endif]--&gt;
&lt;!--[if (IE) &amp; (!IE 6) &amp; (!IE 7)]&gt;&lt;div id="IE"&gt;&lt;![endif]--&gt; &lt;!-- Pour les anciennes et prochaines versions d'Internet Explorer (autres que 6 et 7) --&gt;
&lt;!--[if !IE]&gt;--&gt;&lt;div id="NOTIE"&gt;&lt;!--&lt;![endif]--&gt; &lt;!-- Le commentaire est fermé, puis rouvert --&gt;

&lt;!-- Structure HTML de la page --&gt;

&lt;/div&gt; &lt;!-- Une simple fermeture de balise à la fin, car tous les navigateurs sont ciblés. --&gt;
&lt;/body&gt;
</code></pre>
<p>Il suffit ensuite d&rsquo;utiliser ces sélecteurs de la même manière qu&rsquo;un hack, mais plus clairement, plus facilement et surtout de manière <strong>fiable</strong> :</p>
<pre><code class="prettyprint">.mon_element{margin-left:2px;}
#IE .mon_element{margin-left:3px;}
#IE6 .mon_element{margin-left:4px;}
#IE7 .mon_element{margin-left:5px;}
#NOTIE .mon_element{margin-left:6px;}</code></pre>
<p>Evidemment l&rsquo;exemple est stupide, puisqu&rsquo;il n&rsquo;y a aucune raison de cibler tous ces éléments à la fois.</p>
<p>Les avantages sont nombreux :</p>
<ul>
<li>C&rsquo;est <strong>fiable</strong> : une nouvelle version d&rsquo;Internet Explorer sera considérée comme « standard » (mais attention à l&rsquo;utilisation de #NOTIE, qui ne sera vraisemblablement pas reconnue par les futures version d&rsquo;Internet Explorer)</li>
<li>Une seule CSS à maintenir</li>
<li>Le code HTML et CSS reste parfaitement valide</li>
<li>La déclaration a du sens, il n&rsquo;est pas utile de commenter ceci : <code>#IE6 .mon_element{margin:-3px;}</code></li>
<li>Lors de la sortie d&rsquo;une nouvelle version d&rsquo;IE, il suffit de lister les bugs qui n&rsquo;ont pas été corrigés, et d&rsquo;ajouter une nouvelle déclaration (IE8) pour ceux-ci.</li>
</ul>
<p>A vous ensuite de composer avec ces différents exemples pour créer une structure adaptée à vos besoins : l&rsquo;utilisation des éléments <code class="prettyprint">&lt;div id="IE6"&gt;</code> et <code class="prettyprint">&lt;div id="IE7"&gt;</code> devraient suffire à la majorité des cas.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2008/04/08/cibler-internet-explorer-dans-une-css-oui-et-sans-hack/feed/</wfw:commentRss>
			<slash:comments>28</slash:comments>
		
		
			</item>
		<item>
		<title>Que se passe-t-il en mode quirks ? (traduction)</title>
		<link>/2008/04/06/que-se-passe-t-il-en-mode-quirks-traduction/</link>
					<comments>/2008/04/06/que-se-passe-t-il-en-mode-quirks-traduction/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Sun, 06 Apr 2008 19:43:25 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Navigateurs]]></category>
		<guid isPermaLink="false">/?p=50</guid>

					<description><![CDATA[Ce billet est la traduction de l&#8217;article « What happens in Quirks mode » de Jukka “Yucca” Korpela initialement paru sur le site du Tampere University of Technologie (Finlande) le 13 avril 2007, dernière modification le 28 février 2008.
Le mode quirks est un mode de fonctionnement des navigateurs Web tels qu&#8217;Internet Explorer (IE), Firefox et Opera. En gros, le mode quirks (aussi appelé mode compatibilité) signifie qu&#8217;un navigateur relativement moderne simule intentionnellement de nombreux bugs des anciens navigateurs, en particulier IE 4 et IE 5.
Le mode quirks est déclenché par le doctype sniffing aussi connu sous le nom&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ce billet est la traduction de l&rsquo;article <a href="http://www.cs.tut.fi/~jkorpela/quirks-mode.html">« What happens in Quirks mode »</a> de Jukka “Yucca” Korpela initialement paru sur le site du <a href="http://www.cs.tut.fi/~jkorpela/www.html">Tampere University of Technologie</a> (Finlande) le 13 avril 2007, dernière modification le 28 février 2008.</p>
<div class="preamble">Le <strong>mode quirks</strong> est un mode de fonctionnement des navigateurs Web tels qu&rsquo;Internet Explorer (IE), Firefox et Opera. En gros, le mode quirks (aussi appelé <strong>mode compatibilité</strong>) signifie qu&rsquo;un navigateur relativement moderne simule intentionnellement de nombreux bugs des anciens navigateurs, en particulier IE 4 et IE 5.</p>
<p>Le mode quirks est déclenché par le <strong>doctype sniffing</strong> aussi connu sous le nom de <strong>doctype switching</strong>. Cela signifie que le navigateur inspecte le début d&rsquo;un document HTML pour voir si il contient une déclaration de doctype comme requis par les spécifications HTML.</p>
<p>Le but du mode quirks est de faire que les vieilles pages s&rsquo;affichent comme l&rsquo;a voulu  leur auteur. Les vieilles pages peuvent avoir été écrites pour utiliser les caractéristiques connues des vieux navigateurs ou du moins de s&rsquo;y adapter. Pour plus d&rsquo;informations sur le mode quirks, en général, consultez le site <a href="http://www.quirksmode.org/">QuirksMode.org</a>.</p>
<p>Il n&rsquo;existe pas de spécification de ce qui se passe en mode Quirks. Après tout, le mode est, par essence, une violation intentionnelle des spécifications CSS et HTML. Cependant, puisque les auteurs peuvent avoir besoin d&rsquo;une description de ce qui peut réellement se passer dans le mode quirks, j&rsquo;ai rédigé ce document.</p>
<p>Si vous avez une <strong>page existante</strong> qui semble bien fonctionner mais qu&rsquo;il lui manque une déclaration de doctype (exigés par les spécifications HTML), pour commencer vous devriez éviter d&rsquo;ajouter cette déclaration. La raison en est que la déclaration fait basculer les navigateurs en mode standard opposé au mode quirks. Cela peut donner à peu près n&rsquo;importe quoi. J&rsquo;ai vu tout le contenu d&rsquo;une page disparaître lorsqu&rsquo;on ajoute une déclaration de doctype. Plus souvent, le [layout] change de façon plutôt inattendue. Eh bien, les résultats ne sont pas inattendus que ça si vous savez ce qui peut se passer en mode quirks. Avant d&rsquo;ajouter une déclaration de doctype, vous devriez vérifier à la fois le code HTML et CSS pour la correction syntaxique en utilisant les validateurs et vérificateurs. Ce n&rsquo;est peut-être pas assez, puisque la page pourrait encore avoir été écrit en se fondant sur ce qui «marche» en mode quirks. Ainsi, vous devez tester la page au moins sur IE 7 et Firefox 2 en mode standard, c&rsquo;est-à-dire après avoir ajouté une déclaration de doctype. Si la page ne fonctionne pas alors, la liste suivante pourrait être utile pour repérer le problème.</p>
<p>Lors de la création d&rsquo;une <strong>nouvelle page</strong>, vous n&rsquo;avez pas besoin d&rsquo;avoir de connaissances sur le mode quirks et ne devriez normalement pas y penser. Il suffit d&rsquo;écrire selon les spécifications HTML et CSS, ce qui inclut l&rsquo;utilisation d&rsquo;une déclaration de doctype qui fera passer les navigateurs modernes en mode standard. En outre, la déclaration de doctype indiquée dès le début fait passer certains navigateurs en mode quirks, s&rsquo;il y a quelque chose (même un commentaire) avant. (Ceci entraîne des problèmes si vous utilisez XHTML, mais dans la plupart des cas, vous ne devriez pas utiliser XHTML pour les pages Web de toute façon, pour l&rsquo;instant.) Mais si vous décidez d&rsquo;utiliser certaines fonctionnalités qui fonctionnent seulement  en mode Quirks, comme l&rsquo;attribut <code>height = "100%"</code> pour l&rsquo;élément table, il vous faudra vérifier la liste pour les autres incidences possibles.</p>
</div>
<p>En mode quirks, les navigateurs se comportent de la façon suivante, <em>bien que tous les navigateurs ne présentent pas toutes ces caractéristiques</em> :</p>
<ul class="line-breaks-li">
<li> Le <strong>modèle de boîte</strong> est incorrect (différent des spécifications CSS bien que peut-être intuitivement plus naturel). Cela veut dire que les propriétés de largeurs et de hauteurs, donnent les dimensions de l&rsquo;élément »boîte » dans son intégralité incluant les marges intérieures (padding) et les bordures et non juste le contenu de l&rsquo;élément. (<a href="#demo">Demo</a> plus loin dans ce document)</li>
<li> Les <strong>dimensions </strong>des éléments inline (par exemple les éléments span par défaut) prennent en compte les propriétés de largeur et de hauteur spécifiées  (alors que d&rsquo;après les spécifications CSS, elles doivent être ignorées).</li>
<li> Les <strong>hauteurs en pourcentage</strong> pour les éléments (par exemple <code><br />
&lt;table style="height: 100%;" border="0"&gt;</code> en HTML ou table { height: 100% } en CSS) sont appliquées en utilisant la taille disponible  à titre de référence, même si le  bloc conteneur a sa hauteur fixée à auto (valeur par défaut). Dans le mode standard, la hauteur est déterminée par les exigences du contenu, mais la hauteur en pourcentage marche quand le bloc conteneur a une valeur spécifique comme hauteur.</li>
<li><strong> Overflow</strong> provoque l&rsquo;agrandissement de la boite. Quand le contenu d&rsquo;un élément ne rentre pas dans les dimensions spécifiées (explicitement ou implicitement), overflow:visible (valeur par défaut) veut dire que le contenu dépasse des dimensions définies de la boîte. En mode quirks, les dimensions changent, ça peut être vu facilement par exemple si la boîte à une couleur d&rsquo;arrière plan ou une bordure.</li>
<li> Les <strong>marges intérieures (padding) pour les images </strong>sont ignorées lorsqu&rsquo;elles sont définies en CSS pour l&rsquo;élément img ou l&rsquo;élément input de type image.</li>
<li> La <strong>marge horizontale </strong>par défaut d&rsquo;une image flottante est de trois pixels (au lieu de zéro). Ce qui veut dire que si l&rsquo;élément img a les attributs align= »left » ou align= »right » ou se voit appliquer les règles CSS float:left ou float:right, le navigateurs se comporte comme si l&rsquo;image avait l&rsquo;attribut hscpace= »3&Prime; (ou que sa marge de gauche ou de droite avait une valeur de 3px). Ceci ne s&rsquo;applique qu&rsquo;à IE; dans les autres navigateurs, le mode quirks provoquera cette marge d&rsquo;un seul côté de l&rsquo;image et sa largeur sera de 2 pixels au lieu de 3.</li>
<li> L&rsquo;<strong>alignement vertical d&rsquo;une image</strong> se fait sous certaines conditions sur le bas de la boite conteneur, et non sur la ligne de base du texte. Cela arrive quand l&rsquo;image est le seul contenu à l&rsquo;intérieur d&rsquo;un élément, typiquement une cellule de tableau. Ceci veut dire que par exemple, une image dans une cellule de tableau est par défaut en bas de la cellule en mode quirks (ce qui est souvent ce que veut l&rsquo;auteur) quand en mode standard il y a quelques pixels d&rsquo;espacement en dessous de l&rsquo;image (à moins qu&rsquo;on indique, par exemple vertical-align:bottom pour l&rsquo;élément img).</li>
<li><strong> Centrer</strong> un bloc en utilisant par exemple margin: 0 auto ne marche pas.</li>
<li> Les <strong>propriétés de font</strong> ne sont pas héritées de l&rsquo;élément body pour les éléments inclus dans les tableaux. Ceci arrive surtout pour font-size mais peut également se produire pour font face, color et line-height. Par exemple, si vous mettez : body{font-family: arial}, il est possible que la police dans le tableau reste celle du navigateur par défaut.</li>
<li> Pour la propriété <strong>font size</strong> dans une cellule de tableau, un pourcentage est interprété comme relatif à la taille de base de la police du navigateur, et pas à la taille de police qui est appliquée à l&rsquo;élément conteneur (la ligne du tableau) par les CSS.</li>
<li> Les<strong> valeurs de taille de police</strong> ne sont pas interprétées correctement, la taille medium est plus grande que la taille de police de base du navigateur et small est de la même taille. De la même manière, toute l&rsquo;échelle, xx-small, x-small, small, large, x-large, xx-large, est systématiquement mal interprétée : chaque valeur est interprétée une taille plus grande qu&rsquo;elle ne devrait l&rsquo;être.</li>
<li> Les <strong>valeurs incorrectes</strong> des propriétés sont souvent interprétées comme des devinettes, par exemple margin: 10 pour margin: 10px et color:ffffff pour color:#ffffff. Cette erreur de traitement imposée viole les règles des CSS : une règle utilisant une valeur syntaxiquement incorrecte doit être ignorée.</li>
<li> La <strong>casse des lettres</strong> n&rsquo;est pas prise en compte lors l&rsquo;interprétation des sélecteurs de classe et d&rsquo;id en CSS. Ainsi, le sélecteur .foo correspond à un élément ayant la classe class= »foo » ou class= »FOO ». Selon la spécification CSS, la casse des sélecteurs de classe ou d&rsquo;id doit être prise en compte.</li>
<li> Les <strong>noms incorrects</strong> sont acceptés dans les classes et sélecteurs d&rsquo;id. Plus précisément les noms commençant par un point ou un nombre (par exemple, les sélecteurs .123a et #42) sont acceptés.</li>
<li> La déclaration <strong>white-space: pre</strong> est ignorée.</li>
<li> La <strong>position fixed </strong>n&rsquo;est pas supportée : la déclaration position: fixed est traitée comme position: static (dans IE7)</li>
<li> De nombreux ajouts au <strong>support des CSS </strong>( comme la propriété max-width et les sélecteurs d&rsquo;attribut) dans IE7 ne sont pas utilisables en mode quirks. Ce qui veut dire que beaucoup de caractéristiques css n&rsquo;étaient pas supportées dans IE6 et le sont dans IE7, mais seulement en mode standard. Voir le blog de Microsoft pour les <a href="http://blogs.msdn.com/ie/archive/2006/08/22/712830.aspx">détails sur les modifications CSS pour IE7</a>.</li>
<li><strong> Interprétation de soupe de balise</strong>. Par exemple, si un document contient le  code : <code>&lt;p&gt;<var>text</var>&lt;table&gt;...&lt;/table&gt;</code>, Firefox traite l&rsquo;élément p comment étant le conteneur de l&rsquo;élément table en mode quirks. Dans le mode standard, l&rsquo;élément ouvrant de table ferme implicitement l&rsquo;élément p. La différence peut être vue, quand par exemple on met une bordure sur l&rsquo;élément p. De même, Firefox, accepte un élément ul à l&rsquo;intérieur d&rsquo;un élément font. IE suit des règles fausses dans ce genre de cas, même en mode standard, mais un comportement conforme aux standards peut être obtenu en utilisant du code valide et en utilisant explicitement des balises fermantes comme <code>&lt;/p&gt; </code>même quand elles sont facultatives.</li>
<li> Les <strong>espaces blancs</strong> entre les éléments peuvent être significatifs. Par exemple, disons que vous ayez une liste de liens. Normalement vous écririez le code avec des sauts de lignes entre les éléments de la liste, les éléments li (ce qui est entre les balises &lt;/li &gt; et 	&lt;li&gt;)<br />
<code> </p>
<pre>&lt;ul&gt;
&lt;li&gt;&lt;a ...&gt;...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a ...&gt;...&lt;/a&gt;&lt;/li&gt;
...
&lt;/ul&gt;</pre>
<p></code><br />
Cependant, si vous indiquez display: block et une bordure pour les liens, vous vous retrouvez avec des écarts verticaux (des lignes vides) entre les éléments. Ceci arrive dans IE7 en mode quirks et toujours dans les versions précédentes d&rsquo;IE.</li>
<li> Les formulaires ont une marge (<strong>margin-bottom)</strong> de 1em dans les navigateurs Mozilla. (Dans IE, il y a cette marge dans les deux modes). Ceci est apparemment destiné à poursuivre la tradition des navigateurs web de laisser autant d&rsquo;espace sous un formulaire. C&rsquo;est une question fréquemment posée : <a href="http://www.cs.tut.fi/~jkorpela/forms/extraspace.html">comment se débarasser de la ligne vide sous un formulaire</a>.</li>
<li> Les <strong>marges verticales </strong>sont supprimées dans certains contextes. Par exemple quand un élément p est le premier élément d&rsquo;un élément td. Ceci est plus ou moins un comportement habituel dans les navigateurs et est présent dans IE dans les deux modes.</li>
<li> Les navigateurs <strong>Mozilla </strong>(comme Firefox et Seamonkey) ont des caractéristiques supplémentaires, documentés dans le fichier <a href="http://lxr.mozilla.org/seamonkey/source/layout/style/quirk.css">quirk.css</a>. Par exemple, la couleur par défaut des bordures de tableau est gris (gray) (comme dans la plupart des autres navigateurs), contrairement à l&rsquo;utilisation de la couleur de premier plan en mode standard. Dans ces cas, le mode quirks est vraiment juste un mode différent de compatibilité. NB : Les paramètres de ce fichier ne s&rsquo;appliquent pas à toutes les versions de Mozilla.</li>
</ul>
<p>La liste n&rsquo;est probablement pas exhaustive. Elle se réfère principalement à IE7. Les autres navigateurs peuvent avoir un mode quirks qui ne simulent les anciennes versions de IE dans la même mesure.</p>
<h2 id="demo">Démo simple</h2>
<p>Les images suivantes montrent une des nombreuses différences entre le mode quirks et le mode standard dans Internet Explorer, à savoir le modèle de boîte. Voici les présentations du code suivant dans les deux modes :</p>
<p><code>&lt;div style="border: solid 2px #006; width: 8em; padding: 0 2em"&gt;stuff&lt;/div&gt;</code></p>
<p style="line-height:29px"><a href="/wp-content/uploads/2008/04/box11.gif"><img loading="lazy" style="vertical-align:-9px" title="box11" src="/wp-content/uploads/2008/04/box11.gif" alt="Une boîte avec le text \" width="134" height="29" /></a>(Mode quirks)</p>
<p style="line-height:29px"><a href="/wp-content/uploads/2008/04/box2.gif"><img loading="lazy" style="vertical-align:-9px" title="box2" src="/wp-content/uploads/2008/04/box2.gif" alt="Une boîte avec le texte \" width="203" height="29" /></a> (Mode standard)</p>
<p>Voilà l&rsquo;élément rendu par votre navigateur actuel, pour une vérification rapide :</p>
<div style="margin-left:3px;font-size:medium;border: solid 2px #006; width: 8em; padding: 0 2em">stuff</div>
<p>L&rsquo;explication est qu&rsquo;en mode quirks, la propriété width est comprise (incorrectement) comme étant la largeur totale de la boîte, 8em dans ce cas. En mode standards, elle est comprise comme étant le total des éléments de la boîte, soit 12em (plus la largeur des bordures). La largeur totale inclut les marges intérieures (padding) gauche et droite, chacune d&rsquo;une valeur de 2em.</p>
<p>Dans Firefox, le modèle de boîte correct est appliqué dans les deux modes. Cependant, on peut simuler le modèle de boîte incorrect utilisé par IE en mode quirks en utilisant la commande CSS/ utiliser le mode « border-box » dans l&rsquo;extension « <a href="http://chrispederick.com/work/web-developer/">Web Developper</a> » (Qui est un outil très utile pour toute les questions relatives aux CSS et beaucoup d&rsquo;autres choses)</p>
<h2>Vérifier le mode</h2>
<p>Pour vérifier dans quel mode est un navigateur (quirks contre standards),</p>
<p>Dans Firefox, utiliser la commande Outils/Informations sur la page (et regarder l&rsquo;onglet général); ou si vous avez l&rsquo;extension « Web Developer », aller dans information/informations sur la page.</p>
<p>Pour IE, taper javascript:alert(document.compatMode) dans la barre d&rsquo;adresse, et vérifier si la fenêtre d&rsquo;alerte renvoit alors CSS1Compat (indiquant qu&rsquo;il s&rsquo;agit du mode standard) ou BackCompat (indiquant qu&rsquo;il s&rsquo;agit du mode quirks); autre alternative,télécharger et <a href="http://dorward.me.uk/www/bookmarklets/qors/">installer le Bokmarklet « Quirks or Standards Mode »</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>/2008/04/06/que-se-passe-t-il-en-mode-quirks-traduction/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Faire cohabiter plusieurs versions d&#8217;Internet Explorer</title>
		<link>/2008/03/12/faire-cohabiter-plusieurs-version-dinternet-explorer/</link>
					<comments>/2008/03/12/faire-cohabiter-plusieurs-version-dinternet-explorer/#comments</comments>
		
		<dc:creator><![CDATA[Eric Le Bihan]]></dc:creator>
		<pubDate>Wed, 12 Mar 2008 17:24:04 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[Actualité]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Navigateurs]]></category>
		<guid isPermaLink="false">/2008/03/12/faire-cohabiter-plusieurs-version-dinternet-explorer/</guid>

					<description><![CDATA[Avec la version béta d&#8217;Internet Explorer 8, se pose la question habituelle aux développeurs et intégrateurs à  chaque sortie d&#8217;une  nouvelle mouture du navigateur de Microsoft : comment faire cohabiter plusieurs versions d&#8217;Internet Explorer sur son PC ?
Habituellement faire cohabiter deux versions d&#8217;IE suffit, mais étant donné qu&#8217;une partie encore importante des internautes se cramponne au vieux navigateur IE6, il est souhaitable de pouvoir tester ses pages dans les trois dernières version du navigateur.
1ère étape : Installer Internet Explorer 8 version beta.
Pour celà aller sur le billet de Pierre du 6 mars dernier ou encore plus rapide&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Avec la version béta d&rsquo;Internet Explorer 8, se pose la question habituelle aux développeurs et intégrateurs à  chaque sortie d&rsquo;une  nouvelle mouture du navigateur de Microsoft : comment faire cohabiter plusieurs versions d&rsquo;Internet Explorer sur son PC ?</p>
<p>Habituellement faire cohabiter deux versions d&rsquo;IE suffit, mais étant donné qu&rsquo;une partie encore importante des internautes se cramponne au vieux navigateur IE6, il est souhaitable de pouvoir tester ses pages dans les trois dernières version du navigateur.</p>
<p><strong>1ère étape : Installer Internet Explorer 8 version beta.</strong></p>
<p>Pour celà aller sur <a href="/2008/03/06/internet-explorer-8-beta-1/">le billet de Pierre du 6 mars dernier</a> ou encore plus rapide : <a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx">ici</a>.</p>
<p>Une fois que c&rsquo;est fait le navigateur installé, vous pouvez passer à l&rsquo;étape 2.</p>
<p><strong>2ème étape : Installer les précédentes versions d&rsquo;IE</strong></p>
<p>Il y a une solution que j&rsquo;avais adopté pour la version précédente (la  7) : <a href="http://tredosoft.com/Multiple_IE">multiple IE</a>, le soucis c&rsquo;est que ça ne fonctionne pas avec Windows Vista. Si vous avez Windows XP, c&rsquo;est nickel, mais le problème c&rsquo;est que vous n&rsquo;aurez pas IE7 puisque multiple IE s&rsquo;arrête à IE6.</p>
<p>La deuxième solution consiste à installer IE7 en version standalone. Pour les infos : <a href="/wp-admin/">c&rsquo;est ici</a> ou <a href="http://tredosoft.com/IE7_standalone">encore ici</a>.<a href="/wp-admin/"><br />
</a></p>
<p>Une fois avoir installé IE7, on va essayer d&rsquo;installer multiple IE, mais auparavant on va voir si IE8 et IE7 s&rsquo;entendent&#8230; D&rsquo;après mes tests, ça marche pas trop mal, mais il ne faut pas être gêné par les messages d&rsquo;erreurs. J&rsquo;ai principalement ce message au chargement de la première page dans IE7 :</p>
<p><code>L'ordinal 14 est introuvable dans la bibliothèque de liaisons dynamiques iertudil.dll</code></p>
<p>On peut ensuite installer Multiple IE. D&rsquo;après mes test cette solution n&rsquo;est pas pleinement fonctionnelle. Je n&rsquo;ai pas pu accéder au champs de recherche de Google, impossible de prendre le focus&#8230;</p>
<p>Si vous n&rsquo;avez pas XP mais Vista, vous allez forcément opter pour la troisième solution : installer un émulateur de PC pour faire tourner windows&#8230; sous windows. <a href="http://www.microsoft.com/france/windows/xp/virtualpc/default.mspx">Virtual PC</a> est disponible sur le site de Microsoft, mais je n&rsquo;ai pas réussi à l&rsquo;installer jusqu&rsquo;au bout, il est vrai que je dispose de la version light de Vista, la home premium*, donc si vous êtes comme moi, vous allez plutôt vous porter sur mon deuxième choix : <a href="http://www.virtualbox.org/wiki/Downloads">Virtual Box</a>. Là pas de problème l&rsquo;install se passe sans encombre. Il ne  reste plus qu&rsquo;à installer la version native d&rsquo;<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1E1550CB-5E5D-48F5-B02B-20B602228DE6&amp;displaylang=fr">IE6</a> ou <a href="http://www.microsoft.com/france/windows/downloads/ie/getitnow.mspx">IE7</a> en téléchargement sur le site de Microsoft.  Après, à vous de voir : soit installer multiple IE ou IE7 en version standalone, soit opter pour une version différente par PC virtuel&#8230;</p>
<p>Vous avouerez que ça fait pas mal de soucis pour un navigateur qu&rsquo;on n&rsquo;utilise uniquement pour tester ses pages, non ?</p>
<blockquote style="margin-top: 40px"><p>* <span class="bodyText" style="line-height: 150%">Host operating system: Windows Vista Business, Windows Vista Enterprise, Windows Vista Ultimate, Windows Server 2003 Standard Edition, Windows Server 2003 Standard x64 Edition, Windows XP Professional, or Windows XP Tablet PC Edition</span> (<a href="http://www.microsoft.com/windows/downloads/virtualpc/sysreq.mspx">source site microsoft.com</a>)</p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>/2008/03/12/faire-cohabiter-plusieurs-version-dinternet-explorer/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Internet Explorer 8 Beta 1 !</title>
		<link>/2008/03/06/internet-explorer-8-beta-1/</link>
					<comments>/2008/03/06/internet-explorer-8-beta-1/#comments</comments>
		
		<dc:creator><![CDATA[Pierre Bertet]]></dc:creator>
		<pubDate>Thu, 06 Mar 2008 01:59:35 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[Actualité]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<guid isPermaLink="false">/2008/03/06/internet-explorer-8-beta-1/</guid>

					<description><![CDATA[Microsoft vient de publier la première beta de la prochaine version de son navigateur, Internet Explorer 8.
Un article sur le blog dédié nous en liste les différentes améliorations :

La version définitive apportera un support complet de CSS 2.1.
Ils ont contribué à la création de plus de 700 tests en collaboration avec le Groupe de travail CSS du W3C, publiés sous licence BSD. Selon l&#8217;équipe, la spécification CSS est bien conçue mais pas suffisante, car ambigüe sur de nombreux points. Une suite de tests devrait permettre aux éditeurs de mieux les interpréter, en s&#8217;appuyant sur des tests pouvant&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Microsoft vient de publier la première beta de la prochaine version de son navigateur, <a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx">Internet Explorer 8</a>.</p>
<p><a href="http://blogs.msdn.com/ie/archive/2008/03/05/internet-explorer-8-beta-1-for-developers-now-available.aspx">Un article sur le blog dédié</a> nous en liste les différentes améliorations :</p>
<ol>
<li>La version définitive apportera un <strong>support complet de CSS 2.1</strong>.</li>
<li><strong>Ils ont contribué à la création de <a href="http://samples.msdn.microsoft.com/csstestpages/default.htm">plus de 700 tests en collaboration avec le Groupe de travail CSS du W3C</a></strong>, publiés sous <a href="http://fr.wikipedia.org/wiki/Licence_BSD">licence BSD</a>. Selon l&rsquo;équipe, la spécification CSS est bien conçue mais pas suffisante, car ambigüe sur de nombreux points. Une suite de tests devrait permettre aux éditeurs de mieux les interpréter, en s&rsquo;appuyant sur des tests pouvant être suivis par l&rsquo;ensemble des éditeurs.</li>
<li><strong>De meilleures performances pour les scripts.</strong> Il s&rsquo;agit d&rsquo;un gros enjeu pour les navigateurs ( <a href="http://ajaxian.com/archives/firefox-3-performance-numbers">Firefox 3 sera lui aussi bien plus rapide</a>, et Safari se présente d&#8217;emblée comme <q><a href="http://www.apple.com/fr/macosx/features/safari.html">[Le] navigateur web [&#8230;] le plus rapide de la planète</a>.</q> ) : les bibliothèques Javascript permettent aujourd&rsquo;hui de créer de véritables applications en ligne, bien plus complexes et gourmandes qu&rsquo;il y a quelques années. Le navigateur est allé bien au-delà de son rôle principal : il est devenu une plate-forme de choix pour de nombreuses applications innovantes.</li>
<li>Un début de support d&rsquo;<strong>HTML5</strong>.</li>
<li>La création prochaine d&rsquo;<strong>outils pour débugger les CSS et le Javascript</strong>.</li>
<li>Une fonctionnalité appelée « <strong>Activities</strong> » apparaît. Elle permet de mieux intégrer les différents services web au navigateur, comme sélectionner du texte sur une page et l&rsquo;envoyer vers son blog, ou rechercher directement une adresse sur un service de cartes en ligne. Voici une excellente occasion d&rsquo;ajouter un support des microformats, mais <a href="http://blogs.msdn.com/ie/archive/2008/03/05/internet-explorer-8-beta-1-for-developers-now-available.aspx#8056045">en fait non</a>. C&rsquo;est une bonne opportunité pour Microsoft d&rsquo;amener plus d&rsquo;utilisateurs vers ses différents services, bien que <a href="http://ie.microsoft.com/activities/en-en/default.aspx">des concurrents soient également présents</a>, comme <del>Facebook</del> <del>Yahoo</del> eBay. Non, pas Google.</li>
<li>Une autre fonctionnalité a été intégrée, appelée « <strong>WebSlices</strong>« . Globalement, ça ressemble aux <a href="http://www.apple.com/fr/macosx/features/safari.html">Web Clips de Safari</a>, mais ne nous y laissons pas prendre : ce sont les WebSlices, d&rsquo;Internet Explorer.</li>
</ul>
<p>Le test Acid2 ne passe pas tout à fait s&rsquo;il est effectué sur un autre domaine que <em>www.webstandards.org</em>, <a href="http://blogs.msdn.com/ie/default.aspx">pour une raison de sécurité</a>. Ce devrait être réglé dans la prochaine beta.</p>
<p>Vous pourrez le télécharger ici : <a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx">http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx</a><br />
Tristan Nitot en parle : <a href="http://standblog.org/blog/post/2008/03/05/Internet-Explorer-8-et-les-standards-le-retour">http://standblog.org/blog/post/2008/03/05/Internet-Explorer-8-et-les-standards-le-retour</a></p>
<p><a href="http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx">Peu de temps après l&rsquo;abandon</a> in extremis de solutions permettant d&rsquo;activer le moteur de rendu « moderne » pour finalement l&rsquo;activer par défaut (il faudra à l&rsquo;inverse demander explicitement à passer en « mode compatible »), Microsoft semble plus que jamais impliqué dans une nouvelle guerre des navigateurs, mais du côté des standards cette fois.</p>
<p>Qu&rsquo;en pensez-vous ?</p>
]]></content:encoded>
					
					<wfw:commentRss>/2008/03/06/internet-explorer-8-beta-1/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Internet Explorer 6 : ID, class et background</title>
		<link>/2008/01/25/internet-explorer-6-id-class-et-background/</link>
					<comments>/2008/01/25/internet-explorer-6-id-class-et-background/#comments</comments>
		
		<dc:creator><![CDATA[Pierre Bertet]]></dc:creator>
		<pubDate>Fri, 25 Jan 2008 14:26:08 +0000</pubDate>
				<category><![CDATA[Front-end]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<guid isPermaLink="false">/2008/01/25/internet-explorer-6-id-class-et-background/</guid>

					<description><![CDATA[Puisque notre vieil ami ne semble pas décidé à céder sa place de leader, nous avons largement le temps de nous intéresser à certains de ses comportements si&#8230; particuliers.
Internet Explorer 6 ne comprend pas la sélection de classes multiples en CSS : il ne prend en compte que la dernière classe.
Il est néanmoins possible d&#8217;utiliser un ID et une classe combinée sans problème :
.uneclasse.uneautreclasse{
  /* IE6 comprendra : .uneautreclasse{} */
}
#fixe.bonbon{
  /* Pas de problème */
}

Mais, d&#8217;après ce que je crois avoir compris :
Si un sélecteur « id+class » est utilisé, et qu&#8217;un&#160;[&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Puisque notre vieil ami <a title="The IE7 auto-rollout: fact and fiction" href="http://ajaxian.com/archives/the-ie7-auto-rollout-fact-and-fiction">ne semble pas décidé à céder sa place de leader</a>, nous avons largement le temps de nous intéresser à certains de ses comportements si&#8230; particuliers.</p>
<p>Internet Explorer 6 ne comprend pas la sélection de classes multiples en CSS : il ne prend en compte que la dernière classe.</p>
<p>Il est néanmoins possible d&rsquo;utiliser un ID et une classe combinée sans problème :</p>
<pre><code class="prettyprint">.uneclasse.uneautreclasse{
  /* IE6 comprendra : .uneautreclasse{} */
}
#fixe.bonbon{
  /* Pas de problème */
}
</code></pre>
<p><span style="font-size: 24px">Mais,</span> d&rsquo;après ce que je crois avoir compris :</p>
<p>Si un sélecteur « id+class » est utilisé, et qu&rsquo;un autre sélecteur « id+class » définit la propriété background d&rsquo;un élément, alors cette propriétée sera ignorée.</p>
<p>Prenons l&rsquo;élément suivant :</p>
<pre><code class="prettyprint">&lt;div id="fixe" class="bonbon"&gt;&lt;/div&gt;
</code></pre>
<p>En appliquant le code CSS ci-dessous :</p>
<pre><code class="prettyprint">#fixe{background:url(image.png) no-repeat 0 0;}
#fixe.bonbon{background-image:url(image_2.png);}
</code></pre>
<p>L&rsquo;image de fond de l&rsquo;élément sera bien « image_2.png ».</p>
<p>Mais en appliquant le code suivant :</p>
<pre><code class="prettyprint">#fixe{background:url(image.png) no-repeat 0 0;}
#fixe.abc{}
#fixe.bonbon{background-image:url(image_2.png);}
</code></pre>
<p>Ce n&rsquo;est plus le fond « image_2.png » qui s&rsquo;affichera, mais&#8230; « image.png » !</p>
<p><code class="prettyprint">#fixe.bonbon</code> arrive après <code class="prettyprint">#fixe.abc</code>, <strong>il n&rsquo;est plus pris en compte</strong> et le premier background défini est affiché, c&rsquo;est à dire celui de <code class="prettyprint">#fixe</code>.</p>
<p>Il est en revanche tout à fait possible de cibler un élément à l&rsquo;intérieur :</p>
<pre><code class="prettyprint">#fixe div{background:url(image.png) no-repeat 0 0;}
#fixe.abc div{}
#fixe.bonbon div{background-image:url(image_2.png);}
</code></pre>
<p>J&rsquo;ai mis un bon moment à me rendre compte du problème, très particulier <del>et (il me semble) ne portant que sur la propriété background</del>.</p>
<p><strong>Edit : rien à voir avec background, c&rsquo;est juste le sélecteur qui pose problème, quelles que soient les propriétés appliquées.</strong></p>
<p>On en parle ici également : <a href="http://sonspring.com/index.php?id=102">IE6 Multi-Class Bug</a></p>
<p>Si vous connaissez ce problème, ou avez des précisions à apporter, ça m&rsquo;intéresse !</p>
]]></content:encoded>
					
					<wfw:commentRss>/2008/01/25/internet-explorer-6-id-class-et-background/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
