SlideShare una empresa de Scribd logo
1 de 54
palais des
congrès
Paris




7, 8 et 9
février 2012
Trois avancées majeures
     en CSS3 : Media
 Queries, Grid Layout et
        Animations
8 février 2012
Raphaël Goetter
Übercheerleader Alsacréations
@goetter
Media Queries
Mon quotidien

 1 PC de bureau (24")
 1 PC portable (15")
 1 PC portable (11.6")
 1 netbook (10")
 1 tablette Windows (10")
 1 tablette Android (8.9")
 1 smartphone Apple (3.5")
S’adapter ?
Media Queries !

CSS3 Media Queries
« Requête CSS3 permettant d’appliquer 
des styles CSS selon des critères choisis, 
notamment la largeur d’écran »
Media Queries !

CSS3 Media Queries
   Pas besoin de site dédié
   Seul le design s'adapte
   Aucune intervention sur le serveur
   Pas de langage de développement
   Tout est possible visuellement
   CSS est fait pour ça !
Démos

Barrack Obama                     Sony
http://www.barackobama.com/       http://www.sony.com/index.php
                                   
The Boston Globe                  Theme Loom
http://www.bostonglobe.com/       http://themeloom.com/  

Alsacréations                     Goetter
http://www.alsacreations.fr/      http://www.goetter.fr/  
<link rel="stylesheet" media="screen and (max-
width : 640px)"   href="mobile.css">


styles.css                mobile.css
body {                    body {
      width : 960px ;           width : auto;
}                         }
nav {                     nav, #content {
      float : left ;            float : none;
      width : 200px ;           width : auto;
}                         }
#content {                … 
      float : left ;
      width : 760px
}
<link rel="stylesheet" media="screen and (max-
width : 640px)"   href="mobile.css">
@media (max-width :    styles.css
640px)                 body {
                             width : 960px ;
{ … }                  }
                       nav {
                             float : left ;
                             width : 200px ;
                       }
                       #content {
                             float : left ;
                             width : 760px
                       }
                       @media (max-width : 640px) {
                             body {
                                   width : auto;
                             }
                             nav, #content {
                                   float : none;
                                   width : auto;
                             }
                       }
Compatibilité
Grid Layout
Où en est-on ?
                                 flux
                        spacer.gif
 position: relative
         frames     bugs IE6 must die !
 <br><br><br>
                           <table>
              float position: absolute   rowspan
bidouilles                                  reset
     marges négatives
                         commentaires    clear
calques                  conditionnels
             colspan
  frameworks CSS            &nbsp;       hacks
Grid Layout

CSS3 Grid Layout
« Division de l'espace en grille virtuelle
composée de lignes, colonnes et
cellules destinées à positionner les
éléments HTML. »
Grid Layout

CSS3 Grid Layout
  Grille virtuelle
  Concepts de lignes et colonnes
  Indépendant de l'ordre HTML
  Positionnement intuitif
  Alignements et centrages simples
  Superpositions possibles
Concept de grille

body {
  display: grid   Et hop !

}
Colonnes

body {
  display: grid ;
  grid-columns: 250px 1fr;
}
Colonnes
body {
    display: grid ;
    grid-columns: 250px 1fr;
}
nav {
  grid-column: 1;
}
section {
  grid-column: 2;
}
Lignes / Colonnes
body {
     display: grid ;
     grid-columns: 250px 1fr;
     grid-rows: 100px 300px;
}
nav {
     grid-column: 1;
     grid-row: 1;
}
article {
     grid-column: 1;
     grid-row: 2;
}
…
Motifs répétés
body {                                 correspond à
   display: grid ;                     10px 1fr 10px 1fr 10px 1fr 10px 1fr 10px

   grid-columns: 10px (1fr 10px)[4];
}
…
Distribution
body {
   display: grid ;
   grid-columns: 250px 1fr;
   grid-rows: 100px 300px;
}
header {
   grid-column: 1;
   grid-row: 1;
   grid-column-span: 2 ;
}
…
Template
body {                      Template syntax
    display: grid ;
    grid-template: "hh"
                    "nc"
                    "ff";
}
header {
    grid-cell: "h";
}
nav {
    grid-cell: "n";
}
…
Alignements
section {
     grid-row-align: center;
}
article {
     grid-column-align: center;
}
aside {
     grid-row-align: center;
     grid-column-align: center;
}
Fluide !
body {                      body {
   display: grid ;             display: grid ;
   grid-template: "abcd";      grid-template: "a"
}                                              "b"
                                               "d"
                                               "d";
                            }
Compatibilité
Transitions / Animations
Transitions / Animations


CSS3 Transitions
« Transition CSS3 permet une évolution 
progressive entre deux valeurs d'une 
propriété CSS lorsqu'un événement est 
déclenché »

CSS3 Animations
« Extension de Transition. Permet 
d'appliquer un scénario dans le temps 
(plusieurs transitions) lors d'un 
événement ou lors du chargement d'un 
l'élément »
Transitions
div {
     width: 100px;
     transition:  1s;
}
div:hover {
     width: 200px;
}
Transitions
                                    Propriété
                                    Durée
                                    Courbe de progression
div {                               Délai

   width: 100px ;
   transition: width 1s ease 2s ;
}
                                    Aussi « all » (ou rien)

div:hover {
   width: 200px ;                   Aussi
}                                   :hover, :focus, :active, :checked, :disabled, :valid, 
                                    :invalid, :target, ::selection, … 
Animations
                                          Déclaration de l'animation « kiwi »
                                          Séquences temporelles en %

@keyframes kiwi {
   0% {width: 100px ;}
   50% {width: 50px ;}
   100% {width: 100px ;}
}

div:hover {
   animation: kiwi 4s infinite ;
}

            Appel de l'animation « kiwi » au survol
Démos

The Expressive Web            Apple
http://bit.ly/mstd1           http://www.apple.com/  

AT-AT Walker                  Photogame
http://bit.ly/mstd2012a       http://photogame.fr/   

Spiderman                     Animatable
http://bit.ly/w4Z83s          http://bit.ly/z652t3   
Compatibilité
A l’assaut !
Où est la grille ?
Yeah, HTML5 !
Floatitude !
Floatitude !
 float                 float   absolute                   float
                                          float

  float     absolute           float


 absolute




 absolute                                         float
mstechdays.fr

 4 redirections d’URL
 155 requêtes
 33 fichiers JS externes
 6 iframes
 22.36s de chargement sur bureau
 8s de chargement sur mobile
mstechdays.fr

  95 flottants
  20 clear : both
  65 position: absolute
  60 position: relative
  plusieurs surcouches CSS sur
 chaque élément
Grand Ménage !

         couche « reset » perso :
         display : none
         width : auto ; height : auto
         float : none
         position : static
         overflow : visible
         suppression de 10aines de JS
Grilles
428px     284px   284px   284px
Grilles
428px     284px   284px   284px
Grilles
#inGrid {
    display: grid ;
    grid-columns: 428px 284px 284px 284px;
    grid-rows: 132px 132px 140px;
}
#grid1 {
    grid-column: 1;
    grid-row: 1;
    grid-row-span: 3;
}
#grid2 {
    grid-column: 2;
    grid-row: 1;
    grid-row-span: 2;
Media Queries
@media (max-width: 1280px) {
  #inGrid {
      grid-columns: 428px 284px 284px;
      grid-rows: 132px 132px 140px 140px;
  }
  #grid7 {grid-column: 1; grid-row: 4;}
  #grid8 {grid-column: 2; grid-row: 4;}
  #grid9 {grid-column: 3; grid-row: 4;}
}
…
Media Queries
@media (max-width: 1000px) {
  #inGrid {
      grid-columns: 428px 284px;
      grid-rows: 132px 132px 140px 140px 140px 140px 140px;
  }
}
@media (max-width: 712px) {
  #inGrid {
      grid-columns: 1fr;
      grid-rows: 132px 132px 140px 140px 140px 140px 140px
      140px 140px;
  }
}
…
Finish Him !
               TechDays remix
               http://bit.ly/mstd2012




           couche « reset » perso :
           Suppression JS
           CSS3 Grid Layout
           CSS3 Media Queries
           CSS3 Animations
Merci !


          Raphaël Goetter
           www.alsacreations.com
           www.goetter.fr
           www.ie7nomore.com
           twitter : @goetter

Más contenido relacionado

Similar a Trois avancées majeures en CSS3 : Media Queries, Grid Layout et Animations

Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...
Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...
Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...Raphaël Goetter
 
CSS Facile : organiser ses feuilles de style
CSS Facile : organiser ses feuilles de styleCSS Facile : organiser ses feuilles de style
CSS Facile : organiser ses feuilles de styleKaelig Deloumeau-Prigent
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3davrous
 
Faire le pont entre designers et développeurs avec Sass au Guardian
Faire le pont entre designers et développeurs avec Sass au GuardianFaire le pont entre designers et développeurs avec Sass au Guardian
Faire le pont entre designers et développeurs avec Sass au GuardianKaelig Deloumeau-Prigent
 
Gagnez en productivité grâce aux préprocesseurs css
Gagnez en productivité grâce aux préprocesseurs cssGagnez en productivité grâce aux préprocesseurs css
Gagnez en productivité grâce aux préprocesseurs csspefringant
 
Le futur du Responsive Web Design
Le futur du Responsive Web DesignLe futur du Responsive Web Design
Le futur du Responsive Web DesignMicrosoft
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascriptcodedarmor
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2Horacio Gonzalez
 
WebApp #2 : responsive design
WebApp #2 : responsive designWebApp #2 : responsive design
WebApp #2 : responsive designJean Michel
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesRaphaël Goetter
 
Préprocesseurs vs CSS natif : Le match !
Préprocesseurs vs CSS natif : Le match !Préprocesseurs vs CSS natif : Le match !
Préprocesseurs vs CSS natif : Le match !Jonathan Levaillant
 
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013Mehdi Kabab
 
Futur du-positionnement-css
Futur du-positionnement-cssFutur du-positionnement-css
Futur du-positionnement-cssRaphaël Goetter
 
Un site web responsive en une heure
Un site web responsive en une heureUn site web responsive en une heure
Un site web responsive en une heureRaphaël Goetter
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsThomas Bassetto
 
Le Futur du positionnement CSS
Le Futur du positionnement CSSLe Futur du positionnement CSS
Le Futur du positionnement CSSRaphaël Goetter
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Microsoft Technet France
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !davrous
 

Similar a Trois avancées majeures en CSS3 : Media Queries, Grid Layout et Animations (20)

Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...
Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...
Trois avancées majeures en CSS3 : Mediaqueries, Grid Layout et Animations (MS...
 
CSS Facile : organiser ses feuilles de style
CSS Facile : organiser ses feuilles de styleCSS Facile : organiser ses feuilles de style
CSS Facile : organiser ses feuilles de style
 
Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3Création d'une application html5 utilisant canvas, svg et les animations css3
Création d'une application html5 utilisant canvas, svg et les animations css3
 
Faire le pont entre designers et développeurs avec Sass au Guardian
Faire le pont entre designers et développeurs avec Sass au GuardianFaire le pont entre designers et développeurs avec Sass au Guardian
Faire le pont entre designers et développeurs avec Sass au Guardian
 
Gagnez en productivité grâce aux préprocesseurs css
Gagnez en productivité grâce aux préprocesseurs cssGagnez en productivité grâce aux préprocesseurs css
Gagnez en productivité grâce aux préprocesseurs css
 
Le futur du Responsive Web Design
Le futur du Responsive Web DesignLe futur du Responsive Web Design
Le futur du Responsive Web Design
 
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et JavascriptCodedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript
 
HTML5, le nouveau buzzword
HTML5, le nouveau buzzwordHTML5, le nouveau buzzword
HTML5, le nouveau buzzword
 
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2Enib   cours c.a.i. web - séance #1 - html5 css3-js - 2
Enib cours c.a.i. web - séance #1 - html5 css3-js - 2
 
WebApp #2 : responsive design
WebApp #2 : responsive designWebApp #2 : responsive design
WebApp #2 : responsive design
 
Intégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudesIntégrateurs, bousculez vos habitudes
Intégrateurs, bousculez vos habitudes
 
Préprocesseurs vs CSS natif : Le match !
Préprocesseurs vs CSS natif : Le match !Préprocesseurs vs CSS natif : Le match !
Préprocesseurs vs CSS natif : Le match !
 
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013
Intégrateur web aime sass pour ton bien, BLEND Web Mix 2013
 
Futur du-positionnement-css
Futur du-positionnement-cssFutur du-positionnement-css
Futur du-positionnement-css
 
Un site web responsive en une heure
Un site web responsive en une heureUn site web responsive en une heure
Un site web responsive en une heure
 
L'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objetsL'Open Web en tant que pierre angulaire du développement multi-objets
L'Open Web en tant que pierre angulaire du développement multi-objets
 
L'animation newschool en html5
L'animation newschool en html5L'animation newschool en html5
L'animation newschool en html5
 
Le Futur du positionnement CSS
Le Futur du positionnement CSSLe Futur du positionnement CSS
Le Futur du positionnement CSS
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !
 

Más de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Más de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

Trois avancées majeures en CSS3 : Media Queries, Grid Layout et Animations

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. Trois avancées majeures en CSS3 : Media Queries, Grid Layout et Animations 8 février 2012 Raphaël Goetter Übercheerleader Alsacréations @goetter
  • 4. Mon quotidien 1 PC de bureau (24") 1 PC portable (15") 1 PC portable (11.6") 1 netbook (10") 1 tablette Windows (10") 1 tablette Android (8.9") 1 smartphone Apple (3.5")
  • 5.
  • 6.
  • 8. Media Queries ! CSS3 Media Queries « Requête CSS3 permettant d’appliquer  des styles CSS selon des critères choisis,  notamment la largeur d’écran »
  • 9. Media Queries ! CSS3 Media Queries  Pas besoin de site dédié  Seul le design s'adapte  Aucune intervention sur le serveur  Pas de langage de développement  Tout est possible visuellement  CSS est fait pour ça !
  • 10. Démos Barrack Obama Sony http://www.barackobama.com/   http://www.sony.com/index.php   The Boston Globe Theme Loom http://www.bostonglobe.com/    http://themeloom.com/   Alsacréations Goetter http://www.alsacreations.fr/    http://www.goetter.fr/  
  • 11. <link rel="stylesheet" media="screen and (max- width : 640px)"   href="mobile.css"> styles.css mobile.css body { body { width : 960px ; width : auto; } } nav { nav, #content { float : left ; float : none; width : 200px ; width : auto; } } #content { …  float : left ; width : 760px }
  • 13. @media (max-width :  styles.css 640px) body { width : 960px ; { … } } nav { float : left ; width : 200px ; } #content { float : left ; width : 760px } @media (max-width : 640px) { body { width : auto; } nav, #content { float : none; width : auto; } }
  • 16. Où en est-on ? flux spacer.gif position: relative frames bugs IE6 must die ! <br><br><br> <table> float position: absolute rowspan bidouilles reset marges négatives commentaires clear calques conditionnels colspan frameworks CSS &nbsp; hacks
  • 17.
  • 18. Grid Layout CSS3 Grid Layout « Division de l'espace en grille virtuelle composée de lignes, colonnes et cellules destinées à positionner les éléments HTML. »
  • 19. Grid Layout CSS3 Grid Layout Grille virtuelle Concepts de lignes et colonnes Indépendant de l'ordre HTML Positionnement intuitif Alignements et centrages simples Superpositions possibles
  • 20. Concept de grille body { display: grid Et hop ! }
  • 21. Colonnes body { display: grid ; grid-columns: 250px 1fr; }
  • 22. Colonnes body { display: grid ; grid-columns: 250px 1fr; } nav { grid-column: 1; } section { grid-column: 2; }
  • 23. Lignes / Colonnes body { display: grid ; grid-columns: 250px 1fr; grid-rows: 100px 300px; } nav { grid-column: 1; grid-row: 1; } article { grid-column: 1; grid-row: 2; } …
  • 24. Motifs répétés body { correspond à display: grid ; 10px 1fr 10px 1fr 10px 1fr 10px 1fr 10px grid-columns: 10px (1fr 10px)[4]; } …
  • 25. Distribution body { display: grid ; grid-columns: 250px 1fr; grid-rows: 100px 300px; } header { grid-column: 1; grid-row: 1; grid-column-span: 2 ; } …
  • 26. Template body { Template syntax display: grid ; grid-template: "hh" "nc" "ff"; } header { grid-cell: "h"; } nav { grid-cell: "n"; } …
  • 27. Alignements section { grid-row-align: center; } article { grid-column-align: center; } aside { grid-row-align: center; grid-column-align: center; }
  • 28. Fluide ! body { body { display: grid ; display: grid ; grid-template: "abcd"; grid-template: "a" } "b" "d" "d"; }
  • 31. Transitions / Animations CSS3 Transitions « Transition CSS3 permet une évolution  progressive entre deux valeurs d'une  propriété CSS lorsqu'un événement est  déclenché » CSS3 Animations « Extension de Transition. Permet  d'appliquer un scénario dans le temps  (plusieurs transitions) lors d'un  événement ou lors du chargement d'un  l'élément »
  • 32. Transitions div { width: 100px; transition:  1s; } div:hover { width: 200px; }
  • 33. Transitions Propriété Durée Courbe de progression div { Délai    width: 100px ;    transition: width 1s ease 2s ; } Aussi « all » (ou rien) div:hover {    width: 200px ; Aussi } :hover, :focus, :active, :checked, :disabled, :valid,  :invalid, :target, ::selection, … 
  • 34. Animations Déclaration de l'animation « kiwi » Séquences temporelles en % @keyframes kiwi {    0% {width: 100px ;}    50% {width: 50px ;}    100% {width: 100px ;} } div:hover {    animation: kiwi 4s infinite ; } Appel de l'animation « kiwi » au survol
  • 35. Démos The Expressive Web Apple http://bit.ly/mstd1    http://www.apple.com/   AT-AT Walker Photogame http://bit.ly/mstd2012a     http://photogame.fr/    Spiderman Animatable http://bit.ly/w4Z83s     http://bit.ly/z652t3   
  • 37.
  • 39. Où est la grille ?
  • 42. Floatitude ! float float absolute float float float absolute float absolute absolute float
  • 43. mstechdays.fr 4 redirections d’URL 155 requêtes 33 fichiers JS externes 6 iframes 22.36s de chargement sur bureau 8s de chargement sur mobile
  • 44. mstechdays.fr 95 flottants 20 clear : both 65 position: absolute 60 position: relative plusieurs surcouches CSS sur chaque élément
  • 45. Grand Ménage ! couche « reset » perso : display : none width : auto ; height : auto float : none position : static overflow : visible suppression de 10aines de JS
  • 46. Grilles 428px 284px 284px 284px
  • 47. Grilles 428px 284px 284px 284px
  • 48. Grilles #inGrid { display: grid ; grid-columns: 428px 284px 284px 284px; grid-rows: 132px 132px 140px; } #grid1 { grid-column: 1; grid-row: 1; grid-row-span: 3; } #grid2 { grid-column: 2; grid-row: 1; grid-row-span: 2;
  • 49.
  • 50. Media Queries @media (max-width: 1280px) { #inGrid { grid-columns: 428px 284px 284px; grid-rows: 132px 132px 140px 140px; } #grid7 {grid-column: 1; grid-row: 4;} #grid8 {grid-column: 2; grid-row: 4;} #grid9 {grid-column: 3; grid-row: 4;} } …
  • 51.
  • 52. Media Queries @media (max-width: 1000px) { #inGrid { grid-columns: 428px 284px; grid-rows: 132px 132px 140px 140px 140px 140px 140px; } } @media (max-width: 712px) { #inGrid { grid-columns: 1fr; grid-rows: 132px 132px 140px 140px 140px 140px 140px 140px 140px; } } …
  • 53. Finish Him ! TechDays remix http://bit.ly/mstd2012 couche « reset » perso : Suppression JS CSS3 Grid Layout CSS3 Media Queries CSS3 Animations
  • 54. Merci ! Raphaël Goetter www.alsacreations.com www.goetter.fr www.ie7nomore.com twitter : @goetter