<?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 - feuilles de style handheld</title>
  <link>http://blog.britoweb.net/</link>
  <atom:link href="http://blog.britoweb.net/feed/tag/feuilles%20de%20style%20handheld/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>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>
    
</channel>
</rss>