SlideShare una empresa de Scribd logo
1 de 93
CSS3




     CSS3 Logo by W3C



   Nouveautés
19 mai 2011 - Rémy Savard
CSS3 - Nouveautés
•Un peu d’histoire
•Évolution technique et technologique
•Pourquoi débuter maintenant
•Stratégie
•Modules CSS3
UN PEU D’HISTOIRE
1996
•Première spécification CSS à devenir une
 Recommandation W3C Officiel, CSS 1
UN PEU D’HISTOIRE
1996
•Première spécification CSS à devenir une
 Recommandation W3C Officiel, CSS 1

1997
•Création de CSS 2
•Le W3C ne maintient plus la recommandation CSS 1
1998
•CSS 2 devient une recommandation
•CSS 2.1 = CSS 2 + retrait des fonctionnalités
•Développement de la spécification CSS 3
•Le W3C ne maintient plus la recommandation CSS 2
1998
•CSS 2 devient une recommandation
•CSS 2.1 = CSS 2 + retrait des fonctionnalités
•Développement de la spécification CSS 3
•Le W3C ne maintient plus la recommandation CSS 2

1999
•Le premier working draft CSS 3 est publié
http://www.flickr.com/photos/jasperfields/2442146122/
2005
•CSS 2.1 Candidate Recommendation à Working Draft
•CSS 2.1 devient Candidate Recommendation
•CSS 2.1 est renversé à Working Draft
2005
•CSS 2.1 Candidate Recommendation à Working Draft
•CSS 2.1 devient Candidate Recommendation
•CSS 2.1 est renversé à Working Draft


2007
•CSS 2.1 devient Candidate Recommendation
2005
•CSS 2.1 Candidate Recommendation à Working Draft
•CSS 2.1 devient Candidate Recommendation
•CSS 2.1 est renversé à Working Draft


2007
•CSS 2.1 devient Candidate Recommendation
2009
•CSS 2.1 est mis à jour 2 fois
2005
•CSS 2.1 Candidate Recommendation à Working Draft
•CSS 2.1 devient Candidate Recommendation
•CSS 2.1 est renversé à Working Draft


2007
•CSS 2.1 devient Candidate Recommendation
2009
•CSS 2.1 est mis à jour 2 fois
2010
•CSS 2.1 est renversé à Working Draft
2011
•CSS 2.1 W3C Proposed Recommendation
•CSS 3 = Chaque module est indépendant
ÉVOLUTION TECHNIQUE
 ET TECHNOLOGIQUE




         http://www.flickr.com/photos/raneko/4204026836/in/photostream/
1, 675 TECHNIQUES ULTIMES QUI VONT VOUS
PERMETTRE DE DEVENIR UN NINJA DU CSS
Problèmes = Solutions documentés, workarounds pour
navigateurs, groupes de supports, partages de
techniques, etc.




                        http://www.flickr.com/photos/kartooner/32891895/
http://www.flickr.com/photos/pete-karl/3654692936/
/* http://meyerweb.com/eric/tools/css/
reset/
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object,
iframe,
h1, h2, h3, h4, h5, h6, p, blockquote,
pre,
a, abbr, acronym, address, big, cite,
code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr,
th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	    margin: 0;
	    padding: 0;
	    border: 0;
	    font-size: 100%;
	    font: inherit;
	    vertical-align: baseline;
}

         http://www.flickr.com/photos/aquan/2780541892/   http://www.flickr.com/photos/aquan/2780541892/
Aujourd’hui nos sites sont :




     http://www.flickr.com/photos/ajc1/4663140532/
Aujourd’hui nos sites sont :



                                                    Mulit-platforme




     http://www.flickr.com/photos/ajc1/4663140532/
Aujourd’hui nos sites sont :



                                                    Mulit-platforme
                                                    Accessible




     http://www.flickr.com/photos/ajc1/4663140532/
Aujourd’hui nos sites sont :



                                                    Mulit-platforme
                                                    Accessible
                                                    Sémantique




     http://www.flickr.com/photos/ajc1/4663140532/
Aujourd’hui nos sites sont :



                                                    Mulit-platforme
                                                    Accessible
                                                    Sémantique
                                                    Optimisé



     http://www.flickr.com/photos/ajc1/4663140532/
Aujourd’hui nos sites sont :



                                                    Mulit-platforme
                                                    Accessible
                                                    Sémantique
                                                    Optimisé
                                                    Standard


     http://www.flickr.com/photos/ajc1/4663140532/
Accélération des sorties des navigateurs




               http://meyerweb.com/eric/browsers/timeline-structured.html
Les navigateurs modernes gagnent du terrain.




                      http://gs.statcounter.com/
“10 years ago a browser was born. Its name was Internet
Explorer 6. Now that we’re in 2011, in an era of modern web
standards, it’s time to say goodbye.”




                Microsoft - http://www.theie6countdown.com/
Le design doit être identique sur tous les navigateurs




                                    http://www.flickr.com/photos/jstar/2338025074/
Le design doit être identique sur tous les navigateurs




                                    http://www.flickr.com/photos/jstar/2338025074/
Augmentation des mobiles et contextes d’utilisations




                      http://gs.statcounter.com/
POURQUOI DÉBUTER
  MAINTENANT
CSS3 vs. CSS: A Speed Benchmark

                                  1. linear-gradient
                                  2. border-radius
                                  3. radial-gradient
                                  4. text-shadow
                                  5. box-shadow with RGBa




                                  http://www.smashingmagazine.com/2011/04/21/css3-
                                              vs-css-a-speed-benchmark/
Résultats : Diminution du temps de chargement




“Pour moi, CSS3 a été non seulement plus rapide mais
beaucoup plus agréable,parce que j'étais concentré sur une
seule fenêtre (mon éditeur CSS)[...]. D'autre part, le tranchage
et le transfert des images à partir de Photoshop à FTP à
l'éditeur CSS à été une corvée, ce qui a pris plus de temps.”
Trent Walton - http://www.smashingmagazine.com/2011/04/21/css3-vs-css-a-speed-benchmark/
Temps de production, de maintenance et coûts réduits




                http://www.flickr.com/photos/disowned/1158857526/
STRATÉGIE
•Statuts des modules
•Priorités des modules
•Support des navigateurs
•Choix et implantation des alternatives(Fallbacks)
Statuts des modules


Completed work
 REC W3C Recommendation




Drafts
  PR     Proposed Recommendation
  CR     Candidate Recommendation
  LC     Last Call Draft
 WD      Working Draft


                                    http://www.w3.org/standards/techs/css#w3c_all
Priorités des modules




                                            Completed work
                                            High priority
                                            Medium priority
                                            Low Priority




 http://www.w3.org/Style/CSS/current-work
Support des navigateurs
•caniuse.com
•QuirksMode - CSS contents and browser compatibility
•Robert Nyman - CSS3 - Information and samples
•findmebyIP - HTML5 & CSS3 Support




                                    http://morcha.blogbus.com/logs/30886671.html
Choix et implantation des alternatives
MODULES CSS3
PR



 CSS COLOR MODULE LEVEL 3
RGB(A), HSL(A) et noms de couleurs
•≠ propriété, = nouveau modèle de couleur
•Valeur RGB ou HSL avec optionnellement l’opacité




                     http://robertnyman.com/css3/
opacity
•Opacité d’un élément de 0 à 1
•RGBa = 1 couleur / Opacity = 1 élément + enfants




                   http://www.findmebyip.com/litmus/
PR



           SELECTORS LEVEL 3
[att]
•Attribut att, peut importe la valeur de l’attribut
PR



           SELECTORS LEVEL 3
[att]
•Attribut att, peut importe la valeur de l’attribut
[att=val]
•Attribut att et la valeur exact val
PR



           SELECTORS LEVEL 3
[att]
•Attribut att, peut importe la valeur de l’attribut
[att=val]
•Attribut att et la valeur exact val

[att~=val]
•Attribut att avec des valeurs séparés par des espaces,
 l’une d’elles doit être val
[att|=val]
•Attribut att et la valeur exact val ou commençant par val
 et immédiatement suivit de  "-"
•Principalement pour les sous-code de languages
[att|=val]
•Attribut att et la valeur exact val ou commençant par val
 et immédiatement suivit de  "-"
•Principalement pour les sous-code de languages

[att^=val]
•Attribut att et une valeur qui commence par val
[att|=val]
•Attribut att et la valeur exact val ou commençant par val
 et immédiatement suivit de  "-"
•Principalement pour les sous-code de languages

[att^=val]
•Attribut att et une valeur qui commence par val
[att$=val]
•Attribut att et une valeur qui se termine par val
[att|=val]
•Attribut att et la valeur exact val ou commençant par val
 et immédiatement suivit de  "-"
•Principalement pour les sous-code de languages

[att^=val]
•Attribut att et une valeur qui commence par val
[att$=val]
•Attribut att et une valeur qui se termine par val

[att*=val]
•Attribut att et une valeur qui contient au moins une
 instance de la substring val
::first-line
•Représente la première ligne formatté d’un élément.
::first-line
•Représente la première ligne formatté d’un élément.


::first-letter
•Représente la première lettre d’un élément, si elle n’est
  pas précédé par aucuns autres éléments de contenu
  (images) sur sa ligne.
•Utiliser pour donner du style
•La ponctuation qui précède ou suit le première lettre
  devrait être inclus
•Pourrait être un chiffre. 67 millions = 6
The target pseudo-class :target
•Certaines URIs ce terminant par # et un identifiant de
 fragement refère à un emplacement dans une ressource.
•Exemple: http://example.com/html/top.html#section_2
•Ces URIs ciblent vers un élément dans le document,
 connu comme l’élément cible.
The target pseudo-class :target
•Certaines URIs ce terminant par # et un identifiant de
 fragement refère à un emplacement dans une ressource.
•Exemple: http://example.com/html/top.html#section_2
•Ces URIs ciblent vers un élément dans le document,
 connu comme l’élément cible.



::selection
•Change la couleur de background et de texte des
  sélections.
•http://css-tricks.com/overriding-the-default-text-
  selection-color-with-css/
General sibling combinator (~)
•Fait de 2 séquences de sélecteurs séparés par ~. Les
 éléments représenté par ces deux séquences partagent
 le même parent et l’élément représenté par la première
 séquence précède (Pas nécessairement immédiatement)
 l’élément représenté par la deuxième séquence.




                 http://www.quirksmode.org/css/selector_sibling.html
CR



      CSS BACKGROUNDS AND
     BORDERS MODULE LEVEL 3

Background-image
•Plusieurs image de background sur un élément
•Séparés par une virgule (,)
•Les navigateurs qui ne supportent pas vont ignoré la
 règle, donc mettre une déclaration simple avant
•La première image dans la liste est la plus près de
 l’utilisateur
http://robertnyman.com/css3/
Background-clip
•Spécifie la zone de peinture de fond du background
•“border-box” Affiché à l’intérieur du border-box
•“padding-box” Affiché à l’intérieur du padding-box
•“content-box” Affiché à l’intérieur du content-box




                     http://robertnyman.com/css3/
Background-origin
•Spécifie comment la position du background est calculé
•“border-box” Positionné relativement selon la bordure
•“padding-box” Positionné relativement selon le padding
•“content-box” Positionné relativement selon le contenu




                     http://robertnyman.com/css3/
Background-size
•Spécifie la taille de l’image de background
•La première valeur donne la largeur tandis que la
 deuxième valeur donne la hauteur
•Si une des dimensions à sa valeur à auto, l’image doit
 garder son ration.




                       http://robertnyman.com/css3/
Border-radius
•Arrondis les coins d’un élément avec une valeur de
 rayon (%, px ou ems)
•Possibilité de contrôlé chaque coins
•IE7 et IE8 = coins carrés devraient être acceptables




                      http://robertnyman.com/css3/
Box-shadow
•Ajoute une ombre à un élément
•Possibilité de combiné avec RGBa pour un effet
•La première valeur = au décalage horizontal, la seconde
 = décalage vertical et la troisième valeur = rayon de
 flou. Finalement, couleur pour l’ombrage
•Pour créé une effet plus naturel de 3D il est possible
 d’ajouter une 2e ombre




                      http://robertnyman.com/css3/
CR



               MEDIA QUERIES
•Étiquettage plus précis des feuilles de styles
•width, height, min/max, color, orientation, aspect-ratio, etc
•Outil pour “Responsive Web Design”
•Changement de CSS en haut de 800px de large:




                        http://robertnyman.com/css3/
Responsive Web Design
•Le site doit être construit avec une grille flexible.
•Les images dans le design doivent être flexibles.
•Différentes vues doivent êtres offertes pour les
 différents contextes via les media queries.
                     http://sixrevisions.com/web_design/understanding-the-elements-of-responsive-web-design/




                              http://mediaqueri.es/
CR

 CSS MULTI-COLUMN LAYOUT
          MODULE
•Mise en page avec colonnes ≠ floats
•Nous pouvons définir un système de colonnes soit en
 définissant le nombre de colonnes ou la largeur des
 colonnes
•Le contenu peut continuer d’une colonne à une autre




                     http://robertnyman.com/css3/
CR


     CSS3 BASIC USER INTERFACE
              MODULE
box-sizing
•content-box = width, height et min/max appliqué au
 content box. Padding et border à l’éxtérieur des
 dimensions
•border-box = width, height et min/max détermine le
 border box. Padding et border compris dans les
 dimensions



                     http://robertnyman.com/css3/
Outline
•Agit comme border (width, style, color)
•+ outline-offset
MAIS
•Ils ne prenne pas d’espace
•Peuvent être non-rectangulaire

                      http://robertnyman.com/css3/
WD



           CSS TEXT LEVEL 3
text-shadow
•Propriété CSS2 abandonné dans CSS 2.1 et ré-introduis
 dans CSS3
•Ajout d’une ombre au texte, avec des options de
 direction, quantité de flou et couleur de l’ombre
•Les 2 premières valeurs servent au décalage horizontal
 et vertical. La 3e valeur est le rayon du dégradé de
 l’ombre. Finalement, la couleur de l’ombre
•Valeurs négatives acceptés
•Possibilité de mettre plusieurs ombres
http://robertnyman.com/css3/




http://unitinteractive.com/blog/test/textshadow.html
WD



 CSS FONTS MODULE LEVEL 3
•Utilisation de fonts plus variés. Pas de Flash, pas de
 JavaScripts
•Vérifier la licence EULA (End User License Agreement)
•La police doit se trouver sur le même domaine
http://www.fontspring.com/fontface
http://fffo.grahambird.co.uk/




http://robertnyman.com/css3/
WD

        CSS 2D TRANSFORMS
          MODULE LEVEL 3
•Développé initialement par l’équipe de WebKit et
 ensuite incorporé au W3C
•Permet au élément rendu par CSS d’être transformé
 dans un espace en 2 dimensions


                     http://robertnyman.com/css3/
Scale
•Les élément qui ont la transformation scale n’influencent
 pas le layout du document.
•Possible de mettre un point d’origine
Scale
•Les élément qui ont la transformation scale n’influencent
 pas le layout du document.
•Possible de mettre un point d’origine




Rotate
Scale
•Les élément qui ont la transformation scale n’influencent
 pas le layout du document.
•Possible de mettre un point d’origine




Rotate
Skew
•Skew prends les coordonnés x et y et penche un
 élément.
Skew
•Skew prends les coordonnés x et y et penche un
 élément.




Translate
•Translate déplace les éléments via les coordonnés x/y
•Valeurs négatives acceptés
Skew
•Skew prends les coordonnés x et y et penche un
 élément.




Translate
•Translate déplace les éléments via les coordonnés x/y
•Valeurs négatives acceptés
WD

     CSS TRANSITIONS MODULE
             LEVEL 3
•Développé initialement par l’équipe de WebKit et
 ensuite incorporé au W3C
•Changement des valeurs dans les CSS lorsque qu’une
 interaction est déclenché (hover)
•Liste des propriétés qui peuvent être en transition



                     http://robertnyman.com/css3/
transition-timing-function
•ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier
Transition pour plusieurs propriétés
•Séparés par une virgule (,)
•Chacuns peu avoir ses fonctionnalités de temps et de
 délais
CONCLUSION

Commencez maintenant!
CONCLUSION

        Commencez maintenant!

•W3C - Statut des modules CSS3
•W3C - Priorités des modules CSS3
•caniuse.com
•html5boilerplate.com
•Hardboiled CSS3 Media Queries
RESSOURCES

Liens d’introduction
•http://meyerweb.com/eric/html-xhtml/html5logo/

Support des navigateurs
•caniuse.com
•QuirksMode - CSS contents and browser compatibility
•Robert Nyman - CSS3 - Information and samples
•findmebyIP - HTML5 & CSS3 Support
•universal-ie6-css
CSS3 Selectors
•CSS3 Selectors Test
CSS3 Font-face
•Font Squirrel @font-face generator
•Review of Popular Web Font Embedding Services
Media Queries
•CSS 3 Media Queries for all Browser (jQuery Plugin)
•css3-mediaqueries-js
•Respond
•1140 CSS Grid
•ProtoFluid
•Hardboiled CSS3 Media Queries
•Responsive-Images
Générateurs
•http://css3generator.com/
•http://css3please.com/
•http://www.css3maker.com/index.html
•http://border-radius.com/
•http://css3-buttons.heroku.com/generator
•http://www.colorzilla.com/gradient-editor/
CSS3




                    CSS3 Logo by W3C




http://www.slideshare.net/rsavard/css3-webeducation
          @REMYSAVARD

Más contenido relacionado

Destacado

Equipo 1 planificador aamtic 2 retro 24 nov
Equipo 1  planificador aamtic  2 retro 24 novEquipo 1  planificador aamtic  2 retro 24 nov
Equipo 1 planificador aamtic 2 retro 24 novGerman Gutierrez
 
Softshake 2013 - Du JavaScript propre ? Challenge accepted!
Softshake 2013 - Du JavaScript propre ? Challenge accepted!Softshake 2013 - Du JavaScript propre ? Challenge accepted!
Softshake 2013 - Du JavaScript propre ? Challenge accepted!OCTO Technology
 
New Packs Promotion February 2010 Fr[1]
New Packs Promotion February 2010 Fr[1]New Packs Promotion February 2010 Fr[1]
New Packs Promotion February 2010 Fr[1]guest578bac
 
Juan antonio canovas y pedro morales
Juan antonio canovas y pedro moralesJuan antonio canovas y pedro morales
Juan antonio canovas y pedro moralesJOSÉ TOMÁS
 
Conférence StatusNet JDLL 2010
Conférence StatusNet JDLL 2010Conférence StatusNet JDLL 2010
Conférence StatusNet JDLL 2010Philippe Scoffoni
 
Brochure Themis
Brochure ThemisBrochure Themis
Brochure ThemisthemisBIO
 
J:\Ejemplos De AlmacéN
J:\Ejemplos De AlmacéNJ:\Ejemplos De AlmacéN
J:\Ejemplos De AlmacéNguest921e95
 
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Universidad Autónoma de Barcelona
 
REDES Y COMUNIDADES VIRTUALES
REDES Y COMUNIDADES VIRTUALESREDES Y COMUNIDADES VIRTUALES
REDES Y COMUNIDADES VIRTUALESULADECH
 
Guia especialidad+derecho
Guia especialidad+derechoGuia especialidad+derecho
Guia especialidad+derechosandyesp
 
Conférence web social et industries, #BeeNumerique 2014
Conférence web social et industries, #BeeNumerique 2014Conférence web social et industries, #BeeNumerique 2014
Conférence web social et industries, #BeeNumerique 2014dupin laurent
 

Destacado (20)

Les bases du CSS3
Les bases du CSS3Les bases du CSS3
Les bases du CSS3
 
Débutez Html5 et css3
Débutez Html5 et css3Débutez Html5 et css3
Débutez Html5 et css3
 
Equipo 1 planificador aamtic 2 retro 24 nov
Equipo 1  planificador aamtic  2 retro 24 novEquipo 1  planificador aamtic  2 retro 24 nov
Equipo 1 planificador aamtic 2 retro 24 nov
 
Softshake 2013 - Du JavaScript propre ? Challenge accepted!
Softshake 2013 - Du JavaScript propre ? Challenge accepted!Softshake 2013 - Du JavaScript propre ? Challenge accepted!
Softshake 2013 - Du JavaScript propre ? Challenge accepted!
 
New Packs Promotion February 2010 Fr[1]
New Packs Promotion February 2010 Fr[1]New Packs Promotion February 2010 Fr[1]
New Packs Promotion February 2010 Fr[1]
 
Juan antonio canovas y pedro morales
Juan antonio canovas y pedro moralesJuan antonio canovas y pedro morales
Juan antonio canovas y pedro morales
 
M-paiement : la fin des caisses est-elle pour bientôt ?
M-paiement : la fin des caisses est-elle pour bientôt ?M-paiement : la fin des caisses est-elle pour bientôt ?
M-paiement : la fin des caisses est-elle pour bientôt ?
 
Tessellations
TessellationsTessellations
Tessellations
 
Semaine Ecole Entreprise 2014 : Présentation de l'opération
Semaine Ecole Entreprise 2014 : Présentation de l'opérationSemaine Ecole Entreprise 2014 : Présentation de l'opération
Semaine Ecole Entreprise 2014 : Présentation de l'opération
 
Conférence StatusNet JDLL 2010
Conférence StatusNet JDLL 2010Conférence StatusNet JDLL 2010
Conférence StatusNet JDLL 2010
 
Brochure Themis
Brochure ThemisBrochure Themis
Brochure Themis
 
J:\Ejemplos De AlmacéN
J:\Ejemplos De AlmacéNJ:\Ejemplos De AlmacéN
J:\Ejemplos De AlmacéN
 
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
Nuevamente sobre Coca-Cola. Notas a la sentencia de la Audiencia Nacional de ...
 
Reglamento sena[1]
Reglamento sena[1]Reglamento sena[1]
Reglamento sena[1]
 
REDES Y COMUNIDADES VIRTUALES
REDES Y COMUNIDADES VIRTUALESREDES Y COMUNIDADES VIRTUALES
REDES Y COMUNIDADES VIRTUALES
 
Unidad didáctica integrada
Unidad didáctica integradaUnidad didáctica integrada
Unidad didáctica integrada
 
Y tuve que aceptar
Y tuve que aceptarY tuve que aceptar
Y tuve que aceptar
 
Guia especialidad+derecho
Guia especialidad+derechoGuia especialidad+derecho
Guia especialidad+derecho
 
Conférence web social et industries, #BeeNumerique 2014
Conférence web social et industries, #BeeNumerique 2014Conférence web social et industries, #BeeNumerique 2014
Conférence web social et industries, #BeeNumerique 2014
 
Y tuve que aceptar
Y tuve que aceptarY tuve que aceptar
Y tuve que aceptar
 

Similar a CSS3 WebEducation

alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)Alphorm
 
Responsive design - Twitter Bootstrap [FR]
Responsive design - Twitter Bootstrap [FR]Responsive design - Twitter Bootstrap [FR]
Responsive design - Twitter Bootstrap [FR]Jean-Noël Aubry
 
AngularJS et autres techno frontend
AngularJS et autres techno frontendAngularJS et autres techno frontend
AngularJS et autres techno frontendyllieth
 
Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)Thierry Régagnon
 
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
 
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)Raphaël Goetter
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopFrédéric Harper
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Cyril Reinhard
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webAcquia
 
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnement
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnementDw009 formation-dreamweaver-csx-les-bases-et-perfectionnement
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnementCERTyou Formation
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web componentsFrancois ANDRE
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Chamseddine Ouerhani
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 
Microformats, RDFa et microdata
Microformats, RDFa et microdataMicroformats, RDFa et microdata
Microformats, RDFa et microdataSamuel Lavoie
 

Similar a CSS3 WebEducation (20)

alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
Responsive design - Twitter Bootstrap [FR]
Responsive design - Twitter Bootstrap [FR]Responsive design - Twitter Bootstrap [FR]
Responsive design - Twitter Bootstrap [FR]
 
AngularJS et autres techno frontend
AngularJS et autres techno frontendAngularJS et autres techno frontend
AngularJS et autres techno frontend
 
Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)Référencement & Standards Web : La même direction (PW2009)
Référencement & Standards Web : La même direction (PW2009)
 
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 !
 
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)
Un site mobile en une heure ? Top chrono ! (Barcamp-Bordeaux 2011)
 
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshopConfoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
Confoo - 2012-02-27 au 2012-02-28 - HTML5 workshop
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes web
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnement
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnementDw009 formation-dreamweaver-csx-les-bases-et-perfectionnement
Dw009 formation-dreamweaver-csx-les-bases-et-perfectionnement
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Introduction aux web components
Introduction aux web componentsIntroduction aux web components
Introduction aux web components
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)Programmer en html5, css 3 et java script (70 480)
Programmer en html5, css 3 et java script (70 480)
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows Containers
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 
Microformats, RDFa et microdata
Microformats, RDFa et microdataMicroformats, RDFa et microdata
Microformats, RDFa et microdata
 

CSS3 WebEducation

  • 1. CSS3 CSS3 Logo by W3C Nouveautés 19 mai 2011 - Rémy Savard
  • 2.
  • 3. CSS3 - Nouveautés •Un peu d’histoire •Évolution technique et technologique •Pourquoi débuter maintenant •Stratégie •Modules CSS3
  • 4. UN PEU D’HISTOIRE 1996 •Première spécification CSS à devenir une Recommandation W3C Officiel, CSS 1
  • 5. UN PEU D’HISTOIRE 1996 •Première spécification CSS à devenir une Recommandation W3C Officiel, CSS 1 1997 •Création de CSS 2 •Le W3C ne maintient plus la recommandation CSS 1
  • 6. 1998 •CSS 2 devient une recommandation •CSS 2.1 = CSS 2 + retrait des fonctionnalités •Développement de la spécification CSS 3 •Le W3C ne maintient plus la recommandation CSS 2
  • 7. 1998 •CSS 2 devient une recommandation •CSS 2.1 = CSS 2 + retrait des fonctionnalités •Développement de la spécification CSS 3 •Le W3C ne maintient plus la recommandation CSS 2 1999 •Le premier working draft CSS 3 est publié
  • 9. 2005 •CSS 2.1 Candidate Recommendation à Working Draft •CSS 2.1 devient Candidate Recommendation •CSS 2.1 est renversé à Working Draft
  • 10. 2005 •CSS 2.1 Candidate Recommendation à Working Draft •CSS 2.1 devient Candidate Recommendation •CSS 2.1 est renversé à Working Draft 2007 •CSS 2.1 devient Candidate Recommendation
  • 11. 2005 •CSS 2.1 Candidate Recommendation à Working Draft •CSS 2.1 devient Candidate Recommendation •CSS 2.1 est renversé à Working Draft 2007 •CSS 2.1 devient Candidate Recommendation 2009 •CSS 2.1 est mis à jour 2 fois
  • 12. 2005 •CSS 2.1 Candidate Recommendation à Working Draft •CSS 2.1 devient Candidate Recommendation •CSS 2.1 est renversé à Working Draft 2007 •CSS 2.1 devient Candidate Recommendation 2009 •CSS 2.1 est mis à jour 2 fois 2010 •CSS 2.1 est renversé à Working Draft
  • 13. 2011 •CSS 2.1 W3C Proposed Recommendation •CSS 3 = Chaque module est indépendant
  • 14. ÉVOLUTION TECHNIQUE ET TECHNOLOGIQUE http://www.flickr.com/photos/raneko/4204026836/in/photostream/
  • 15. 1, 675 TECHNIQUES ULTIMES QUI VONT VOUS PERMETTRE DE DEVENIR UN NINJA DU CSS
  • 16. Problèmes = Solutions documentés, workarounds pour navigateurs, groupes de supports, partages de techniques, etc. http://www.flickr.com/photos/kartooner/32891895/
  • 18. /* http://meyerweb.com/eric/tools/css/ reset/ v2.0 | 20110126 License: none (public domain) */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } http://www.flickr.com/photos/aquan/2780541892/ http://www.flickr.com/photos/aquan/2780541892/
  • 19. Aujourd’hui nos sites sont : http://www.flickr.com/photos/ajc1/4663140532/
  • 20. Aujourd’hui nos sites sont : Mulit-platforme http://www.flickr.com/photos/ajc1/4663140532/
  • 21. Aujourd’hui nos sites sont : Mulit-platforme Accessible http://www.flickr.com/photos/ajc1/4663140532/
  • 22. Aujourd’hui nos sites sont : Mulit-platforme Accessible Sémantique http://www.flickr.com/photos/ajc1/4663140532/
  • 23. Aujourd’hui nos sites sont : Mulit-platforme Accessible Sémantique Optimisé http://www.flickr.com/photos/ajc1/4663140532/
  • 24. Aujourd’hui nos sites sont : Mulit-platforme Accessible Sémantique Optimisé Standard http://www.flickr.com/photos/ajc1/4663140532/
  • 25. Accélération des sorties des navigateurs http://meyerweb.com/eric/browsers/timeline-structured.html
  • 26. Les navigateurs modernes gagnent du terrain. http://gs.statcounter.com/
  • 27. “10 years ago a browser was born. Its name was Internet Explorer 6. Now that we’re in 2011, in an era of modern web standards, it’s time to say goodbye.” Microsoft - http://www.theie6countdown.com/
  • 28. Le design doit être identique sur tous les navigateurs http://www.flickr.com/photos/jstar/2338025074/
  • 29. Le design doit être identique sur tous les navigateurs http://www.flickr.com/photos/jstar/2338025074/
  • 30. Augmentation des mobiles et contextes d’utilisations http://gs.statcounter.com/
  • 31. POURQUOI DÉBUTER MAINTENANT
  • 32. CSS3 vs. CSS: A Speed Benchmark 1. linear-gradient 2. border-radius 3. radial-gradient 4. text-shadow 5. box-shadow with RGBa http://www.smashingmagazine.com/2011/04/21/css3- vs-css-a-speed-benchmark/
  • 33. Résultats : Diminution du temps de chargement “Pour moi, CSS3 a été non seulement plus rapide mais beaucoup plus agréable,parce que j'étais concentré sur une seule fenêtre (mon éditeur CSS)[...]. D'autre part, le tranchage et le transfert des images à partir de Photoshop à FTP à l'éditeur CSS à été une corvée, ce qui a pris plus de temps.” Trent Walton - http://www.smashingmagazine.com/2011/04/21/css3-vs-css-a-speed-benchmark/
  • 34. Temps de production, de maintenance et coûts réduits http://www.flickr.com/photos/disowned/1158857526/
  • 35. STRATÉGIE •Statuts des modules •Priorités des modules •Support des navigateurs •Choix et implantation des alternatives(Fallbacks)
  • 36. Statuts des modules Completed work REC W3C Recommendation Drafts PR Proposed Recommendation CR Candidate Recommendation LC Last Call Draft WD Working Draft http://www.w3.org/standards/techs/css#w3c_all
  • 37. Priorités des modules Completed work High priority Medium priority Low Priority http://www.w3.org/Style/CSS/current-work
  • 38. Support des navigateurs •caniuse.com •QuirksMode - CSS contents and browser compatibility •Robert Nyman - CSS3 - Information and samples •findmebyIP - HTML5 & CSS3 Support http://morcha.blogbus.com/logs/30886671.html
  • 39. Choix et implantation des alternatives
  • 40.
  • 41.
  • 42.
  • 43.
  • 45. PR CSS COLOR MODULE LEVEL 3 RGB(A), HSL(A) et noms de couleurs •≠ propriété, = nouveau modèle de couleur •Valeur RGB ou HSL avec optionnellement l’opacité http://robertnyman.com/css3/
  • 46. opacity •Opacité d’un élément de 0 à 1 •RGBa = 1 couleur / Opacity = 1 élément + enfants http://www.findmebyip.com/litmus/
  • 47. PR SELECTORS LEVEL 3 [att] •Attribut att, peut importe la valeur de l’attribut
  • 48. PR SELECTORS LEVEL 3 [att] •Attribut att, peut importe la valeur de l’attribut [att=val] •Attribut att et la valeur exact val
  • 49. PR SELECTORS LEVEL 3 [att] •Attribut att, peut importe la valeur de l’attribut [att=val] •Attribut att et la valeur exact val [att~=val] •Attribut att avec des valeurs séparés par des espaces, l’une d’elles doit être val
  • 50. [att|=val] •Attribut att et la valeur exact val ou commençant par val et immédiatement suivit de  "-" •Principalement pour les sous-code de languages
  • 51. [att|=val] •Attribut att et la valeur exact val ou commençant par val et immédiatement suivit de  "-" •Principalement pour les sous-code de languages [att^=val] •Attribut att et une valeur qui commence par val
  • 52. [att|=val] •Attribut att et la valeur exact val ou commençant par val et immédiatement suivit de  "-" •Principalement pour les sous-code de languages [att^=val] •Attribut att et une valeur qui commence par val [att$=val] •Attribut att et une valeur qui se termine par val
  • 53. [att|=val] •Attribut att et la valeur exact val ou commençant par val et immédiatement suivit de  "-" •Principalement pour les sous-code de languages [att^=val] •Attribut att et une valeur qui commence par val [att$=val] •Attribut att et une valeur qui se termine par val [att*=val] •Attribut att et une valeur qui contient au moins une instance de la substring val
  • 54. ::first-line •Représente la première ligne formatté d’un élément.
  • 55. ::first-line •Représente la première ligne formatté d’un élément. ::first-letter •Représente la première lettre d’un élément, si elle n’est pas précédé par aucuns autres éléments de contenu (images) sur sa ligne. •Utiliser pour donner du style •La ponctuation qui précède ou suit le première lettre devrait être inclus •Pourrait être un chiffre. 67 millions = 6
  • 56. The target pseudo-class :target •Certaines URIs ce terminant par # et un identifiant de fragement refère à un emplacement dans une ressource. •Exemple: http://example.com/html/top.html#section_2 •Ces URIs ciblent vers un élément dans le document, connu comme l’élément cible.
  • 57. The target pseudo-class :target •Certaines URIs ce terminant par # et un identifiant de fragement refère à un emplacement dans une ressource. •Exemple: http://example.com/html/top.html#section_2 •Ces URIs ciblent vers un élément dans le document, connu comme l’élément cible. ::selection •Change la couleur de background et de texte des sélections. •http://css-tricks.com/overriding-the-default-text- selection-color-with-css/
  • 58. General sibling combinator (~) •Fait de 2 séquences de sélecteurs séparés par ~. Les éléments représenté par ces deux séquences partagent le même parent et l’élément représenté par la première séquence précède (Pas nécessairement immédiatement) l’élément représenté par la deuxième séquence. http://www.quirksmode.org/css/selector_sibling.html
  • 59. CR CSS BACKGROUNDS AND BORDERS MODULE LEVEL 3 Background-image •Plusieurs image de background sur un élément •Séparés par une virgule (,) •Les navigateurs qui ne supportent pas vont ignoré la règle, donc mettre une déclaration simple avant •La première image dans la liste est la plus près de l’utilisateur
  • 61. Background-clip •Spécifie la zone de peinture de fond du background •“border-box” Affiché à l’intérieur du border-box •“padding-box” Affiché à l’intérieur du padding-box •“content-box” Affiché à l’intérieur du content-box http://robertnyman.com/css3/
  • 62. Background-origin •Spécifie comment la position du background est calculé •“border-box” Positionné relativement selon la bordure •“padding-box” Positionné relativement selon le padding •“content-box” Positionné relativement selon le contenu http://robertnyman.com/css3/
  • 63. Background-size •Spécifie la taille de l’image de background •La première valeur donne la largeur tandis que la deuxième valeur donne la hauteur •Si une des dimensions à sa valeur à auto, l’image doit garder son ration. http://robertnyman.com/css3/
  • 64. Border-radius •Arrondis les coins d’un élément avec une valeur de rayon (%, px ou ems) •Possibilité de contrôlé chaque coins •IE7 et IE8 = coins carrés devraient être acceptables http://robertnyman.com/css3/
  • 65. Box-shadow •Ajoute une ombre à un élément •Possibilité de combiné avec RGBa pour un effet •La première valeur = au décalage horizontal, la seconde = décalage vertical et la troisième valeur = rayon de flou. Finalement, couleur pour l’ombrage •Pour créé une effet plus naturel de 3D il est possible d’ajouter une 2e ombre http://robertnyman.com/css3/
  • 66. CR MEDIA QUERIES •Étiquettage plus précis des feuilles de styles •width, height, min/max, color, orientation, aspect-ratio, etc •Outil pour “Responsive Web Design” •Changement de CSS en haut de 800px de large: http://robertnyman.com/css3/
  • 67. Responsive Web Design •Le site doit être construit avec une grille flexible. •Les images dans le design doivent être flexibles. •Différentes vues doivent êtres offertes pour les différents contextes via les media queries. http://sixrevisions.com/web_design/understanding-the-elements-of-responsive-web-design/ http://mediaqueri.es/
  • 68. CR CSS MULTI-COLUMN LAYOUT MODULE •Mise en page avec colonnes ≠ floats •Nous pouvons définir un système de colonnes soit en définissant le nombre de colonnes ou la largeur des colonnes •Le contenu peut continuer d’une colonne à une autre http://robertnyman.com/css3/
  • 69. CR CSS3 BASIC USER INTERFACE MODULE box-sizing •content-box = width, height et min/max appliqué au content box. Padding et border à l’éxtérieur des dimensions •border-box = width, height et min/max détermine le border box. Padding et border compris dans les dimensions http://robertnyman.com/css3/
  • 70. Outline •Agit comme border (width, style, color) •+ outline-offset MAIS •Ils ne prenne pas d’espace •Peuvent être non-rectangulaire http://robertnyman.com/css3/
  • 71. WD CSS TEXT LEVEL 3 text-shadow •Propriété CSS2 abandonné dans CSS 2.1 et ré-introduis dans CSS3 •Ajout d’une ombre au texte, avec des options de direction, quantité de flou et couleur de l’ombre •Les 2 premières valeurs servent au décalage horizontal et vertical. La 3e valeur est le rayon du dégradé de l’ombre. Finalement, la couleur de l’ombre •Valeurs négatives acceptés •Possibilité de mettre plusieurs ombres
  • 73. WD CSS FONTS MODULE LEVEL 3 •Utilisation de fonts plus variés. Pas de Flash, pas de JavaScripts •Vérifier la licence EULA (End User License Agreement) •La police doit se trouver sur le même domaine
  • 76. WD CSS 2D TRANSFORMS MODULE LEVEL 3 •Développé initialement par l’équipe de WebKit et ensuite incorporé au W3C •Permet au élément rendu par CSS d’être transformé dans un espace en 2 dimensions http://robertnyman.com/css3/
  • 77. Scale •Les élément qui ont la transformation scale n’influencent pas le layout du document. •Possible de mettre un point d’origine
  • 78. Scale •Les élément qui ont la transformation scale n’influencent pas le layout du document. •Possible de mettre un point d’origine Rotate
  • 79. Scale •Les élément qui ont la transformation scale n’influencent pas le layout du document. •Possible de mettre un point d’origine Rotate
  • 80. Skew •Skew prends les coordonnés x et y et penche un élément.
  • 81. Skew •Skew prends les coordonnés x et y et penche un élément. Translate •Translate déplace les éléments via les coordonnés x/y •Valeurs négatives acceptés
  • 82. Skew •Skew prends les coordonnés x et y et penche un élément. Translate •Translate déplace les éléments via les coordonnés x/y •Valeurs négatives acceptés
  • 83. WD CSS TRANSITIONS MODULE LEVEL 3 •Développé initialement par l’équipe de WebKit et ensuite incorporé au W3C •Changement des valeurs dans les CSS lorsque qu’une interaction est déclenché (hover) •Liste des propriétés qui peuvent être en transition http://robertnyman.com/css3/
  • 84.
  • 85. transition-timing-function •ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier
  • 86.
  • 87. Transition pour plusieurs propriétés •Séparés par une virgule (,) •Chacuns peu avoir ses fonctionnalités de temps et de délais
  • 89. CONCLUSION Commencez maintenant! •W3C - Statut des modules CSS3 •W3C - Priorités des modules CSS3 •caniuse.com •html5boilerplate.com •Hardboiled CSS3 Media Queries
  • 90. RESSOURCES Liens d’introduction •http://meyerweb.com/eric/html-xhtml/html5logo/ Support des navigateurs •caniuse.com •QuirksMode - CSS contents and browser compatibility •Robert Nyman - CSS3 - Information and samples •findmebyIP - HTML5 & CSS3 Support •universal-ie6-css
  • 91. CSS3 Selectors •CSS3 Selectors Test CSS3 Font-face •Font Squirrel @font-face generator •Review of Popular Web Font Embedding Services Media Queries •CSS 3 Media Queries for all Browser (jQuery Plugin) •css3-mediaqueries-js •Respond •1140 CSS Grid •ProtoFluid •Hardboiled CSS3 Media Queries •Responsive-Images
  • 93. CSS3 CSS3 Logo by W3C http://www.slideshare.net/rsavard/css3-webeducation @REMYSAVARD

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n