Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

24
Jean-Christophe Carius 8, rue Lucien Leuwen 75020 Paris 06 07 58 82 82 [email protected] conseil conception design réalisation Création internet & management web Formation CSS avancée 2011 ORGANISME PLB Formations informatiques et Management MISSION Formation PUBLIC Ingénieurs en informatique

Transcript of Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

Page 1: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

Jean-Christophe Carius

8, rue Lucien Leuwen 75020 Paris 06 07 58 82 82 [email protected]

conseil conception design réalisation

Création internet & management web

Formation CSS avancée2011

ORGANISME PLB Formations informatiques et Management

MISSION Formation

PUBLIC Ingénieurs en informatique

Page 2: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

Formation CSS Avancée

✴ Introduction

✴ HTML

• Dtd

✴ HTML5

✴ CSS 2

• syntaxe

• sélecteurs, propriétés, valeurs

• modèles de boîte et flux de positionnement

• cascade

✴ CSS 3

✴ Compatibilité

✴ Bonnes pratiques

✴ Bibliothèques

Page 4: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

HTML4 / éléments (strict)Formation CSS avancée

éléments de type bloc

• ADDRESS• BLOCKQUOTE• DIV• DL• FIELDSET• FORM• H1, H2, H3, H4, H5, H6• HR• NOSCRIPT• OL• P• PRE• TABLE• UL• DD• DT• LI• TBODY• TD• TFOOT• TH• THEAD• TR

éléments de type en-ligne

• A• ABBR• ACRONYM• B• BIG• BR• CITE• CODE• DFN• EM• I• KBD• LABEL• Q• SAMP• SMALL• SPAN• STRONG• SUB• SUP• TT• VAR

éléments de type bloc ou en-ligne

• BUTTON• DEL• IFRAME• INS• MAP• OBJECT• SCRIPT

Le type varie selon le contexte. Ils sont en-ligne s'ils apparaissent dans un élément en ligne ou dans un <P>.

Éléments de 1er niveau Éléments d'entêtes

Éléments de type bloc générique ListesTableaux

Éléments en ligne spéciaux Formulaires

Éléments de phrasesÉléments de style de fontes

éléments de type en-ligne remplacé

• IMG• TEXTAREA• SELECT• INPUT

peuvent recevoir des valeurs pour ‘height’ et ‘width’

http://www.htmlhelp.com/reference/html40/olist.html+

Page 5: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

http://en.wikipedia.org/wiki/Quirks_mode+

HTML / DTDFormation CSS avancée

HTML 4.01

strict

transitional

frameset

XHTML 1.0

strict

transitional

frameset

MODE "QUIRKS"

MODE STRICT

http://hsivonen.iki.fi/doctype/

http://www.alsacreations.com/article/lire/560-dtd-doctype-html-xhtml-comment-choisir.html

http://www.w3.org/QA/2002/04/valid-dtd-list.html http://www.w3.org/2010/04/xhtml10-strict.html

Page 7: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / Sources et préséanceFormation CSS avancée

CSS Utilisateur

CSS "User agent"

CSS Auteur

<p style="color: red"></p>

style en-ligne

<head><link rel="stylesheet" href="styles.css" /><style type="text/css">@import url('styles2.css');p { color: blue; }</style>

</head>!important

!important inverse l'ordre de priorité entre Auteur et Utilisateur

feuille de style

@import toujours AVANT toute règle de la feuille de style contenante.

+ http://www.w3.org/TR/CSS21/http://www.w3.org/Style/CSS/

Page 8: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / mediaFormation CSS avancée

<link rel="stylesheet" media="screen, print" href="impression.css"> @import url('impression.css') print, embossed; @media print { p { color: red } }

embossed impression braillebraille appareils braille à retour tactile

all tout appareil

aural synthétiseurs de parole

handheld appareils portatifs (mobile)print support paginé, aperçu avant impression

projection projecteurs, impressions sur transparents

screen moniteurs couleurs

tty télétype, terminaux ou appareils aux capacités d'affichage réduites

tv télévision (basse résolution, couleur, défilement des pages limité, sonorisé)

+ http://www.w3.org/TR/CSS21/media.html#media-groups

Page 9: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / Syntaxes et règles de baseFormation CSS avancée

#bloc p { color: blue ; background: url('doss/image.png') }

bloc de déclarationsélecteur

URI et nom defontes: sensiblesà la casseURI absolues ou relatives au fichier css

+

valeur propriété valeur

noms de classes, ids: sensibles à la casse[A-Za-z0-9] plus tiret (-) et souligné (_) excepté au début (également pour [0-9])

noms de balise et mots clés CSS:insensibles à la casse

propriété

http://www.w3.org/TR/CSS21/syndata.html

Page 10: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / SélecteursFormation CSS avancée

* sélecteur universel

E sélecteur de type

E F sélecteur descendant

E:hoverE:activeE:focus

pseudo-classes dynamiques

E.test sélecteur de classe

E#test sélecteur d'identifiant

E,F regroupement de sélecteur

E > F sélecteur d'enfant

E:linkE:visited

pseudo-classes de lien

E:first-lineE:first-letterE:beforeE:after

pseudo-éléments

E + F sélecteur adjacent

E[foo]E[foo="bar"]E[foo~="bar"]E[foo|="bar"]

sélecteurs d'attribut

E:lang(c) pseudo-classe de langue

+ http://www.w3.org/TR/CSS21/selector.html#pattern-matching

Page 11: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / PropriétésFormation CSS avancée

• font[-family, -size, -style, -variant, -weight]

Propriétés de fonte

•display•position• top• left• right•bottom• z-index•overflow• clip• visibility

Propriétés de formatage visuel et d'effets visuels

•border• clear•float•height•max-height•min-height•max-width•min-width•width•padding•margin

Propriétés de boîte

• color•background

[-color, -image, -repeat, -position, -attachment]

Propriétés de couleur et de fond

• cursor•outline• content

Propriétés d'interface utilisateur

• list-style[-type,-image,-position]

Propriétés de classification

•direction• letter-spacing•word-spacing• line-height• vertical-align• text-align• text-decoration• text-indent• text-transform•white-space

Propriétés de texte

•border-spacing• empty-cells•border-collapse• caption-side

Propriétés de tableau

+ http://newsyntax.com/TableauProprietesCss

Page 12: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / Modèle de boîteFormation CSS avancée

+http://www.renownedmedia.com/blog/css-box-model-differences-in-firefox-and-internet-explorer/

http://www.quirksmode.org/css/box.html

margin-top

border-bottom

padding-top

width

padding-bottom

margin-bottom

heig

ht

padd

ing-

left

bord

er-le

ft

mar

gin-

left

border-top

padding-right

border-right

margin-right

contenu

contenuimage de fond

couleur de fond

http://www.w3.org/TR/CSS21/box.html

Page 13: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / Schémas de positionnementFormation CSS avancée

Flux normal Flux flottantFlux absolu

Inclut le formatage en bloc des boîtes de bloc, le formatage en-ligne des boîtes en-ligne, le positionnement relatif des boîtes de bloc ou en-ligne

Dans ce modèle, une boîte est complètement retirée du flux normal (elle n'a pas d'influence sur les éléments de même degré de parenté survenant après elle), et est positionnée en fonction d'un bloc conteneur.

Dans ce modèle, une boîte est d'abord positionnée selon le flux normal, puis elle en est extirpée et repoussée le plus possible vers la droite ou la gauche. Le contenu peut s'écouler le long d'un flottant.

+ http://css.maxdesign.com.au/floatutorial/

http://www.w3.org/TR/CSS21/visuren.html#positioning-scheme

Page 14: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / 13 propriétés pour la mise en pageFormation CSS avancée

display inline | block | inline-block | none | inherit | table | table-row | table-cell

heightmax-heightwidthmax-width

<longueur> | <pourcentage> | auto | inherit

position static | relative | absolute | fixed | inherit

lefttoprightbottom

<longueur> | <pourcentage> | auto | inherit

z-index auto | <entier> | inherit

floatclear

left | right | none | inherit

Page 15: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 2 / L'ordre de cascadeFormation CSS avancée

tri par origine Auteur > Utilisateur > 'User agent'

tri par spécificité style en ligne nbr d'IDs nbr d'attr. et pseudo-classes nbr d'éléments

0 ou 1 0 ou n 0 ou n 0 ou n

tri par poids !important Utilisateur > Auteur > 'User agent'

tri par ordre d'arrivée la dernière survenue l'emporte

http://www.w3.org/TR/CSS21/cascade.html#cascade+

Page 16: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS 3 / Aperçu des évolutionsFormation CSS avancée

+

E:rootE:nth-child(n)E:nth-last-child(n)E:nth-of-type(n)E:nth-last-of-type(n)E:last-childE:first-of-typeE:last-of-typeE:only-childE:only-of-typeE:empty

pseudo-classes structurelles

E:enabledE:disabledE:checkedE:indeterminate

pseudo-classes d'état d'élément d'interface

E::first-lineE::first-letterE::beforeE::after

pseudo-éléments

E[foo^="bar"]E[foo$="bar"]E[foo*="bar"]E[ns|attr]

sélecteurs d'attribut

E:target

pseudo-classe d'ancre

E::selection

pseudo-élément de fragment d'interface

E:contains('foo')

pseudo-classe de contenu

E:not(s)

pseudo-classe de négation

E ~ F

sélecteur d'adjacence indirect

border-radiusborder-imagebox-shadowbox-sizing

Propriétés de boîte

opacity

Propriétés de formatage visuel et d'effets visuels

background (multiple)background-originbackground-size

Propriétés de couleur et de fond

text-shadow

Propriétés de texte

@namespaceAnimationsColumnsgradient

counter-incrementcounter-reset

Propriété de classification

font-size-adjustfont-stretch

Propriété de fontes

http://www.w3.org/TR/css3-selectors/#changesFromCSS2

Page 18: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS / Bonnes pratiquesFormation CSS avancée

+ http://code.google.com/intl/fr-FR/speed/page-speed/docs/rendering.html

✴ Supprimer les règles css inutilisées

✴ Éviter les sélecteurs correspondants à un grand nombre d'éléments

• règle avec sélecteur universel (*) à la clé• règle avec sélecteur d'élément à la clé• règle avec des sélecteurs sur-qualifiés• :hover sur d'autres éléments que A (ie8)

✴ Éviter les sélecteurs d'enfants

✴ Placer <link> st <style> dans <head> et non pas dans <body>

✴ indiquer la taille des images

✴ 'minify css'

✴ Réunir toutes les règles externes dans un seul fichier

Google Page Speed

http://www.alsacreations.com/tuto/lire/1068-sprites-css-background-position.html

'Sprite' pour images réactives

Page 19: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

CSS / Bibliothèques, 'Frameworks'Formation CSS avancée

+ http://www.blueprintcss.org/

http://developer.yahoo.com/yui/3/http://960.gs/

http://www.yaml.de/en/http://code.google.com/p/ie7-js/http://api.jquery.com/category/traversing/

http://api.prototypejs.org/dom/dollar-dollar/

http://sizzlejs.com/

moteurs javascript de sélecteurs cssmoteurs javascript de compatibilité

systèmes de grilles css

moteur d’affichage de fontes non système

http://www.google.com/webfonts

Page 24: Formation Css avancée - pédagogie - design internet - Jean-Christophe Carius

Jean-Christophe Carius 8, rue Lucien Leuwen 75020 Paris 06 07 58 82 82 [email protected]

Création internet & management web