Académique Documents
Professionnel Documents
Culture Documents
Chapitre2 CSS
Chapitre2 CSS
Serveur
Web
Base de données
Chapitre 3 Chapitre 1
Interactivité Navigateur
(programmation JavaScript Introduction
côté client)
2
Programmation Avancée (PRAVAN)
Plan de cette séance
1. Rappel
1. Notions de base du Web
2. Les bases du CSS
3. Les sélecteurs
4. Les propriétés/valeurs
5. CSS Media Queries
6. Règles de priorité
3
Programmation Avancée (PRAVAN)
4
Programmation Avancée (PRAVAN)
1- Rappel
Vous devez
apprendre à écrire
un document HTML
5
Programmation Avancée (PRAVAN)
1- Rappel
6
Programmation Avancée (PRAVAN)
1- Rappel
Titres
Listes
Le HTML permet de remplir Paragraphes
et de structurer le contenu
de la page seulement:
Images
…
7
Programmation Avancée (PRAVAN)
1- Rappel
Titres
Listes
Le HTML permet de remplir Paragraphes
et de structurer le contenu
de la page:
Un document
CSS
Couleur de texte
Police d’écriture
Positionnement
des images
8
Programmation Avancée (PRAVAN)
1- Rappel
Titres
Listes
Paragraphes
Rendre la plus
présentable ?
Comme ceci Un document
Il faut ajouter CSS
autre chose !
Couleur de texte
Police d’écriture
Positionnement
des images
9
Programmation Avancée (PRAVAN)
1- Rappel
10
Programmation Avancée (PRAVAN)
2
1. Notions de base Les bases du CSS
du Web
Un document
CSS Fonctionnement
des feuilles de style
(CSS)
11
Programmation Avancée (PRAVAN)
2- Les bases du CSS
Fonctionnement des feuilles de style (CSS)
12
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Fonctionnement des feuilles de style (CSS)
13
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Fonctionnement des feuilles de style (CSS)
1- Vous devez sélectionner l’élément
14
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Fonctionnement des feuilles de style (CSS)
1- Vous devez sélectionner l’élément
2- Puis affecter "rouge" à sa propriété
couleur
15
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Fonctionnement des feuilles de style (CSS)
1- Vous devez sélectionner l’élément
2- Puis affecter "rouge" à sa propriété
couleur
CSS
En CSS, on fait ça grâce
à un bout de code qui
ressemble à ceci
16
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Anatomie d’une règle CSS 1- Vous devez sélectionner l’élément
2- Puis affecter "rouge" à sa propriété
couleur Une règle CSS
CSS
17
Programmation Avancée (PRAVAN)
Vous voulez changer la couleur de
2- Les bases du CSS Supposons que
ce texte en rouge
Anatomie d’une règle CSS 1- Vous devez sélectionner l’élément
2- Puis affecter "rouge" à sa propriété
couleur Une règle CSS
CSS
Sélecteur
CSS
CSS
Sélecteur
CSS
19
Programmation Avancée (PRAVAN)
2- Les bases du CSS Où mettre le code CSS ?
Méthode 1: Enligne
20
Programmation Avancée (PRAVAN)
2- Les bases du CSS Où mettre le code CSS ?
Méthode 1: Enligne
Méthode 2: En-tête
21
Programmation Avancée (PRAVAN)
2- Les bases du CSS Où mettre le code CSS ?
Méthode 2: En-tête
Sélecteur
CSS
Plusieurs types de
sélecteurs possibles
(selon le besoin)
Propriété Valeur
-Par élément, Plusieurs valeurs
-Par id Plusieurs propriétés
Possibles (selon le besoin) possibles
-Par classe (selon le besoin)
…. -color
-background-color -blue
-font-family -red
… -yellow
….
C’est ce qu’on va détailler dans le reste de ce chapitre 23
Programmation Avancée (PRAVAN)
Sélecteur
CSS
CSS
24
Programmation Avancée (PRAVAN)
3- Les sélecteurs CSS
1- Par élément HTML
25
Programmation Avancée (PRAVAN) Contrairement au code HTML précédent,
nous avons ajouté des identifiants en
3- Les sélecteurs CSS utilisant l'attribut "id".
2- Par id HTML
Si je veux sélectionner un élément, il
me suffira simplement de faire
(Identifiant) référence à son identifiant. Et pour ce
faire, dans la partie du sélecteur, je
mets un #, suivi du nom de l'attribut
cible.
CSS
CSS
CSS CSS
26
Programmation Avancée (PRAVAN)
Vous devez aussi connaitre l’utilité
3- Les sélecteurs CSS d‘utiliser une sélection par identifiant.
CSS
CSS
CSS CSS
27
Programmation Avancée (PRAVAN) contrairement au code HTML précédent, nous avons
ajouter des classes en utilisant l'attribut "class".
3- Les sélecteurs CSS
HTML
3- Par class
si je veux sélectionner un élément, il
me suffira simplement de faire
référence à sa classe. Et pour ce faire,
dans la partie du sélecteur, je mets un
point, suivi du nom de la classe cible.
CSS
CSS CSS
CSS
28
Programmation Avancée (PRAVAN)
Vous devez aussi connaitre l’utilité
3- Les sélecteurs CSS d‘utiliser une sélection par classe.
1
3- Par class Imaginez que vous avez le code HTML
suivant, et que voudriez affecter le
même style pour les élément Titre1 et
Titre2 en leur donnant par exemple la
même couleur.
2
Pour cela, vous aurez simplement
besoin de leur donner la même classe,
par exemple "mesTitre", puis vous
mettez le style souhaité pour cette
classe
Et c'est ici que les classes diffèrent des
identifiants, car les identifiants sont
utilisés pour ne désigner qu'un seul
3 élément dans votre document HTML.
et les deux éléments
seront affectés. Donc, lorsque vous avez plusieurs
éléments qui partagent le même style,
il est préférable d'opter pour
l'utilisation des classes.
29
Programmation Avancée (PRAVAN)
HTML
3- Les sélecteurs CSS
4- Par Enfant
En ciblant les enfants des
éléments. identi1
identi1
30
Programmation Avancée (PRAVAN)
1- Par Elément
Une règle CSS
2- Par Id
3- Par Class Sélecteur
4- Par Enfant CSS
Nous n’avons pas vu tous
les sélecteurs possibles. Il
existe d’autres. Propriété Valeur
31
Programmation Avancée (PRAVAN)
Sélecteur
CSS
Propriété Valeur
Les Propriétés/
Valeurs
32
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte color
33
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte Background-color
34
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte text-decoration
39
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte text-align
41
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Listes list-style-type
42
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Table Border/border-collapse
43
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
44
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les boites (Box-Model) En CSS, tout élément est inclus dans une boîte
45
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les boites (Box-Model) En CSS, tout élément est inclus dans une boîte
padding
border
margin
46
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les boites (Box-Model) padding
Padding-top
Padding-left
Padding-bottom
(Top&bottom) (right&left)
(Top&right&bottom&left)
47
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les boites (Box-Model) margin
margin-top
margin-left margin-right
(Top&bottom) (right&left)
(Top&right&bottom&left) margin-bottom
48
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les boites (Box-Model) height/width
height
Les Affichages
display
Bloc En-ligne
50
Programmation Avancée (PRAVAN)
HTML
4- Les propriétés/valeurs
Affichages display
52
Programmation Avancée (PRAVAN)
HTML
4- Les propriétés/valeurs
Affichages display
CSS On peut changer le display:
(inline, inline-block, block)
53
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les Positionnements
Position
54
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement position
Par défaut:
Les éléments HTML sont déposés sur la Element 1
page suivant le flux normal (flow):
L’un après l’autres, du haut, vers Element 2 Element 3
le bas.
Et ils ont tous, par défaut:
position: static; Element 4
Element 5
55
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement position
Ne pas confondre Marge et Position
Par défaut:
Les éléments HTML sont déposés sur la
page suivant le flux normal (flow):
L’un après l’autres, du haut, vers
le bas.
Et ils ont tous, par défaut:
position: static;
Top:20px
Left:60px
57
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement position
position: absolute; Les propriétés suivantes deviennent applicables (par rapport au
premier parent relative): Top, Right, Bottom, Left
10px
40px 60px
50px 58
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement position
position: fixed; L’élément reste figé sur la même position, même en scrollant.
59
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Les Positionnements
Float
60
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement float
La propriété float indique qu'un élément doit être retiré du flux normal et doit être placé sur le côté droit ou sur le côté gauche de son
conteneur (devient flottant);
Div1, Div2 et
Paragraphe 1, sur la
même ligne côté à
côte
On doit:
1- changer display: inline;
2- changer float: left;
3- ajuster la largeur;
Et je veux ça
62
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement float
La propriété float indique qu'un élément doit être retiré du flux normal et doit être placé sur le côté droit ou sur le côté gauche de son
conteneur (devient flottant);
63
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement float
La propriété float indique qu'un élément doit être retiré du flux normal et doit être placé sur le côté droit ou sur le côté gauche de son
conteneur (devient flottant);
Problème:
Les éléments qui vont suivre #le_p1
Le flux orginal (paragraphe1) vont monter pour continuer le
flux normal
64
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement float
La propriété float indique qu'un élément doit être retiré du flux normal et doit être placé sur le côté droit ou sur le côté gauche de son
conteneur (devient flottant);
Découpage de la page
Display
Grid Flexbox
67
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Exemple
68
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Grid Propose un système de mise en page basé sur une grille, avec des lignes et des colonnes, ce
qui facilite la conception de pages Web sans avoir à utiliser le "float" et le "positionnement".
Exemple
Modèle en Grille
Ligne
Ligne
Ligne
69
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Grid Propose un système de mise en page basé sur une grille, avec des lignes et des colonnes, ce
qui facilite la conception de pages Web sans avoir à utiliser le "float" et le "positionnement".
Exemple HTML Container
items
70
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Grid Propose un système de mise en page basé sur une grille, avec des lignes et des colonnes, ce
qui facilite la conception de pages Web sans avoir à utiliser le "float" et le "positionnement".
Exemple HTML Container
Grid
CSS
71
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Grid Propose un système de mise en page basé sur une grille, avec des lignes et des colonnes, ce
qui facilite la conception de pages Web sans avoir à utiliser le "float" et le "positionnement".
Exemple HTML Container
Grid
CSS
72
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Ligne 1
Grid Ligne 2 Ligne 3 Ligne 4
Exemple Ligne 1
HTML
1
Ligne 2
Ligne 3
Ligne 4
CSS
Ligne 5
Ligne 1
Grid Ligne 2 Ligne 3 Ligne 4
Ligne 1
1
Ligne 2
Ligne 3
Ligne 4
Ligne 5
Utile pour
faire ça
74
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Découpage de la page display On peut utiliser la propriété Display aussi pour créer un découpage avancé
Flexbox Ou boîte flexible, facilite la conception d'une structure de mise en page flexible et réactive
sans utiliser de flottement ou de positionnement."float" et le "positionnement".
CSS
75
Programmation Avancée (PRAVAN)
Sélecteur
CSS
Propriété Valeur
5
CSS Media Queries
77
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Par défaut, le navigateur se débrouille pour faire un
Besoin ? Avoir un rendu adapté pour chaque type de média affichage pour un large écran, qui n’est pas adapté pour les
autres médias et dimensions d’écran de la zone d’affichage
(viewport).
Ecran large (Screen)
Impression (print)
Ecran Etroit
(e.x. Mobile)
78
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Par défaut, le navigateur se débrouille pour faire un
Besoin ? Avoir un rendu adapté pour chaque type de média affichage pour un large écran, qui n’est pas adapté pour les
autres médias et dimensions d’écran de la zone d’affichage
(viewport).
Ecran large (Screen)
Impression (print)
Ecran Etroit
(e.x. Mobile)
80
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Comment ça marche ?
Où l’indiquer ? Méthode 1
Style2.css
2
Le mentionner dans l’entête Style1.css
du document HTML
1
On utilisera 2 documents CSS
différents pour chaque média
81
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Comment ça marche ?
Où l’indiquer ? Méthode 2
82
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Pour Screen, on peut
Comment ça marche ? distinguer les écrans selon la
dimensions d’écran de la zone
d’affichage (viewport).
Téléphone
Navigateur
Tablette
83
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Pour Screen, on peut
Comment ça marche ? distinguer les écrans selon la
dimensions d’écran de la zone
d’affichage (viewport).
Téléphone
Navigateur
Tablette
84
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Comment ça marche ?
Téléphone
Navigateur
Tablette
6
Règles de priorité
86
Programmation Avancée (PRAVAN)
6- Règles de priorité
Scénario 1 Nous avons le même élément sélectionné à différent endroit (context) du CSS, pour changer la même propriété "color".
Dans le header
En-ligne
87
Programmation Avancée (PRAVAN)
6- Règles de priorité
Scénario 1 Nous avons le même élément sélectionné à différent endroit (context) du CSS, pour changer la même propriété "color".
3
HTML Fichier Externe
CSS
2
Dans le header
1
En-ligne
3
HTML Fichier Externe
CSS
2
Dans le header
1
En-ligne
3
HTML Fichier Externe
CSS
2
Dans le header
1
En-ligne
Par élément
HTML
Par classe
Par identifiant
91
Programmation Avancée (PRAVAN)
6- Règles de priorité
CSS
Scénario 2 Nous avons le même élément sélectionné avec différents sélecteurs.
3
Par élément
HTML
2
Par classe
1
Par identifiant
1
Par identifiant
1
Par identifiant
1
Par identifiant
Mais la déclaration en-ligne
l’emporte si elle est définie
0
En-ligne
HTML
Les priorités sont appliquées
sur les propriétés.
C’est pour ça que la propriété
Background-color de l’élément
est prise, car elle n’est pas
déclarée ailleurs.
En-ligne
Solution
Le navigateur applique des
règles de priorité prédéfinies.
96
Programmation Avancée (PRAVAN)
6- Règles de priorité
Scénario 2 Nous avons le même élément sélectionné avec différents sélecteurs.
CSS
HTML
Lorsque les priorités sont de
même niveau, le navigateur
sélectionne la dernière
déclaration rencontrée.
Solution
Le navigateur applique des
règles de priorité prédéfinies.
97
Programmation Avancée (PRAVAN)
6- Règles de priorité
Scénario 2 Nous avons le même élément sélectionné avec différents sélecteurs.
CSS
HTML
Lorsque les priorités sont de
même niveau, le navigateur
sélectionne la dernière
déclaration rencontrée.
0
En-ligne
Solution
Le navigateur applique des
règles de priorité prédéfinies.
98
Programmation Avancée (PRAVAN)
Liens utiles
W3Schools
https://www.w3schools.com/
99
Programmation Avancée (PRAVAN)
La suite ?
2- Les sélecteurs
En TP 3- Les propriétés/valeurs
5- Les priorités
Un site Statique
100
Programmation Avancée (PRAVAN)
La suite ? Prochain cours
Serveur
Web
Base de données
Chapitre 3 Chapitre 1
Interactivité Navigateur
(programmation JavaScript Introduction
côté client)
101
Programmation Avancée (PRAVAN)
Merci
102