Introduction au langage CSS - Polytech`Lille, page Olivier Caron

Transcription

Introduction au langage CSS - Polytech`Lille, page Olivier Caron
PEIP 2
Bureau d’étude GIS
Introduction au langage CSS
Olivier Caron
Polytech Lille
Avenue Paul Langevin Cité Scientifique Lille 1
59655 Villeneuve d’Ascq cedex
http://ocaron.plil.fr
[email protected]
Olivier Caron
January 4, 2017
1/17
PEIP 2
Bureau d’étude GIS
La technologie CSS
• Acronyme pour ”Cascading Style Sheet”
Olivier Caron
January 4, 2017
2/17
PEIP 2
Bureau d’étude GIS
La technologie CSS
• Acronyme pour ”Cascading Style Sheet”
• De HTML 1 à HTML 5 : vers un meilleur découpage
contenu/affichage (charte graphique)
Olivier Caron
January 4, 2017
2/17
PEIP 2
Bureau d’étude GIS
La technologie CSS
• Acronyme pour ”Cascading Style Sheet”
• De HTML 1 à HTML 5 : vers un meilleur découpage
contenu/affichage (charte graphique)
• Styles visuels réutilisables
Olivier Caron
January 4, 2017
2/17
PEIP 2
Bureau d’étude GIS
La technologie CSS
• Acronyme pour ”Cascading Style Sheet”
• De HTML 1 à HTML 5 : vers un meilleur découpage
contenu/affichage (charte graphique)
• Styles visuels réutilisables
• Qualités évolutives (un seul fichier à évoluer pour un site web
complet)
Olivier Caron
January 4, 2017
2/17
PEIP 2
Bureau d’étude GIS
Syntaxe Générale
• Syntaxe ultra simple :
sélecteur {
nomPropriété: valeur ;
nomPropriété: valeur ;
...
}
sélecteur ...
• la complexité réside dans la richesse des propriétés et des effets de
bord des propriétés entre elles (placement des objets)
Olivier Caron
January 4, 2017
3/17
PEIP 2
Bureau d’étude GIS
Petite illustration de règles CSS
• h1 { color :
Olivier Caron
red } → les balises <h1> sont en rouge
January 4, 2017
4/17
PEIP 2
Bureau d’étude GIS
Petite illustration de règles CSS
• h1 { color :
red } → les balises <h1> sont en rouge
• div h1 { color :
red ; } → les balises <h1>
contenues dans une balise <div> sont en rouge
Olivier Caron
January 4, 2017
4/17
PEIP 2
Bureau d’étude GIS
Petite illustration de règles CSS
• h1 { color :
red } → les balises <h1> sont en rouge
• div h1 { color :
red ; } → les balises <h1>
contenues dans une balise <div> sont en rouge
• .attention { border:
solid blue 1px;
background-color: cyan} → classe de style applicable
à toute balise html (exemple <div class="attention">
...
Olivier Caron
January 4, 2017
4/17
PEIP 2
Bureau d’étude GIS
Petite illustration de règles CSS
• h1 { color :
red } → les balises <h1> sont en rouge
• div h1 { color :
red ; } → les balises <h1>
contenues dans une balise <div> sont en rouge
• .attention { border:
solid blue 1px;
background-color: cyan} → classe de style applicable
à toute balise html (exemple <div class="attention">
...
• Un tutoriel : http://www.w3.org/Style/Examples/
011/firstcss.fr.html
Olivier Caron
January 4, 2017
4/17
PEIP 2
Bureau d’étude GIS
Petite illustration de règles CSS
• h1 { color :
red } → les balises <h1> sont en rouge
• div h1 { color :
red ; } → les balises <h1>
contenues dans une balise <div> sont en rouge
• .attention { border:
solid blue 1px;
background-color: cyan} → classe de style applicable
à toute balise html (exemple <div class="attention">
...
• Un tutoriel : http://www.w3.org/Style/Examples/
011/firstcss.fr.html
• et pour finir une démo :
http://www.csszengarden.com/tr/francais/
Olivier Caron
January 4, 2017
4/17
PEIP 2
Bureau d’étude GIS
Comment appliquer un style
• Au niveau de le la balise :
<p s t y l e = ” c o l o r : b l u e ; ”>
• Au niveau du fichier html :
<head>
<s t y l e>
p {
c o l o r : blue ;
}
< / s t y l e>
...
<p> . . . < / p>
• Dans une feuille de style (recommandé) :
<head> . . .
<l i n k r e l = ” s t y l e s h e e t ” h r e f = ” . / css / s t y l e . css ” />
Olivier Caron
January 4, 2017
5/17
PEIP 2
Bureau d’étude GIS
Les sélecteurs
• Les sélecteurs de base :
Nom de la balise, Nom de l’id (’#’), Nom de la classe (’.’).
Olivier Caron
January 4, 2017
6/17
PEIP 2
Bureau d’étude GIS
Les sélecteurs
• Les sélecteurs de base :
Nom de la balise, Nom de l’id (’#’), Nom de la classe (’.’).
• Les sélecteurs avancés :
* : désigne toutes les balises
sél1 sél2 : les sélecteurs sél2 situés à l’intérieur de sél1
A[B] : une balise A qui possède un attribut B
A[B=”value”] : une balise A qui possède un attribut B de valeur value
Olivier Caron
January 4, 2017
6/17
PEIP 2
Bureau d’étude GIS
Les sélecteurs
• Les sélecteurs de base :
Nom de la balise, Nom de l’id (’#’), Nom de la classe (’.’).
• Les sélecteurs avancés :
* : désigne toutes les balises
sél1 sél2 : les sélecteurs sél2 situés à l’intérieur de sél1
A[B] : une balise A qui possède un attribut B
A[B=”value”] : une balise A qui possède un attribut B de valeur value
• Et bien plus encore
Olivier Caron
January 4, 2017
6/17
PEIP 2
Bureau d’étude GIS
Qui s’occupe des feuilles de style
• Absolument pas le développeur !
Olivier Caron
January 4, 2017
7/17
PEIP 2
Bureau d’étude GIS
Qui s’occupe des feuilles de style
• Absolument pas le développeur !
• Réservé au concepteur graphique multimédia
Olivier Caron
January 4, 2017
7/17
PEIP 2
Bureau d’étude GIS
Qui s’occupe des feuilles de style
• Absolument pas le développeur !
• Réservé au concepteur graphique multimédia
• Cependant, des assistants :
http://css-tricks.com/examples/ButtonMaker/
http://cssmenumaker.com/
Olivier Caron
January 4, 2017
7/17
PEIP 2
Bureau d’étude GIS
Qui s’occupe des feuilles de style
• Absolument pas le développeur !
• Réservé au concepteur graphique multimédia
• Cependant, des assistants :
http://css-tricks.com/examples/ButtonMaker/
http://cssmenumaker.com/
• ou bien des frameworks CSS, ex:
framework bootstrap (twitter) http://getbootstrap.com/
Olivier Caron
January 4, 2017
7/17
PEIP 2
Bureau d’étude GIS
Le framework Twitter Bootstrap
• Une charte graphique épurée
• Beaucoup de règles pour de multiples composants graphiques
• S’appuie sur la notion de classe pour utiliser la charte
<button>un bouton< / button> < !−− pas de s t y l e a p p l i q u é −−>
<button class= ” b t n btn−p r i m a r y ”>un j o l i bouton< / button>
• Du code javascript permet d’associer du comportement aux
composants
• Le placement des composants est simplifié grâce au concept de grille
• Règles dédiées aux mobiles/smartphones.
Olivier Caron
January 4, 2017
8/17
PEIP 2
Bureau d’étude GIS
Installation du framework Twitter Bootstrap
• Télécharger bootstrap sur
http://www.getbootstrap.com
• Télécharger jquery sur http://www.jquery.com
• Polytech: procédure d’installation :
cd p u b l i c h t m l / c o v o i t u r a g e /
t a r x v f z ˜ ocaron / p u b l i c / s o f t s . t g z
Olivier Caron
January 4, 2017
9/17
PEIP 2
Bureau d’étude GIS
Configuration de bootstrap
< !DOCTYPE html>
<html>
<head>
<meta charset= ” UTF−8”> < t i t l e>Bureau Etude PEIP< / t i t l e>
<meta name=” v i e w p o r t ” c o n t e n t =” w i d t h =device−width , i n i t i a l −s c a l e =1.0” >
< l i n k h r e f = ” . / css / b o o t s t r a p . min . css ” r e l =” s t y l e s h e e t ” t y p e =” t e x t / css”>
< l i n k h r e f = ” . / css / b o o t s t r a p −theme . min . css ” r e l =” s t y l e s h e e t ” t y p e =” t e x t / css”>
< s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c = ” . / j s / j q u e r y . min . j s ”></ s c r i p t >
< s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c = ” . / j s / b o o t s t r a p . min . j s ”></ s c r i p t >
< / head>
<body> . . . < / body>
< / html>
Olivier Caron
January 4, 2017
10/17
PEIP 2
Bureau d’étude GIS
Exercices (1/2)
• Consultez la documentation sur
http://www.getbootstrap.com
Olivier Caron
January 4, 2017
11/17
PEIP 2
Bureau d’étude GIS
Exercices (1/2)
• Consultez la documentation sur
http://www.getbootstrap.com
Exercice 1
Dans le fichier index.html du projet ”covoiturage”, ajoutez un titre
avec la classe page-header.
Olivier Caron
January 4, 2017
11/17
PEIP 2
Bureau d’étude GIS
Exercices (1/2)
• Consultez la documentation sur
http://www.getbootstrap.com
Exercice 1
Dans le fichier index.html du projet ”covoiturage”, ajoutez un titre
avec la classe page-header.
Exercice 2
Modifiez votre menu en utilisant les classes nav et (nav-tabs ou
nav-pills).
(pour sous-menu : classes dropdown, dropdown-toggle et
dropdown-menu)
Olivier Caron
January 4, 2017
11/17
PEIP 2
Bureau d’étude GIS
Exercices (2/2)
Exercice 3
Procédez à ”l’habillage twitter” de votre table HTML
Olivier Caron
January 4, 2017
12/17
PEIP 2
Bureau d’étude GIS
Exercices (2/2)
Exercice 3
Procédez à ”l’habillage twitter” de votre table HTML
Exercice 4
Limitez la largeur de l’image à 400 pixels, donnez une forme ronde à
l’image
Olivier Caron
January 4, 2017
12/17
PEIP 2
Bureau d’étude GIS
Les Grilles CSS
• Le placement des objets dans une page se fait dans une grille de 12
colonnes
Olivier Caron
January 4, 2017
13/17
PEIP 2
Bureau d’étude GIS
Les Grilles CSS
• Le placement des objets dans une page se fait dans une grille de 12
colonnes
• La grille est définie à l’aide de la classe container
Olivier Caron
January 4, 2017
13/17
PEIP 2
Bureau d’étude GIS
Les Grilles CSS
• Le placement des objets dans une page se fait dans une grille de 12
colonnes
• La grille est définie à l’aide de la classe container
• Une ligne de la grille est définie par la classe row
Olivier Caron
January 4, 2017
13/17
PEIP 2
Bureau d’étude GIS
Les Grilles CSS
• Le placement des objets dans une page se fait dans une grille de 12
colonnes
• La grille est définie à l’aide de la classe container
• Une ligne de la grille est définie par la classe row
• Chaque colonne est spécifiée à l’aide des classes col-xx-xx
Olivier Caron
January 4, 2017
13/17
PEIP 2
Bureau d’étude GIS
Les tailles des grilles CSS
• Plusieurs formats selon l’équipement :
Equipement
Largeur
Nom classe CSS
Taille max col
Extra small-devices
Small devices
Medium devices
Large devices
<768px
>=768px
>=992px
>=1200px
.col-xs-nb
.col-sm-nb
.col-md-nb
.col-lg-nb
auto
60px
78px
95px
Olivier Caron
January 4, 2017
14/17
PEIP 2
Bureau d’étude GIS
Les tailles des grilles CSS
• Plusieurs formats selon l’équipement :
Equipement
Largeur
Nom classe CSS
Taille max col
Extra small-devices
Small devices
Medium devices
Large devices
<768px
>=768px
>=992px
>=1200px
.col-xs-nb
.col-sm-nb
.col-md-nb
.col-lg-nb
auto
60px
78px
95px
• nb indique le nombre de colonnes (entre 1 et 12)
Olivier Caron
January 4, 2017
14/17
PEIP 2
Bureau d’étude GIS
Exemples grilles (1/2)
• 2 colonnes de même taille sur mobile et desktop :
<div class= ” row ”>
<div class= ” c o l −xs−6”> . c o l −xs−6< / div>
<div class= ” c o l −xs−6”> . c o l −xs−6< / div>
< / div>
• 1ère colonne (moitié de la grille pour mobiles, 33%pour desktop):
<div class= ” row ”>
<div class= ” c o l −xs−6 c o l −md−4”> . c o l −xs−6 . c o l −md−4< / div>
<div class= ” c o l −xs−6 c o l −md−4”> . c o l −xs−6 . c o l −md−4< / div>
<div class= ” c o l −xs−6 c o l −md−4”> . c o l −xs−6 . c o l −md−4< / div>
< / div>
Olivier Caron
January 4, 2017
15/17
PEIP 2
Bureau d’étude GIS
Exemples grilles (2/2)
• colonnes inutilisées, notion d’offset :
<div class= ” row ”>
<div class= ” c o l−md−4”> . c o l−md−4< / div>
<div class= ” c o l−md−4 c o l−md−o f f s e t −4”> . c o l−md−4 . c o l−md−o f f s e t −4< / div>
< / div>
• Autre exemple:
<div class= ” row ”>
<div class= ” c o l−md−3 c o l−md−o f f s e t −3”> . c o l−md−3 . c o l−md−o f f s e t −3< / div>
<div class= ” c o l−md−3 c o l−md−o f f s e t −3”> . c o l−md−3 . c o l−md−o f f s e t −3< / div>
< / div>
Olivier Caron
January 4, 2017
16/17
PEIP 2
Bureau d’étude GIS
Exercice
Exercice
Dans votre projet ”covoiturage”, modifiez la page ”index.html” afin que la
table et l’image soient affichées sur une même ligne. La table occupe 3
colonnes, l’image occupe 5 colonnes. Table et image sont séparées par
deux colonnes. La table se trouve à une colonne du bord gauche, l’image
se trouve à une colonne du bord droit.
Olivier Caron
January 4, 2017
17/17