Pour en expliquer le principe, on se limitera à deux exemples :



Documents pareils
Responsive Web Design. Responsive Design avec HTML 5.0 et CSS3

Media queries : gérer différentes zones de visualisation

RESPONSIVE DESIGN : Comment offrir à vos sites une adaptabilité parfaite?

RESPONSIVE WEB DESIGN

UN SITE WEB RESPONSIVE EN UNE HEURE?

Travaux dirigés n 10

HTML5 et CSS3 pour des sites Responsive Web Design

Responsive Web design, périphériques mobiles et accessibilité

Responsive Web Design. La Rochelle, Avril 2014

Freeway 7. Nouvelles fonctionnalités

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

Présentation du Framework BootstrapTwitter

LES GRANDES ETAPES DE CREATION D UN WEB DESIGN

Responsive Design. Technologies du web. Stéphane Bouvry, 2014

Introduction à HTML5, CSS3 et au responsive web design

Les nouveaux comportements... 9

Optimiser pour les appareils mobiles

Approche Design Méthodologie de conduite de sites web

HTML. Notions générales

HTML5, CSS3 et JavaScript Développez vos sites pour les terminaux mobiles

Zen, SASS, responsive design

ING & NEWSLETTER NEWSLETTER RESPONSIVE

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

Spétechs Mobile. Octobre 2013

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

Formation HTML / CSS. ar dionoea

Parcours FOAD Formation EXCEL 2010

Design adaptatif. Guide de l utilisateur VIENNA LONDON MUNICH BERLIN PARIS HONG KONG MOSCOW ISTANBUL BEIJING ZURICH

Dans ce mémento, vous trouverez les informations détaillées pour configurer les fonctionnalités du Responsive Design dans le Worldsoft CMS:

CONCEPTION D S ADAPTATIFS

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Canon Mobile Printing FAQs

Canon Mobile Printing Premiers pas

Spétechs Mobile. D e r n i è r e m i s e à j o u r : a o û t 2014

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Traitement numérique de l'image. Raphaël Isdant

Modifier les paramètres

Introduction à Expression Web 2

Avanquest Software présente la nouvelle gamme WebEasy 8

{less} Guide de démarrage

Initiation à html et à la création d'un site web

TA/UTAX Mobile Print L impression mobile TA Triumph Adler pour Androïd et ios

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

Poste virtuel. Installation du client CITRIX RECEIVER

Marie-eve TREMBLAY GROUPE B. Rapport de synthèse : Le responsive web design, CSS3 et HTML5. Apprentissage autonome 582-FXA-06

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Cours de numérisation sur Epson Perfection

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Tutoriel : Feuille de style externe

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

1. La notion de cascade

WINDOWS Remote Desktop & Application publishing facile!

L ORDINATEUR FACILE D ACCÈS!

Table des matières ENVIRONNEMENT

Guide Google Cloud Print

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

Guide de réalisation d une campagne marketing

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

Utilisation de XnView

IPHONE BANNIÈRE CLASSIQUE DIMENSIONS. Standard : 320 x 53 (portrait) 20Ko Jpeg/Gif/Png. HD : 640 x 106 (portrait) 20Ko Jpeg/Gif/Png DESCRIPTION

Recommandations techniques

Observatoire des ressources numériques adaptées

STID 2ème année : TP Web/PHP

Optimisation des s pour les supports mobiles. Améliorez vos taux de clics sans augmenter votre charge de travail.

LES TABLETTES TACTILES

Programme détaillé. LES TABLEAUX DE BORD Formation en présentiel (21 h) accompagnée d un parcours e-learning Excel (5 h)

Relever le défi du Web mobile

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

Access 2007 FF Access FR FR Base

Guide d installation

Création de maquette web

Livre Blanc WebSphere Transcoding Publisher

Spétechs Mobile. D e r n i è r e m i s e à j o u r : s e p t e m b r e

Optimiser les s marketing Les points essentiels

BiSecur Gateway avec appli smartphone NOUVEAU

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

Mozilla Firefox 3.5. Google Chrome 3.0 LES NAVIGATEURS WEB. (pour Windows) Opéra 10. Internet Explorer 8. Safari 4.0

Bureautique Initiation Excel-Powerpoint

Nouveautés joomla 3 1/14

MERLIN. Guide de démarrage rapide Gestion de projet professionnelle ProjectWizards GmbH, Melle, Allemagne. Tous droits réservés.

Guide d'utilisation de Wireless Image Utility

Naviguer à bon compte avec sa tablette ou son smartphone

Synchroniser ses photos

Spécifications Techniques - Tablettes

Manuel d utilisation NETexcom

HTML, CSS, JS et CGI. Elanore Elessar Dimar

ESPACE MULTIMEDIA DU CANTON DE ROCHESERVIERE

Alain DI MAGGIO Mise à jour sur le site 11/01/10

FAQ Mobiclic/ Toboclic

Produits et services pour déficients visuels. Présentation générale des produits

L écran du marais : Comment configurer le viewer OpensSim

PROTECTION DES DONNEES PERSONNELLES ET COOKIES

À propos de Kobo Desktop Télécharger et installer Kobo Desktop... 6

1. Installation standard sur un serveur dédié

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Sage CRM. Sage CRM 7.3 Guide du portable

Atelier Formation Pages sur ipad Pages sur ipad

Normes techniques 2011

Transcription:

Les Media Queries permettent donc de cibler : Le type de média La taille de l'écran La taille de la fenêtre La résolution Le nombre de couleurs L'orientation Pour en expliquer le principe, on se limitera à deux exemples : 1. La largeur de la fenêtre avec un contrôle du width. 2. La largeur de l'écran du terminal avec le contrôle de device-width (ah non, ce n'est pas la même chose que width tout seul) Fonctionne avec : Chrome, Safari Firefox, SeaMonkey MSIE 9 Opéra Cibler la largeur de la fenêtre Petit exemple très visuel : changer la couleur de fond initialement blanche de la page lorsque la taille de la fenêtre du navigateur passe au dessous des 800 pixels de large. Très simplement, alors que la couleur de fond (background-color) du body est déclaré blanche, on déclarera une couleur noire pour tout écran (screen) ayant une taille maximum (max-width) de 800px, dans une déclaration @media {. Code CSS background-color:white; color:black; @media only screen and (max-width:800px) { background-color:black; color:white Avec un smartphone, dont on ne peut modifier la taille de la fenêtre, le résultat sera différent selon son viewport (partie visible de l'écran). Et de ce côté là, les constructeurs s'en donnent à cœur joie pour multiplier les configurations. Jean Michel Meulien - Les Media Queries Page 1

Un androïd a un viewport de 800px, mais un iphone4 en a un de 980px. Dans le 1er cas le fond sera donc noir alors que dans le second il sera blanc. Cibler la largeur de l'écran Avec device-width, on ne ciblera plus la largeur de la fenêtre, mais la largeur de l'écran. Intéressant pour les smartphones. Reprenons donc le même principe que ci-dessus, mais en déclarant un max-device-width:480px à la place du max-width:800px. Code CSS background-color:white; color:black; @media only screen and (max-device-width:480px) { background-color:black; color:white Avec cet exemple, un androïd aura un fond noir en orientation portrait et blanc en orientation paysage. A noter que selon le navigateur utilisé, un refresh pourra être nécessaire pour visualiser le résultat. Appliquer à la taille des caractères Une application sans doute plus intéressante pour la dimension des polices de caractère souvent trop petite et donc illisible sans zoom sur un écran de téléphone portable. Couplée à une déclaration sur la taille du viewport dans les meta de l'en-tête de la page, la redéfinition de la taille des caractères fera des miracles. Code html À inclure entre les balises head : <meta name="viewport" content="width=device-width" /> Code CSS L'écran ayant un viewport le plus grand étant celui de l'iphone4 avec ses 980px, c'est cette taille qui sera choisie : font-size:100% @media only screen and (max-device-width:980px) { font-size:120%; Jean Michel Meulien - Les Media Queries Page 2

De même, des éléments positionnés sur une grande largeur de page pourront avantageusement être disposés de façon plus adaptée à une largeur d'écran moins importante. Les possibilités sont énormes. En dehors d'un problème d'implémentation encore prégnant, notamment avec ce cher Internet Explorer, plus aucun site ne devrait à présent dépasser les bornes. pardon : les bords La spécification CSS3 Media Queries du W3C définit les techniques pour l'application de feuilles de styles en fonction des périphériques de consultation utilisés pour des pages (X)HTML. Ces bonnes pratiques permettent d'exploiter encore plus les avantages de la séparation du contenu et de la présentation. L'intérêt est de pouvoir satisfaire des contraintes en terme de dimensions, de résolutions et d'autres critères variés pour améliorer l'apparence graphique et la lisibilité (voire l'utilisabilité) d'un site web, notamment avec l'usage de plateformes exotiques (navigateurs mobiles et écrans à faibles résolutions, impression, tv, synthèses vocales, plages braille, etc). On nomme également cette pratique responsive web design en anglais. Contexte historique Avec CSS2 et HTML4, il était déjà possible de spécifier un média de destination pour l'application d'une ou plusieurs feuilles de style. C'est ainsi que l'on a pu associer des règles CSS complémentaires pour l'impression, modifiant la mise en page, favorisant tel élément ou faisant disparaître un autre inutile à la sortie sur papier. La balise <link> est alors dupliquée pour autant de feuilles de style que nécessaire, et comporte un attribut media qui précise le contexte dans lequel celles-ci doivent être prises en compte : <link rel="stylesheet" media="screen" href="screen.css" type="text/css" /> <link rel="stylesheet" media="print" href="print.css" type="text/css" /> L'attribut media peut prendre (depuis CSS2) les valeurs suivantes : screen handheld print Écrans Périphériques mobiles ou de petite taille Impression aural (CSS 2.0) / speech (CSS 2.1) braille Synthèses vocales Plages braille Jean Michel Meulien - Les Media Queries Page 3

embossed projection tty tv all Imprimantes braille Projecteurs (ou présentations avec slides) Terminal/police à pas fixe Téléviseur Tous les précédents Ces directives peuvent parfaitement être intégrées au sein même d'une feuille de style grâce à une règle @media suivie directement du type. La syntaxe sera alors légèrement différente : @media print { #menu, #footer, aside { display:none; font-size:120%; color:black; D'autres variantes peuvent exister avec la règle @import, cependant celle-ci pose quelques problèmes de performance sur d'anciens navigateurs et se voit ignorée lorsqu'elle est utilisée en combinaison avec les media queries sur Internet Explorer versions inférieures à 8. Or, les médias peuvent être très variés, surtout en ce qui concerne les écrans. De surcroît, tout dépend du support de l'interprétation de ces définitions. Rien n'oblige un périphérique ou un navigateur à appliquer ce qui semblerait le plus indiqué. Par exemple, la règle media handheld est ignorée par la grande majorité des navigateurs mobiles, y compris par Safari Mobile sur ios qui se considère comme un média screen. Syntaxe des Media Queries CSS3 La philosophie des media queries (ou requêtes de media) en CSS3 est d'offrir un panel de critères plus vaste et plus précis, à l'aide de propriétés et de valeurs numériques, ainsi que de combinaisons multiples de ces mêmes critères. Le but est de cibler plus finement les périphériques de destination en fonction de leurs capacités intrinsèques. Jean Michel Meulien - Les Media Queries Page 4

L'écriture de ces requêtes est relativement explicite (en anglais) : une media query est une expression dont la valeur est toujours vraie ou fausse. Il suffit d'associer les différentes déclarations possibles avec un opérateur logique pour définir l'ensemble des conditions à réunir pour l'application des styles compris dans le bloc adjacent. Les opérateurs logiques peuvent être and et, only uniquement et not non. Pour obtenir l'équivalent du ou, il suffit d'énumérer différentes media queries à la suite, séparées par des virgules : si l'une d'entre elles est valable, alors l'ensemble de la règle sera appliquée. En général, on combine ensemble un type de média (screen, all...) et une expression grâce à and, bien qu'une expression seule puisse être utilisée. L'expression est toujours écrite entre parenthèses. Les deux exemples suivants ciblent les écrans de largeur inférieure à 640 pixels grâce à la règle max-width associée à la valeur 640px. <link rel="stylesheet" media="screen and (max-width: 640px)" href="smallscreen.css" type="text/css" /> @media screen and (max-width: 640px) {.bloc { display:block; clear:both; Les combinaisons peuvent être multiples. Ici l'on s'adresse à un écran dont la résolution en largeur est comprise entre 200 et 640 pixels : @media screen and (min-width: 200px) and (max-width: 640px) {.bloc { display:block; clear:both; Fonctionnalités La plupart des critères (ou fonctionnalités) peuvent être préfixés par min- et max- lorsqu'elles acceptent des valeurs numériques pour définir des valeurs minimales ou maximales à respecter. color color-index aspect-ratio support de la couleur (bits/pixel) périphérique utilisant une table de couleurs indexées Jean Michel Meulien - Les Media Queries Page 5

ratio du périphérique de sortie (par exemple 16/9) device-aspect-ratio device-height device-width grid height monochrome orientation resolution scan width ratio de la zone d'affichage dimension en hauteur du périphérique dimension en largeur du périphérique périphérique bitmap ou grille (ex : lcd) dimension en hauteur de la zone d'affichage périphérique monochrome ou niveaux de gris (bits/pixel) orientation du périphérique (portait ou paysage) résolution du périphérique type de balayage des téléviseurs (progressive ou interlace) dimension en largeur de la zone d'affichage Les dimensions pourront être évaluées avec des unités (px, em). Les ratios avec des fractions (entier/entier). Une résolution sera définie en dpi (points par pouce) ou en dpcm (points par centimètres). Certaines de ces propriétés peuvent être testées d'une façon raccourcie sans valeur, par exemple (color) qui sera équivalent à (min-color: 1) ou considérée comme vraie pour une valeur différente de 0. La fonctionnalité monochrome n'est pas uniquement booléenne avec la syntaxe raccourcie (monochrome), on peut aussi considérer un nombre de niveaux de gris, par exemple (min-monochrome: 2) pour 2 bits par pixel. Jean Michel Meulien - Les Media Queries Page 6

Au service des mobiles Dans la majorité des cas, on utilise les media queries pour produire des améliorations spécifiques à l'affichage sur les mobiles, qui sont directement concernés par des critères sur les dimensions de l'écran (en termes de résolution et d'espace disponible) et sur l'utilisation tactile. Les périphériques sous ios (iphone, ipod, ipad...) supportent relativement bien les media queries. Ainsi on retrouvera le plus fréquemment des règles pour : agrandir la taille du texte agrandir la taille des contrôles et zones cliquables (pour une utilisation au doigt) faire passer le contenu sur une seule colonne masquer ou afficher des éléments spécifiques ajuster les dimensions et marges La fonctionnalité orientation a été introduite pour des périphériques pouvant être orientés, par exemple l'ipad. On peut alors déclarer une feuille de style spécifique pour ajuster l'affichage : <link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> <link rel="stylesheet" media="all and (orientation:landscape)" href="paysage.css"> Certains navigateurs classiques l'implémentent également en version bureau et calculent le ratio hauteur/largeur pour simuler un affichage "orienté". Autres exemples Impression sur un support plus large que 5 pouces : print and (min-width: 5in) Ecrans possédant un ratio 16/9 et 16/10e : tv, screen and (device-aspect-ratio: 16/9), screen and (device-aspect-ratio: 16/10) Support et alternatives Les navigateurs sont inégaux face aux media queries, mais cela tend à s'améliorer. Mozilla Firefox : 3.5+ Internet Explorer : 9+ Google Chrome : 5+ Opera : 10.5+, Opera Mobile : 10+, Opera Mini : 5+ Apple Safari : 4+ et ios (mobile) 3.2+ Android : 2.1+ Webkit en général Globalement, si un navigateur ne les supporte pas du tout, il continuera à appliquer la règle concernant le type de média qui figure en début de chaîne. Jean Michel Meulien - Les Media Queries Page 7

<link rel="stylesheet" media="screen and (max-width: 640px)" href="smallscreen.css" /> On peut choisir d'exclure tous ceux ne supportant pas les media queries en utilisant comme préfixe de déclaration l'opérateur only. <link rel="stylesheet" media="only screen and (color)" href="styles.css" /> Le retardataire le plus marquant est encore une fois Internet Explorer. Il existe quelques alternatives en JavaScript néanmoins pour ce navigateur et les plus anciens, telles que des plugins jquery (MediaQueries) ou une librairie JavaScript nommée Respond.js qui apporte un support minimaliste des media queries par la lecture de la feuille de style et des propriétés du document HTML pour IE 6 à 8, Firefox 1 à 3 et Safari 2. Jean Michel Meulien - Les Media Queries Page 8