<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.britoweb.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Blog - Britoweb - Tag - css</title>
  <link>http://blog.britoweb.net/</link>
  <atom:link href="http://blog.britoweb.net/feed/tag/css/rss2" rel="self" type="application/rss+xml"/>
  <description>Le Web à la sauce standard</description>
  <language>fr</language>
  <pubDate>Wed, 28 Jul 2010 16:01:30 +0200</pubDate>
  <copyright>Billets sous licence Creative Commons BY-NC-SA</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Unicorn, le validateur tout-en-un du W3C</title>
    <link>http://blog.britoweb.net/post/2010/07/28/Unicorn-le-validateur-tout-en-un-du-W3C</link>
    <guid isPermaLink="false">urn:md5:406763ef48a4e6f8ceb8f7c542163e7e</guid>
    <pubDate>Wed, 28 Jul 2010 00:33:00 +0200</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>css</category><category>flux syndication</category><category>html</category><category>mobileok</category><category>unicorn</category><category>validateurs css</category><category>validateurs flux</category><category>validateurs html</category><category>validateurs mobile</category><category>validateurs unifiés</category><category>validateurs w3c</category><category>w3c</category><category>xhtml</category><category>xml</category>    
    <description>&lt;p&gt;Le &lt;acronym title=&quot;World Wide Web Consortium&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;W3C&lt;/span&gt;&lt;/acronym&gt; vient de lancer &lt;a href=&quot;http://validator.w3.org/unicorn/&quot; title=&quot;Unicorn, validateur unifié du W3C&quot;&gt;Unicorn&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Ce validateur unifié permet de vérifier à la fois&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la &lt;strong&gt;validité du HTML ou du XHTML et bonne formation du XML&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;la &lt;strong&gt;validité des CSS&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;la &lt;strong&gt;compatibilité avec les mobiles&lt;/strong&gt; (le service &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;MobileOK&lt;/span&gt;),&lt;/li&gt;
&lt;li&gt;la &lt;strong&gt;validité des flux de syndication&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À l'instar du validateur de balisage et du validateur CSS, Unicorn permet de vérifier en saisissant un &lt;abbr title=&quot;Uniform Resource Identifier&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;URI&lt;/span&gt;&lt;/abbr&gt;, en chargeant un fichier ou en effectuant une saisie directe.&lt;/p&gt;
&lt;p&gt;Mais, il se distingue des autres validateurs du W3C existants par le fait qu'il demande d'abord de sélectionner une tâche parmi cinq possibles&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;vérification de la conformité générale&lt;/strong&gt;, tâche qui effectue tous les tests possibles&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;validation des profils CSS&lt;/strong&gt;, tâche qui tient compte de tous les niveaux de CSS présents et futurs (CSS 1, 2.0, 2.1 et 3), sans pour autant permettre de choisir le niveau des CSS&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;vérificateur &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;MobileOK&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;validateur de flux&lt;/strong&gt;&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;tâche personnalisée&lt;/strong&gt;, qui permet de sélectionner un ou plusieurs tests à effectuer, au choix, avec possibilité de choisir le niveau des CSS.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Autre point de distinction&amp;nbsp;: la validation par saisie directe permet de sélectionner le type de document à valider parmi les types &lt;acronym title=&quot;Multipurpose Internet Mail Extensions&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;MIME&lt;/span&gt;&lt;/acronym&gt; suivants&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;text/html&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;application/xhtml+xml&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;image/svg+xml&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;application/mathml+xml&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;application/smil+xml&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;text/css&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;application/xml&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;&lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;text/xml&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En revanche, il n'est pas possible de valider un fragment de code HTML, XHTML.&lt;/p&gt;
&lt;p&gt;Enfin, Unicorn est disponible en 22 langues, dont le français.&lt;/p&gt;
&lt;p&gt;Pour en savoir plus, lire le &lt;a href=&quot;http://www.w3.org/News/2010#entry-8862&quot; hreflang=&quot;en&quot;&gt;billet du W3C annonçant la sortie d'Unicorn&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.britoweb.net/post/2010/07/28/Unicorn-le-validateur-tout-en-un-du-W3C#comment-form</comments>
      <wfw:comment>http://blog.britoweb.net/post/2010/07/28/Unicorn-le-validateur-tout-en-un-du-W3C#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.britoweb.net/feed/atom/comments/279</wfw:commentRss>
      </item>
    
  <item>
    <title>Démonstration des effets des différentes valeurs de la propriété CSS display</title>
    <link>http://blog.britoweb.net/post/2010/07/08/Demonstration-des-effets-des-differentes-valeurs-de-la-propriete-CSS-display</link>
    <guid isPermaLink="false">urn:md5:ef1cc52c4c797a9cf39691a64eab1b37</guid>
    <pubDate>Thu, 08 Jul 2010 18:33:00 +0200</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>display</category><category>propriété css display</category><category>propriétés css</category>    
    <description>    &lt;p&gt;Un peu perdu entre les différentes valeurs possibles de la propriété CSS &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;display&lt;/code&gt;&amp;nbsp;? Le site &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Sickdesigner&lt;/span&gt; met à votre disposition une démonstration très claire à ce sujet, intitulée &lt;a href=&quot;http://sickdesigner.com/resources/display-property-demo/&quot; hreflang=&quot;en&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&lt;em&gt;Understanding the &lt;code&gt;display&lt;/code&gt; property demo&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.britoweb.net/post/2010/07/08/Demonstration-des-effets-des-differentes-valeurs-de-la-propriete-CSS-display#comment-form</comments>
      <wfw:comment>http://blog.britoweb.net/post/2010/07/08/Demonstration-des-effets-des-differentes-valeurs-de-la-propriete-CSS-display#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.britoweb.net/feed/atom/comments/276</wfw:commentRss>
      </item>
    
  <item>
    <title>N'oublions pas les sélecteurs CSS 2.1</title>
    <link>http://blog.britoweb.net/post/2010/02/05/N-oublions-pas-les-selecteurs-CSS-2.1</link>
    <guid isPermaLink="false">urn:md5:7291a2dff6ddf87999140e58f1cd1f28</guid>
    <pubDate>Fri, 05 Feb 2010 09:08:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>internet explorer 6</category><category>sélecteurs css</category>    
    <description>&lt;p&gt;Tel est le message que souhaite faire passer le site 456 &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Berea Street&lt;/span&gt; dans un billet publié hier et intitulé &lt;a href=&quot;http://www.456bereastreet.com/archive/201002/forgotten_css_selectors/&quot; hreflang=&quot;en&quot;&gt;&lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Forgotten CSS selectors&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Ce billet présente brièvement quelques sélecteurs avancés de la spécification CSS 2.1 qui ont été oubliés jusqu'à présent, à cause qu'Internet Explorer 6 ne les prend pas du tout en charge ou très partiellement, mais auxquels on peut songer, vu qu'&lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; 6 a atteint des parts de marché suffisamment basses pour que la prise en compte de cette version de navigateur ne soit plus synonyme de «&amp;nbsp;rendu visuel au pixel près&amp;nbsp;».&lt;/p&gt;
&lt;p&gt;Les sélecteurs évoqués dans le billet de 456 &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Berea Street&lt;/span&gt; sont les suivants&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le sélecteur d'élément enfant (&lt;code&gt;E &amp;gt; F&lt;/code&gt;),&lt;/li&gt;
&lt;li&gt;le sélecteur d'élément frère adjacent (&lt;code&gt;E + F&lt;/code&gt;),&lt;/li&gt;
&lt;li&gt;le sélecteur d'attribut (&lt;code&gt;E[attribut]&lt;/code&gt; et &lt;code&gt;E[attribut=valeur]&lt;/code&gt;, notamment),&lt;/li&gt;
&lt;li&gt;la pseudo-classe &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;:first-child&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;la pseudo-classe &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;:hover&lt;/code&gt; applicable à n'importe quel élément et non seulement à l'élément &lt;code&gt;a&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;la pseudo-classe &lt;code&gt;:focus&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;le sélecteur de classes multiples (&lt;code&gt;E.classe1.classe2&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L'enjeu de l'utilisation des sélecteurs avancés de CSS est résumé ainsi&amp;nbsp;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.456bereastreet.com/archive/201002/forgotten_css_selectors/&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;p&gt;What these selectors offer us is cleaner HTML, since we can drop a lot of class names, and in some cases JavaScript, that were only necessary to achieve visual equivalence in IE 6. I am not saying that you should “drop support” for IE 6, just that it’s ok for some things to not look perfect in a Web browser that is eight and a half years old. Besides, &lt;a href=&quot;http://dowebsitesneedtolookexactlythesameineverybrowser.com/&quot; hreflang=&quot;en&quot;&gt;Do websites need to look exactly the same in every browser?&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;En français&amp;nbsp;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ce que ces sélecteurs nous offrent est du HTML plus propre, puisque nous pouvons retirer beaucoup de noms de classe, et de JavaScript dans certains cas, qui n'étaient nécessaires que pour parvenir à un visuel équivalent sous IE 6. Je ne dis pas que vous devriez «&amp;nbsp;laisser tomber la prise en charge&amp;nbsp;» d'IE 6, mais seulement de ce qui est bon pour que certaines choses n'aient pas l'air parfaites sous un navigateur Web qui a huit ans et demi. D'ailleurs, &lt;a href=&quot;http://dowebsitesneedtolookexactlythesameineverybrowser.com/&quot; hreflang=&quot;en&quot;&gt;Les sites Web ont-ils besoin d'être exactement pareils sous chaque navigateur&amp;nbsp;?&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;La réponse est non. Du moins, à partir du moment où l'on se soucie de &lt;em&gt;dégradation élégante&lt;/em&gt; pour les navigateurs obsolètes (ou d'&lt;em&gt;amélioration progressive&lt;/em&gt; pour les navigateurs les plus avancés en matière de prise en compte des standards et de leur respect).&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>CSS 2 - Pratique du design Web de Raphaël Goetter, troisième édition : note de lecture</title>
    <link>http://blog.britoweb.net/post/2009/01/11/CSS-2-Pratique-du-design-Web-de-Raphael-Goetter-troisieme-edition-note-de-lecture</link>
    <guid isPermaLink="false">urn:md5:679a8007909b471b5c6fab13e477e781</guid>
    <pubDate>Sun, 11 Jan 2009 02:10:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>livre css</category>    
    <description>&lt;p&gt;Les éditions &lt;a href=&quot;http://www.eyrolles.com&quot;&gt;Eyrolles&lt;/a&gt; viennent de publier la troisième édition de &lt;em&gt;&lt;a href=&quot;http://www.eyrolles.com/Informatique/Livre/css-2-pratique-du-design-web-9782212124613&quot; title=&quot;Fiche du livre CSS 2 - Pratiques du design Web, de Raphaël Goetter, sur le site des éditions Eyrolles&quot;&gt;CSS 2 - Pratique du design Web&lt;/a&gt;&lt;/em&gt;, de Raphaël Goetter.&lt;/p&gt;    &lt;p&gt;S'il y a un seul ouvrage qui m'ait marqué dans mon parcours dans le Web, c'est bien celui de Raphaël Goetter&amp;nbsp;: en effet, la lecture de la première édition, en 2006, m'a incité à plus de rigueur dans mon code, plus particulièrement dans le respect du balisage sémantique, tout en me faisant prendre conscience des problèmes de compatibilité entre navigateurs.&lt;/p&gt;
&lt;p&gt;Cette troisième édition, tout en tenant compte des nouveautés de Firefox 3 et, surtout, d'Internet Explorer 8, reste fidèle à l'esprit des deux précédentes éditions. En effet, le livre commence par un exposé sur les standards du Web, tout en soulignant l'importance de l'accessibilité du Web, de la séparation entre la structure d'un document Web et sa présentation et de la sémantique de chaque balise HTML. Ensuite, après plusieurs chapitres théoriques sur l'essentiel des CSS, le livre aborde des cas concrets et très courants d'application de CSS, comme le centrage d'un élément ou l'habillage d'un menu de navigation. Enfin, le livre présente un exemple d'application de la matière abordée à un projet de site Web de qualité professionnelle, tout en offrant une méthodologie simple permettant aux concepteurs de sites Web plus ou moins maladroits de coder avec rigueur et de résoudre les problèmes d'affichage (et ce sans même recourir à des outils comme l'extension &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Firebug&lt;/span&gt; de Firefox).&lt;/p&gt;
&lt;p&gt;En somme, c'est un livre indispensable pour connaître l'essentiel des CSS, tout en ayant conscience de certaines bonnes pratiques de conception de sites Web.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Feuilles de styles, médias CSS et navigateurs mobiles : une astuce pour garantir compatibilité et confort d'utilisation</title>
    <link>http://blog.britoweb.net/post/2009/01/06/Feuilles-de-styles-medias-CSS-et-navigateurs-mobiles-une-astuce-pour-garantir-compatibilite-et-confort-d-utilisation</link>
    <guid isPermaLink="false">urn:md5:2d0fe648513898d3476f65b1678be0e2</guid>
    <pubDate>Tue, 06 Jan 2009 20:17:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>feuilles de style handheld</category><category>feuilles de style mobiles</category><category>média handheld</category><category>média screen</category><category>médias css</category><category>navigateurs mobiles</category>    
    <description>&lt;p&gt;Que l'on déplore ou non, le Web sur les mobiles est de moins en moins négligeable, d'autant moins qu'il peut compter sur le succès, entre autres, de l'&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;iPhone&lt;/span&gt;. Or, consulter un site Web depuis un mobile peut devenir un casse-tête quand le site consulté utilise des feuilles de style inadaptées aux mobiles ou que le navigateur mobile utilisé implémente mal les différents médias CSS ou n'en reconnaît pas certains.&lt;/p&gt;    &lt;p&gt;En effet, une feuille de style destinée à un écran d'ordinateur (utilisant donc le média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;screen&lt;/code&gt;) peut être remplie de règles CSS dont l'objectif est d'afficher tout ou partie du contenu en colonnes (avec les propriétés &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;display&lt;/code&gt; et &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;float&lt;/code&gt;, notamment), en tenant compte d'une taille d'écran au moins égale à 800 ou à 1024 pixels de large. Or, sur un mobile, une telle feuille de style induira soit la présence d'une barre de défilement horizontale soit le recours à une fonctionnalité permettant de zoomer le contenu auquel on veut accéder, la page Web entière s'adaptant dans un premier temps à la largeur d'écran disponible, réduisant la taille des polices à un niveau tel qu'un problème d'accessibilité se pose.&lt;/p&gt;
&lt;p&gt;Heureusement, en HTML 4 et en XHTML, il est possible de préciser le(s) média(s) concerné(s) par la feuille de style lorsqu'on l'appelle au moyen de l'élément &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;link&lt;/code&gt;, grâce à l'attribut &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;media&lt;/code&gt;. Il en est de même en CSS 2, grâce à la règle &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@media&lt;/code&gt;, d'une part, et à la possibilité de préciser le(s) média(s) concerné(s) par la feuille de style appelée au moyen de la règle &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@import&lt;/code&gt;. Ainsi, on peut créer plusieurs feuilles de styles, dont une ciblant les mobiles en utilisant le média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;handheld&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.britoweb.net/post/2009/01/06/screen.css&quot; media=&quot;screen,handheld&quot; /&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.britoweb.net/post/2009/01/06/handheld.css&quot; media=&quot;handheld&quot; /&amp;gt;&lt;/pre&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@import &quot;screen.css&quot; screen;
@import &quot;handheld.css&quot; handheld;&lt;/pre&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@media screen {
  /* &lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;Règles CSS pour les écrans d'ordinateur&lt;/span&gt; */
}
@media handheld {
  /* &lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;Règles CSS pour les mobiles&lt;/span&gt; */
}&lt;/pre&gt;
&lt;p&gt;Seulement voilà&amp;nbsp;: si certains navigateurs mobiles implémentent le média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;handheld&lt;/code&gt;, d'autres, en revanche, l'ignorent et, qui plus est, iront même jusqu'à ne lire que les feuilles de style ciblant le media &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;screen&lt;/code&gt;&amp;nbsp;! Et je ne me hasarde pas à parler des &lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;media queries&lt;/em&gt;, un module de CSS 3 qui permettra de cibler plus finement les médias (par exemple, ne cibler que les écrans dont la taille ne dépasse pas 480 pixels de largeur, ce qui donne le code suivant pour l'attribut &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;media&lt;/code&gt; et les règles &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@media&lt;/code&gt; et &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@import&lt;/code&gt;&amp;nbsp;: &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;only screen and (max-device-width:480px)&lt;/code&gt;)&amp;nbsp;; mais, ce genre de requête n'est, pour l'instant, implémenté que par Opera et Safari.&lt;/p&gt;
&lt;p&gt;Malgré tous ces points délicats, il est possible de fournir à l'ensemble des navigateurs mobiles une feuille de style adaptée au support mobile. &lt;a href=&quot;http://www.alistapart.com&quot; hreflang=&quot;en&quot;&gt;&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;A List Apart&lt;/span&gt;&lt;/a&gt; vient de publier un &lt;a href=&quot;http://www.alistapart.com/articles/returnofthemobilestylesheet&quot; hreflang=&quot;en&quot; title=&quot;Article d'A List Apart sur les feuilles de style pour les mobiles et une astuce pour la compatibilité entre navigateurs mobiles&quot;&gt;article&lt;/a&gt; indiquant une astuce garantissant à la fois un &lt;strong&gt;confort d'utilisation&lt;/strong&gt; du mobile pour consulter un site et la &lt;strong&gt;compatibilité&lt;/strong&gt; entre navigateurs mobiles.&lt;/p&gt;
&lt;p&gt;L'astuce part du principe de deux feuilles de style distinctes, l'une (&lt;code&gt;ecran.css&lt;/code&gt;) pour les écrans d'ordinateurs, l'autre (&lt;code&gt;correctifs-mobile.css&lt;/code&gt;) pour les mobiles (dont le rôle est d'annuler les règles énoncées par &lt;code&gt;ecran.css&lt;/code&gt; qui sont inadaptées aux écrans de mobile). Ces deux feuilles sont appelées par une troisième (&lt;code&gt;noyau.css&lt;/code&gt;), qui contient le code suivant&amp;nbsp;:&lt;/p&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;@import &quot;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;ecran.css&lt;/span&gt;&quot;;
@import &quot;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;correctifs-mobile.css&lt;/span&gt;&quot; handheld;
@import &quot;&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;correctifs-mobile.css&lt;/span&gt;&quot; only screen and (max-device-width:480px);&lt;/pre&gt;
&lt;p&gt;Une quatrième feuille de style (&lt;code&gt;mobile.css&lt;/code&gt;) apporte des styles supplémentaires pour les mobiles.&lt;/p&gt;
&lt;p&gt;Les différentes feuilles de style sont appelées comme suit&amp;nbsp;:&lt;/p&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.britoweb.net/post/2009/01/06/&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;noyau.css&lt;/span&gt;&quot; media=&quot;screen&quot; /&amp;gt;
&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;http://blog.britoweb.net/post/2009/01/06/&lt;span xml:lang=&quot;fr&quot; lang=&quot;fr&quot;&gt;mobile.css&lt;/span&gt;&quot; media=&quot;handheld, only screen and (max-device-width:480px)&quot; /&amp;gt;&lt;/pre&gt;
&lt;p&gt;Ainsi, les navigateurs mobiles ne tenant compte que du média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;handheld&lt;/code&gt; ne chargeront que la feuille de style &lt;code&gt;mobile.css&lt;/code&gt;&amp;nbsp;; ceux qui tiennent compte à la fois des médias &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;screen&lt;/code&gt; et &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;handheld&lt;/code&gt; chargeront toutes les feuilles de style, de même pour ceux qui ne tiennent compte que du média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;screen&lt;/code&gt; tout en implémentant le module &lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;media queries&lt;/em&gt; de CSS 3. Quant à ceux qui ignorent ce module de CSS 3 et qui ne connaissent que le média &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;screen&lt;/code&gt;, ils ne chargeront que la feuille de style &lt;code&gt;ecran.css&lt;/code&gt;.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Opera 10, une future version très prometteuse</title>
    <link>http://blog.britoweb.net/post/2008/12/04/Opera-10-une-future-version-tres-prometteuse</link>
    <guid isPermaLink="false">urn:md5:a1f27bf45c2663d04bbdf23f66628eee</guid>
    <pubDate>Thu, 04 Dec 2008 15:17:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>Navigateurs</category>
        <category>css</category><category>opera</category><category>opera 10</category><category>standards web</category><category>svg</category><category>test acid3</category>    
    <description>&lt;p&gt;La &lt;a href=&quot;http://dev.opera.com&quot; hreflang=&quot;en&quot;&gt;section pour développeurs d'Opera&lt;/a&gt; vient de publier un &lt;a href=&quot;http://dev.opera.com/articles/view/presto-2-2-and-opera-10-a-first-look/&quot; hreflang=&quot;en&quot;&gt;article sur Opera 10 et Presto 2.2&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Cet article propose un premier regard sur la future version majeure d'Opera, qui intégrera la prochaine version de Presto, le moteur de rendu d'Opera. Ce premier regard se résume à la présentation des améliorations et des implémentations de fonctionnalités liées aux standards les plus récents du Web&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;l'implémentation du module des polices de caractères de CSS 3&lt;/strong&gt;, qui permet, entres autres, d'utiliser une police de caractères localisée à une &lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;, la police en question pouvant ne pas être une police système (de quoi réjouir d'avance les concepteurs des maquettes sous Photoshop &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; )&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;l'implémentation du niveau d'opacité dans la déclaration des couleurs&lt;/strong&gt;, une possibilité prévue par CSS 3 (on pourra, par exemple, déclarer une couleur d'arrière-plan rouge avec un niveau de transparence Alpha à 50&amp;nbsp;%&amp;nbsp;: &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: rgba(255, 0, 0, 0.5)&lt;/code&gt;)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;la déclaration de couleur selon sa teinte, sa saturation et sa luminosité&lt;/strong&gt;, encore une possibilité prévue par CSS 3 (exemple&amp;nbsp;: &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: hsl(240, 100%, 50%)&lt;/code&gt;), à laquelle la gestion de l'opacité s'ajoute (exemple&amp;nbsp;: &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: hsla(240, 100%, 50%, 0.5)&lt;/code&gt;)&amp;nbsp;;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;l'amélioration du support du &lt;abbr title=&quot;Scalable Vector Graphics&quot;&gt;SVG&lt;/abbr&gt;&lt;/strong&gt;, avec, entre autres, la gestion des polices créées sous ce format.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;De plus, &lt;strong&gt;la version 2.2 de Presto réussit entièrement le &lt;a href=&quot;http://acid3.acidtests.org/&quot; hreflang=&quot;en&quot;&gt;test Acid3&lt;/a&gt; (note de 100 sur 100)&lt;/strong&gt;, à l'instar de la version de développement de Safari 4. &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; C'est un signe fort du fort respect d'Opera pour &lt;a href=&quot;http://www.webstandards.org/action/acid3/&quot; hreflang=&quot;en&quot; title=&quot;Présentation sur le site du Web Standards Project du test Acid3 et des standards du Web dont l'implémentation dans les navigateurs est testée&quot;&gt;l'ensemble des standards du Web testés par Acid3&lt;/a&gt;&amp;nbsp;; et Dieu sait qu'il y en a un paquet&amp;nbsp;: &lt;abbr title=&quot;HyperText Transfer Protocol&quot;&gt;HTTP&lt;/abbr&gt;, ECMAScript, HTML 4, XHTML 1.0, CSS 2 et certains modules de CSS 3, SVG, et j'en passe&amp;nbsp;!&lt;/p&gt;
&lt;p&gt;Si vous voulez constater ces améliorations par vous-même, vous pouvez &lt;a href=&quot;http://www.opera.com/browser/next/&quot; hreflang=&quot;en&quot;&gt;télécharger la version alpha d'Opera 10&lt;/a&gt;. Bien entendu, comme toute version alpha qui se respecte, elle est à utiliser à vos risques et périls&amp;nbsp;; mais, elle mérite d'être essayée.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Ce n'est pas bien de mêler code HTML, CSS et JavaScript !</title>
    <link>http://blog.britoweb.net/post/2008/11/24/Ce-n-est-pas-bien-de-meler-code-HTML-CSS-et-JavaScript</link>
    <guid isPermaLink="false">urn:md5:c2acd98a2570b5d693d500595fffe77e</guid>
    <pubDate>Mon, 24 Nov 2008 13:17:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>bonnes pratiques codage</category><category>css</category><category>dom</category><category>html</category><category>javascript</category>    
    <description>&lt;p&gt;Bruno Bichet a publié hier sur son &lt;a href=&quot;http://www.css4design.com&quot; title=&quot;CSS4design, le blog de Bruno Bichet sur l'intégration Web&quot;&gt;blog&lt;/a&gt; un &lt;a href=&quot;http://www.css4design.com/blog/le-code-css-et-javascript-inline-saimal&quot; title=&quot;Billet de Bruno Bichet sur les raisons de ne pas insérer des CSS et du JavaScript dans le code HTML&quot;&gt;billet&lt;/a&gt; expliquant pourquoi ce n'est pas une bonne pratique que de mélanger le code HTML, les CSS (à coup d'attributs &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;style&lt;/code&gt;) et le JavaScript (à coups d'attributs d'événements de type &lt;code&gt;&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;on&lt;/span&gt;&lt;var&gt;nom de l'événement&lt;/var&gt;&lt;/code&gt;). Il s'agit d'une traduction (Bruno Bichet parle de &lt;q cite=&quot;http://www.css4design.com/blog/le-code-css-et-javascript-inline-saimal&quot;&gt;craduction&lt;/q&gt; &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; ) d'un &lt;a href=&quot;http://www.robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/&quot; hreflang=&quot;en&quot; title=&quot;Billet de Robert Nyman expliquant pourquoi il est mauvais d'insérer les CSS et le JavaScript en plein code HTML&quot;&gt;billet de Robert Nyman, en anglais, à ce sujet&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Dans l'ensemble, il n'y a rien à ajouter aux explications de Bruno Bichet, explications qui se doublent d'une démonstration de ce qu'il faut faire si l'on se soucie de &lt;strong&gt;bonnes pratiques de codage en CSS et en JavaScript&lt;/strong&gt;&amp;nbsp;: autrement dit, il faut &lt;strong&gt;séparer&lt;/strong&gt; le contenu (et la structure, de préférence conforme au balisage sémantique, de ce contenu) de sa présentation et des comportements dynamiques qui s'y appliquent. N'oublions pas que c'est pour tendre à cet objectif de séparation que les feuilles de styles sont apparues (pour rappel, il y a bientôt douze ans&amp;nbsp;!) et qu'on a mis au point le concept d'&lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;unobstrusive JavaScript&lt;/em&gt; (en bon français, le &lt;em&gt;JavaScript non intrusif&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;D'ailleurs, à propos de JavaScript, j'ai une remarque à faire concernant la gestion des événements et la résolution des conflits éventuels entre plusieurs gestionnaires d'événement. Il n'est pas nécessaire de recourir à une bibliothèque JavaScript pour faire cohabiter pacifiquement plusieurs gestionnaires d'événements&amp;nbsp;: en effet, la &lt;a href=&quot;http://www.w3.org/TR/DOM-Level-2-Events/&quot; hreflang=&quot;en&quot;&gt;spécification &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; niveau 2 événements du &lt;acronym title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/acronym&gt;&lt;/a&gt; a de quoi suffire, ainsi que la gestion des événements propre à Internet Explorer.&lt;/p&gt;
&lt;pre xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;function fnAjaxNews ()
{
  // Get news through &lt;acronym title=&quot;Asynchronous JavaScript and XML&quot;&gt;Ajax&lt;/acronym&gt;
}

function fnGetNews ()
{
  var oGetNews = document.getElementById ('get-news');
  // For standards-compliant browsers
  if (oGetNews.addEventListener) oGetNews.addEventListener ('click', fnAjaxNews, false);
  // For Internet Explorer
  else if (oGetNews.attachEvent) oGetNews.attachEvent ('onclick', fnAjaxNews);
  // For browsers who do not understand DOM level 2, there is no event
  else return;
}

// Let us load the function above
function fnLoad ()
{
  // For standards-compliant browsers
  if (window.addEventListener) window.addEventListener ('load', fnGetNews, false);
  // For Internet Explorer
  else if (window.attachEvent) window.attachEvent ('onload', fnGetNews);
  // For browsers who do not understand DOM level 2, there is no event
  // (which means these browsers will behave as though JavaScript were deactivated or not supported)
  else return;
}
// Execute
fnLoad ();&lt;/pre&gt;
&lt;p&gt;Sans doute y a-t-il plus de code à pondre que si l'on utilisait une bibliothèque JavaScript&amp;nbsp;; mais, ce bout de code a l'avantage d'éviter les conflits (d'autres fichiers JavaScript pourront être appelés qui gèrent les événements de la sorte) et de ne pas servir de JavaScript (c'est un choix) aux navigateurs incapables d'implémenter l'une des deux méthodes d'ajout d'événement (que ce soit la méthode standard ou la méthode propriétaire d'&lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt;)&amp;nbsp;: pour ces derniers, il y aura donc une &lt;em&gt;dégradation élégante&lt;/em&gt;, qui ne sera pas gênante, pourvu que le contenu soit parfaitement accessible sans JavaScript.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Internet Explorer 8 aura des propriétés CSS propriétaires nommées conformément au standard CSS</title>
    <link>http://blog.britoweb.net/post/2008/09/09/Internet-Explorer-8-aura-des-proprietes-CSS-proprietaires-nommees-conformement-au-standard-CSS</link>
    <guid isPermaLink="false">urn:md5:a44944cca636b8d8dc361115b52d4913</guid>
    <pubDate>Tue, 09 Sep 2008 19:29:00 +0200</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>Navigateurs</category>
        <category>css</category><category>extensions css</category><category>internet explorer</category><category>internet explorer 8</category><category>propriétés css</category><category>propriétés css propriétaires</category>    
    <description>&lt;p&gt;La &lt;a href=&quot;http://www.w3.org/TR/CSS21/&quot; hreflang=&quot;en&quot;&gt;spécification CSS 2.1&lt;/a&gt; prévoit, dans la syntaxe des CSS, la possibilité pour les navigateurs d'ajouter des &lt;a href=&quot;http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords&quot; hreflang=&quot;en&quot;&gt;extensions aux propriétés faisant partie des CSS&lt;/a&gt;. Ces extensions se reconnaissent à la syntaxe suivante&amp;nbsp;: &lt;code&gt;-&lt;var&gt;identifiant du propriétaire de l'extension&lt;/var&gt;-&lt;var&gt;nom significatif du rôle de l'extension&lt;/var&gt;&lt;/code&gt;. C'est ainsi qu'il existe des propriétés propriétaires comme &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;-moz-border-radius&lt;/code&gt;, &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;-khtml-border-radius&lt;/code&gt; ou &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;-webkit-border-radius&lt;/code&gt;, des propriétés propriétaires propres aux navigateurs utilisant, respectivement, comme moteur de rendu Gecko (Firefox, Camino…), KHTML (Konqueror) et Webkit (Safari) qui permettent, dans ces exemples, d'obtenir des bordures à angle arrondi (en attendant la future propriété CSS 3 &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;border-radius&lt;/code&gt;).&lt;/p&gt;    &lt;p&gt;Internet Explorer n'est pas en reste&amp;nbsp;; mais, jusqu'à présent, le navigateur de Microsoft ne suivait pas la syntaxe standard, nommant ses propriétés propriétaires comme s'il s'agissait de propriétés incluses dans la spécification CSS. Sous Internet Explorer 8, en revanche, les propriétés propres à Microsoft suivent la syntaxe préconisée par le &lt;acronym title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/acronym&gt;&amp;nbsp;: désormais, on n'utilisera plus &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;filter&lt;/code&gt;, mais &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;-ms-filter&lt;/code&gt;. Le blog de &lt;acronym title=&quot;MicroSoft Developer Network&quot;&gt;MSDN&lt;/acronym&gt; &lt;a href=&quot;http://blogs.msdn.com/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx&quot; title=&quot;Billet du blog de MSDN listant les propriétés CSS propres à Microsoft qui sont renommées sous Internet Explorer 8 pour se conformer à la spécification CSS 2.1&quot; hreflang=&quot;en&quot;&gt;recense les propriétés propriétaires concernées par ce changement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ce changement n'est valable que si Internet Explorer 8 &lt;strong&gt;n'est pas en mode de compatibilité&lt;/strong&gt; pour le rendu. Toutefois, par souci de rétro-compatibilité, les anciennes appellations des propriétés en question seront tolérées et continueront à fonctionner.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Connaissez-vous les JSSS ?</title>
    <link>http://blog.britoweb.net/post/2008/06/23/Connaissez-vous-les-JSSS</link>
    <guid isPermaLink="false">urn:md5:d7505e5236415392791d5f6f13e09736</guid>
    <pubDate>Mon, 23 Jun 2008 22:12:00 +0200</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>internet explorer</category><category>javascript</category><category>jsss</category><category>netscape</category><category>netscape 4</category><category>netscape 6</category><category>w3c</category>    
    <description>&lt;p&gt;En lisant un &lt;a href=&quot;http://openweb.eu.org/articles/interview_glazman_css/&quot;&gt;entretien accordé par Daniel Glazman à Openweb sur les CSS&lt;/a&gt;, je suis tombé sur le sigle suivant&amp;nbsp;: &lt;abbr title=&quot;JavaScript StyleSheets&quot;&gt;JSSS&lt;/abbr&gt;.&lt;/p&gt;    &lt;p&gt;J'ai ainsi appris qu'il y a une décennie (ce qui, à l'échelle du Web, veut dire dans l'Antiquité), Netscape mit au point les feuilles de style JavaScript (en anglais &lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;JavaScript StyleSheets&lt;/em&gt;), qui concurrençaient les CSS.&lt;/p&gt;
&lt;p&gt;Si elles pouvaient être puissantes pour des &lt;q cite=&quot;http://en.wikipedia.org/wiki/JSSS&quot;&gt;calculs dynamiques hautement complexes&lt;/q&gt;&amp;nbsp;; en revanche, elles se rélévaient bien pauvres à côté des CSS, en ne supportant que le sélecteur d'élément simple. De plus, la syntaxe, issue de JavaScript, était plus verbeuse et sensible à la casse&amp;nbsp;: là où en CSS on écrit &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;h1 { font-size: 20pt; }&lt;/code&gt;, en JSSS on écrivait &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;document.tags.H1.fontSize = &quot;20pt&quot;;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Bien que &lt;a href=&quot;http://www.w3.org/Submission/1996/1/WD-jsss-960822&quot; hreflang=&quot;en&quot; title=&quot;Proposition des JSSS comme standard par Netscape au W3C&quot;&gt;Netscape eût soumis les JSSS au &lt;acronym title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/acronym&gt;&lt;/a&gt;, elles ne furent jamais acceptées comme standard. Qui pis est, elles furent d'autant plus boudées par le marché que le principal concurrent de Netscape, Internet Explorer, n'hésita pas à adopter les CSS comme langage de feuille de style. Seul Netscape 4, sorti en 1997, supportait les JSSS&amp;nbsp;; mais, très vite, la société Netscape laissa tomber la promotion de ce langage propriétaire pour s'intéresser aux CSS et cessa tout support des JSSS à la sortie de Netscape 6, en 2000.&lt;/p&gt;
&lt;p&gt;Pour plus de détails, un &lt;a href=&quot;http://en.wikipedia.org/wiki/JSSS&quot; hreflang=&quot;en&quot; title=&quot;Article de la version anglaise de Wikipédia sur les JSSS&quot;&gt;article de Wikipédia&lt;/a&gt; lui est consacré, qui m'a servi de source pour les propos tenus dans ce billet.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Les CSS mises à nu</title>
    <link>http://blog.britoweb.net/post/2008/04/09/Les-CSS-mises-a-nu</link>
    <guid isPermaLink="false">urn:md5:7cb0ee56017a7d6075a1563bd14bcfe3</guid>
    <pubDate>Wed, 09 Apr 2008 00:00:00 +0200</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>css</category><category>css naked day</category>    
    <description>&lt;p&gt;Où est donc passé l'habillage du site&amp;nbsp;? Le site se serait-il mis à poil&amp;nbsp;?&lt;/p&gt;
&lt;p&gt;En quelque sorte, oui. Aujourd'hui, c'est la troisième édition du &lt;a href=&quot;http://naked.dustindiaz.com&quot; hreflang=&quot;en&quot;&gt;&lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;CSS Naked Day&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Il s'agit d'une initiative, lancée par Dustin Diaz, qui consiste à dépouiller, pour une journée, un site Web de ses feuilles de style, afin de promouvoir les standards du Web, et plus particulièrement le bon usage du &lt;abbr title=&quot;(eXtensible) HyperText Markup Language&quot;&gt;(X)HTML&lt;/abbr&gt;, le balisage sémantique et la bonne hiérarchisation de la structure d'une page Web. Bref, il s'agit de montrer qu'une bonne structure (X)HTML se moque de la mise en forme et de la présentation et reste parfaitement consultable, voire accessible, puisqu'elle va à l'essentiel&amp;nbsp;: le contenu et la nature de ce contenu.&lt;/p&gt;
&lt;p&gt;Sur ce, si votre site Web est une charmante jeune femme en lingerie, qu'elle ose ôter son &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;&amp;lt;body&amp;gt;&lt;/code&gt; et se mette à poil&amp;nbsp;! &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>CSS, PNG : ne pas rester prisonnier d'Internet Explorer 6</title>
    <link>http://blog.britoweb.net/post/2008/03/24/CSS-PNG-ne-pas-rester-prisonnier-d-Internet-Explorer-6</link>
    <guid isPermaLink="false">urn:md5:ec69801c5185fbb1d9d90c4599823e14</guid>
    <pubDate>Mon, 24 Mar 2008 23:19:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>CSS</category>
        <category>commentaires conditionnels</category><category>css</category><category>dom</category><category>hacks css</category><category>internet explorer</category><category>internet explorer 6</category><category>navigateurs</category><category>png</category><category>standards web</category><category>sélecteurs css</category><category>w3c</category>    
    <description>&lt;p&gt;La &lt;a href=&quot;http://www.w3.org/TR/CSS21/&quot; hreflang=&quot;en&quot; title=&quot;Spécification CSS 2.1 du W3C&quot;&gt;spécification CSS 2.1&lt;/a&gt; offre des possibilités d'appliquer un style à un document Web si riches (et je ne parle pas de ce que nous réserve CSS 3…) qu'elle paraît trop en avance pour les navigateurs «&amp;nbsp;mauvais élèves&amp;nbsp;», comme Internet Explorer 6. Même si ce dernier est encore, hélas&amp;nbsp;! répandu, ce n'est pas une raison de ne pas utiliser toute la puissance des CSS.&lt;/p&gt;    &lt;p&gt;Prenons l'exemple de ce bout de code HTML&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;&amp;lt;div id=&quot;exemple&quot;&amp;gt;
  &amp;lt;h1&amp;gt;Titre&amp;lt;/h1&amp;gt;
  &amp;lt;ul&amp;gt;
    &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section1.html&quot;&amp;gt;Section 1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;
      &amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2.html&quot;&amp;gt;Section 2&amp;lt;/a&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2-1.html&quot;&amp;gt;Section 2.1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;
          &amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2-2.html&quot;&amp;gt;Section 2.2&amp;lt;/a&amp;gt;
          &amp;lt;ul&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2-2-1.html&quot;&amp;gt;Section 2.2.1&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
            &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2-2-2.html&quot;&amp;gt;Section 2.2.2&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
          &amp;lt;/ul&amp;gt;
        &amp;lt;/li&amp;gt;
        &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section2-3.html&quot;&amp;gt;Section 2.3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section3.html&quot;&amp;gt;Section 3&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section4.html&quot;&amp;gt;Section 4&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
    &amp;lt;li&amp;gt;&amp;lt;a href=&quot;http://blog.britoweb.net/post/2008/03/24/section5.html&quot;&amp;gt;Section 5&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;
&lt;p&gt;Nous voulons que chaque élément de liste ait une bordure en haut, sauf le premier de chaque liste, et que les listes imbriquées aient une couleur d'arrière-plan différente de celle de la liste qui la contient. Pour corser les choses, le deuxième élément de chaque liste doit avoir son texte en gras.&lt;/p&gt;
&lt;p&gt;Il est possible de réaliser cette volonté &lt;strong&gt;sans qu'on touche au code HTML&lt;/strong&gt;, en codant, par exemple, le code CSS suivant&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;/* Texte en gras pour le deuxième élément li de chaque liste */
#exemple li:&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;first-child&lt;/span&gt; + li {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;font-weight: bold;&lt;/span&gt;
}
/* Si ce deuxième élément contient une liste,
   seul le deuxième élément de cette dernière est en gras
   (le reste est en graisse normale) */
#exemple li &amp;gt; ul {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;font-weight: normal;&lt;/span&gt;
}
/* Bordure */
#exemple li {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;border-top: 1px solid black;&lt;/span&gt;
}
/* Pas de bordure pour chaque premier élément li */
#exemple li:&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;first-child&lt;/span&gt; {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;border-top: none;&lt;/span&gt;
}
/* Couleurs d'arrière-plan différentes pour les listes selon leur niveau */
#exemple &amp;gt; ul {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: yellow;&lt;/span&gt;
}
#exemple &amp;gt; ul &amp;gt; li &amp;gt; ul {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: orange;&lt;/span&gt;
}
#exemple &amp;gt; ul &amp;gt; li &amp;gt; ul &amp;gt; li &amp;gt; ul {
  &lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;background-color: red;&lt;/span&gt;
}&lt;/pre&gt;
&lt;p&gt;Pour résumer, nous recourons aux sélecteurs d'élément enfant (&lt;code&gt;&amp;gt;&lt;/code&gt;) et adjacent (&lt;code&gt;+&lt;/code&gt;), ainsi qu'à une pseudo-classe (&lt;code&gt;:&lt;span xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;first-child&lt;/span&gt;&lt;/code&gt;), pour traiter les différents niveaux de liste. Et ça marche sous Firefox 2, Opera 9 et Safari 3, ainsi que sous Internet Explorer 7.&lt;/p&gt;
&lt;p&gt;&lt;q&gt;Ça ne marche pas sous &lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; 6&lt;/q&gt;, me direz-vous. C'est un fait, certes&amp;nbsp;; mais, &lt;strong&gt;cela ne doit pas être une excuse&lt;/strong&gt; pour mépriser les sélecteurs évoqués ci-dessus, sous prétexte que cela compliquerait la maintenance pour les intégrateurs ou que tout ce qui en CSS n'est pas compris par IE 6 est à ignorer parce que les utilisateurs d'IE 6 sont la cible principale.&lt;/p&gt;
&lt;p&gt;Pour ma part, j'estime que la maintenance est plus compliquée lorsqu'on doit ajouter des attributs &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;class&lt;/code&gt; (ou quelques &lt;code&gt;id&lt;/code&gt; lorsque le contexte du code HTML le permet), au risque de friser la &lt;q cite=&quot;http://forum.alsacreations.com/topic-6-18704-1-Mon-site-est-il-parfaitement-accessible-.html#p141123&quot;&gt;classite aiguë&lt;/q&gt; (comme dirait Raphaël Goetter), alors qu'en utilisant toute la puissance des CSS, notamment grâce à ses sélecteurs, on garde la faculté d'alléger le code HTML (et donc de réaliser des économies de bande passante, même s'il ne s'agit que de quelques kilo-octets &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; ).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cela ne veut pas dire, pour autant, qu'il faille interdire l'utilisation des classes en CSS.&lt;/strong&gt; Si l'on souhaite ou doit tenir compte d'IE 6, on peut s'en servir dans notre exemple (pour distinguer les éléments &lt;code&gt;li&lt;/code&gt; devant être mis en gras). Mais, la classe ajoutée &lt;em&gt;ne servira qu'au correctif pour IE 6&lt;/em&gt; si l'on veut y reproduire le style recherché. Auquel cas il faudra créer une feuille de style à part, qui ne servira &lt;em&gt;que&lt;/em&gt; pour IE 6 (et les versions antérieures à la 6, si l'on veut) et qu'on appellera par un &lt;a href=&quot;http://www.blog-and-blues.org/articles/Les_syntaxes_de_commentaires_conditionnels_pour_IE_Windows&quot; title=&quot;Syntaxe des commentaires conditionnels pour Internet Explorer Windows&quot;&gt;commentaire conditionnel&lt;/a&gt;. C'est une méthode à la fois plus pérenne et plus propre, en ce sens qu'une fois qu'IE 6 aura disparu du marché des navigateurs (et plus vite il disparaîtra, mieux ce sera &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/normal.png&quot; alt=&quot;:-|&quot; class=&quot;smiley&quot; /&gt; ), on pourra non seulement ôter les classes du code HTML, mais surtout supprimer la feuille de style pour IE 6, &lt;strong&gt;sans qu'on ait besoin de maintenir la feuille de style principale&lt;/strong&gt;, contrairement à la méthode des hacks CSS (ou de l'utilisation d'une seule feuille de style, qui mélange règles CSS standards et corrections pour IE), qui pollue une feuille de style qui, après tout, ne doit contenir que des règles CSS conçues pour être appliquées sans broncher par les navigateurs, à commencer par ceux qui respectent les standards.&lt;/p&gt;
&lt;p&gt;On peut en dire tout autant concernant les images en &lt;abbr title=&quot;Portable Network Graphics&quot;&gt;PNG&lt;/abbr&gt; contenant une couche de transparence. Sous prétexte qu'IE 6 ne gère pas nativement la transparence du format PNG, beaucoup en viennent à brider la créativité en matière de design Web, en se contentant du format &lt;acronym title=&quot;Graphics Interchange Format&quot;&gt;GIF&lt;/acronym&gt; pour utiliser de la transparence, mais sans pouvoir utiliser de couche Alpha ni aller au-delà de 256 couleurs (ce qui condamne l'utilisation de dégradés de couleurs). Si l'on souhaite ou doit tenir compte d'IE 6, même motif, même punition que pour les CSS&amp;nbsp;: un commentaire conditionnel, où l'on remplacera le PNG qui ne passe pas par un GIF ou, mieux, par un &lt;acronym title=&quot;Joint Photographic Experts Group&quot;&gt;JPEG&lt;/acronym&gt; équivalent, l'idéal étant que l'image en question soit une image générée en CSS (même si l'on peut utiliser les commentaires conditionnels pour afficher ou masquer un contenu HTML à Internet Explorer).&lt;/p&gt;
&lt;p&gt;Et je ne vais pas me hasarder à parler du &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt; et de la manière standard de parcourir l'arborescence d'un document HTML, où l'on peut jongler à merveille entre les liens de parenté qu'entretiennent les élements entre eux, voire boucler entre éléments frères. &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Bref, tout cela pour dire que, malheureusement, même dans le milieu des agences Web, on continue encore à coder «&amp;nbsp;à la cochonne&amp;nbsp;», en n'osant pas exploiter à fond toutes les possibilités des CSS parce qu'on reste prisonnier d'un navigateur et d'une version qui ne respectent pas les standards du Web&amp;nbsp;: on crée des classes pour sélectionner le premier élément enfant, on pollue la feuille de style principale de hacks et de propriétés CSS propriétaires (comme &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;filter&lt;/code&gt; ou &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;zoom&lt;/code&gt;) qui l'invalident dès qu'elle passe au validateur CSS du &lt;acronym title=&quot;World Wide Web Consortium&quot;&gt;W3C&lt;/acronym&gt;… Même s'il faut tenir compte des problèmes de compatibilité entre les navigateurs et entre les versions d'un même navigateur, &lt;strong&gt;il ne faut pas rester prisonnier de ce cancre qu'est Internet Explorer 6&lt;/strong&gt;, d'autant moins que la version 7 fait son bonhomme de chemin, que la version 8 pointe déjà son nez et qu'un code pérenne doit se tourner vers cet avenir, de plus en plus présent, qu'est la généralisation des standards du Web.&lt;/p&gt;
&lt;p&gt;Il est &lt;em&gt;important d'&lt;a href=&quot;http://css.alsacreations.com/Faire-une-mise-en-page-sans-tableaux/Mise-en-page-CSS-avancee-grace-a-la-propriete-display&quot; title=&quot;Exemple d'utilisation de la puissance des CSS&amp;nbsp;: mise en page avancée avec la propriété display&quot;&gt;avancer en CSS&lt;/a&gt;&lt;/em&gt;&amp;nbsp;; sinon, nous en serions à coder en &lt;a href=&quot;http://blog.alsacreations.com/2005/08/01/183-choix-dune-dtd-le-doctype-switching-nest-pas-pour-nous&quot; title=&quot;L&amp;#039;utilisation du mode Quirks et du doctype switching n&amp;#039;est pas pour nous&quot;&gt;mode &lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Quirks&lt;/em&gt;&lt;/a&gt;, ce qui n'arrangerait pas du tout le W3C, dont le travail &lt;em&gt;essentiel&lt;/em&gt; est de faire en sorte que, sur le Web, tout le monde parle les mêmes langages côté client, afin de faciliter la tâche des concepteurs de sites.&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Internet Explorer 8 : un pas de géant vers les standards</title>
    <link>http://blog.britoweb.net/post/2008/03/09/Internet-Explorer-8-un-pas-de-geant-vers-les-standards</link>
    <guid isPermaLink="false">urn:md5:66d83bacb05162c76682f22848cdc3a7</guid>
    <pubDate>Sun, 09 Mar 2008 15:47:00 +0100</pubDate>
    <dc:creator>Victor Brito</dc:creator>
        <category>Navigateurs</category>
        <category>css</category><category>dom</category><category>html</category><category>internet explorer</category><category>internet explorer 7</category><category>internet explorer 8</category>    
    <description>&lt;p&gt;Quelle riche semaine que celle qui s'achève&amp;nbsp;! &lt;img src=&quot;http://blog.britoweb.net/themes/normal-marron/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; En effet, l'équipe des développeurs d'Internet Explorer s'est montrée particulièrement réactive, à en croire les billets récemments publiés sur le blog de &lt;abbr title=&quot;MicroSoft Developer Network&quot;&gt;MSDN&lt;/abbr&gt; consacré à Internet Explorer.&lt;/p&gt;    &lt;p&gt;D'abord, contrairement à ce que l'on craignait initialement (et à ce qui avait été annoncé dans un premier temps), le mode affichant les améliorations d'Internet Explorer 8 en matière de respect des standards sera le &lt;a href=&quot;http://www.victor-brito.com/cv/2008/03/05/41-internet-explorer-8-plus-besoin-de-meta-pour-profiter-de-ses-avancees-en-matiere-d-implementation-des-standards&quot; title=&quot;Le mode d'affichage par défaut d'Internet Explorer 8 est, finalement, le mode standard de la version 8&quot;&gt;&lt;strong&gt;mode utilisé par défaut&lt;/strong&gt;&lt;/a&gt;. Le souci de rétro-compatibilité est maintenu, la nouvelle balise &lt;code xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;meta&lt;/code&gt; affichant le mode standard d'&lt;abbr title=&quot;Internet Explorer&quot;&gt;IE&lt;/abbr&gt; 7 et le mode &lt;em xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;Quirks&lt;/em&gt; restant tel quel (&lt;a href=&quot;http://www.victor-brito.com/cv/2008/03/07/43-les-differents-modes-d-affichage-disponibles-sous-internet-explorer-8&quot;&gt;plus de détails sur les différents modes d'affichage d'IE 8&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Ensuite, la liste des progrès d'IE 8 en matière de support des standards est agréable à lire, que ce soit &lt;a href=&quot;http://www.victor-brito.com/cv/2008/03/09/44-internet-explorer-8-et-les-css-les-ameliorations-concretes&quot; title=&quot;Améliorations du support des CSS sous Internet Explorer 8&quot;&gt;en CSS&lt;/a&gt;, &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/cc288472(VS.85).aspx#html&quot; hreflang=&quot;en&quot; title=&quot;Améliorations du support de HTML sous Internet Explorer 8&quot;&gt;en HTML&lt;/a&gt; ou &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/cc288472(VS.85).aspx#storage&quot; hreflang=&quot;en&quot; title=&quot;Améliorations du support du DOM sous Internet Explorer 8&quot;&gt;en &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Enfin, &lt;a href=&quot;http://www.victor-brito.com/cv/2008/03/06/42-internet-explorer-8-beta-1-disponible&quot;&gt;la bêta 1 d'IE 8 est disponible&lt;/a&gt; sur le &lt;a href=&quot;http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx&quot; hreflang=&quot;en&quot; title=&quot;Page de téléchargement d'Internet Explorer 8 bêta 1&quot;&gt;site de Microsoft&lt;/a&gt;. Elle nécessite, à l'instar d'IE 7, le &lt;abbr title=&quot;Service Pack&quot;&gt;SP&lt;/abbr&gt;2 sous Windows XP.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>