Vous êtes sur la page 1sur 102

Master 1 –ESE

Programmation Avancée (PRAVAN)


Où sommes nous ?

Les bases de données Chapitre 5 Chapitre 4 Site dynamique

Serveur
Web
Base de données

Single Page App (SPA) Chapitre 6 Chapitre 2 Site statique


HTML CSS

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)

1. Notions de base du Web


1
Rappel

4
Programmation Avancée (PRAVAN)
1- Rappel

Vous devez
apprendre à écrire
un document HTML

Si vous voulez créer


une page Web…

5
Programmation Avancée (PRAVAN)
1- Rappel

Est ce que c'est suffisant


pour bâtir une page Web
comme celle ci ?
La réponse est: NON

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:

Rendre la page plus présentable ? Images



Il faut ajouter
autre chose !

Un document
CSS
Couleur de texte
Police d’écriture

Positionnement
des images

8
Programmation Avancée (PRAVAN)
1- Rappel
Titres
Listes
Paragraphes

CSS: Cascading Style Sheets


Images
Feuilles sont écrites dans un langage …
spécifique (format textuel, extension.css)

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

Pourquoi cette dissociation?


• Assurer la cohérence graphique de ce site.
Un document • La maintenance d'un site en est facilitée.
HTML • Plusieurs mises en forme différentes peuvent être
appliquées à un même document.
• Le code HTML est lisible et facilement modifiable.
Rendre la plus • Les pages sont plus légères, donc plus rapides à
présentable ? circuler sur un réseau (la feuille de style ne sera
Comme ceci chargée qu'une seule fois).
Il faut ajouter
autre chose ! Un document
CSS

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)

Prenons l'exemple suivant.


Nous avons donc un code HTML qui
contient un titre H1, et qui permet
d'afficher sur le navigateur, Bienvenue sur
la page.

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

Dans notre exemple, ça sera l'élément h1

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

L’élément a plusieurs propriétés.


La propriété "couleur" est l’une d’elles.

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

et qu'on appelle une règle CSS

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

• Une feuille de style = suite de règles. Propriété Valeur


• Une règle = sélecteur + déclaration
• Un sélecteur indique l'élément concerné par le style; Une déclaration
• Un déclaration est une paire propriété : valeur
• Une règle peut contenir plusieurs déclarations (un
bloc de déclarations) séparés par « ; » placé entre { }
18
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

Oui… Mais où mettre ces règles ? Propriété Valeur


Il existe 3 méthodes Une déclaration

19
Programmation Avancée (PRAVAN)
2- Les bases du CSS Où mettre le code CSS ?

Méthode 1: Enligne

Consiste à mettre les déclarations


CSS directement dans la balise
ouvrante de l'élément concerné,
grâce à l'attribut Style.

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

Consiste à mettre les règles CSS


dans la partie Head (ou entête)
du document HTML, et ceci se
fait en insérant la déclaration CSS
dans un élément appelé style.

21
Programmation Avancée (PRAVAN)
2- Les bases du CSS Où mettre le code CSS ?

Méthode 1: Enligne Méthode 3: Fichier CSS

Méthode 2: En-tête

Consiste à mettre les règles CSS


dans un autre fichier qui porte monFichierStyles.css
l'extension .css
Dans cet exemple, nous avons mis
notre déclaration dans le fichier
"monFichierSyles.css"

et nous lui avons fait référence dans


notre fichier HTML, grâce à l’élément
Link, dans l’élément Head.
22
Programmation Avancée (PRAVAN)
2- Les bases du CSS
Fonctionnement des règles CSS
Une règle CSS

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)

Une règle CSS

Sélecteur
CSS

Les Sélecteurs Propriété Valeur

CSS
24
Programmation Avancée (PRAVAN)
3- Les sélecteurs CSS
1- Par élément HTML

C'est pour ça que c'est une sélection


par élément, car on mentionne
directement le nom de la balise de
l'élément concerné.
CSS

CSS CSS CSS CSS CSS

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.

Ici, nous avons deux éléments p. Ainsi,


2- Par id HTML
si nous avions utilisé une sélection par
élément, comme dans la première
(Identifiant) méthode les deux éléments auraient
été affectés.

CSS

CSS
CSS CSS

Mais puisque, dans cet exemple, nous


avons voulu sélectionner uniquement
le deuxième élément p, nous lui avons
donné un identifiant (à savoir parag2)
afin de le distinguer du premier, puis,
nous lui avons fait référence dans le
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

Voir d’autres sélecteurs ici:


https://www.w3schools.com/cssref/css_selectors.asp

31
Programmation Avancée (PRAVAN)

Une règle CSS

Sélecteur
CSS

Propriété Valeur

Les Propriétés/
Valeurs
32
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte color

Différentes manières d’exprimer un code couleur

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

Valeur par défaut: none 35


Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte font-weight

Valeur par défaut: normal


36
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte font-style

Valeur par défaut: normal


37
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte font-family (La police d’écriture)

Toujours préciser une liste de polices: de la moins générique à


la plus générique (pour éviter les problème de compatibilité
dans les navigateurs)
38
Programmation Avancée (PRAVAN)
HTML
4- Les propriétés/valeurs
Texte font-size Plusieurs unités possibles

39
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte text-align

Valeur par défaut: left 40


Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Texte border

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

Les boites (Box-Model)

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 right bottom left

(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 right bottom left

(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

Plusieurs unités possibles: width


Absolues : px, cm, mm…
Relatives: %, em, rem..
49
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs

Les Affichages
display

Bloc En-ligne

50
Programmation Avancée (PRAVAN)
HTML
4- Les propriétés/valeurs
Affichages display

Les éléments bloc,


comme h1 ont, par défaut,
CSS "display:block"

Les éléments enligne,


comme span ont, par défaut,
"display:inline"
51
Programmation Avancée (PRAVAN)
HTML
4- Les propriétés/valeurs
Affichages display

Les élément bloc ont


CSS une hauteur/largeur

Les élément enligne n’ont


pas de hauteur/largeur

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;

Les propriété suivantes ne peuvent


dont pas êtres appliquées:
Top, Right, Left, Bottom
On peut changer le type de position 56
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs
Positionnement position
position: relative; Les propriétés suivantes deviennent applicables (par rapport à la
position courante): Top, Left

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);

Supposons que j’ai ça


61
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);

Pour corriger ça:


On efface le float dés le paragrapge 2
(#le_p2), avec :
Clear:both
65
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);

Autres valeurs possibles


float: right;

float: none; /* valeur par défaut */


66
Programmation Avancée (PRAVAN)
4- Les propriétés/valeurs

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

Colonne Colonne Colonne

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

Nous avons créé une grille de 3 colonnes

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

Nous avons créé une grille de 3 colonnes

Nous avons rajouté des espacement entre les éléments de


la grille grâce à la propriété gap

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

Nous avons étalé la largeur de l’élément


1, de la ligne 1 jusqu’à la ligne3

Nous avons étalé la hauteur de l’élément


3, de la ligne 2 jusqu’à la ligne 5
73
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

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)

Une règle CSS

Sélecteur
CSS

Propriété Valeur

Nous n’avons pas vu toutes propriétés/valeurs


possibles. Il existe d’autres.

Voir d’autres propriétés/valeurs ici:


https://www.w3schools.com/cssref/default.asp
76
Programmation Avancée (PRAVAN)

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)

Spécifier différents styles CSS pour chaque média (mais de manière


Solution ? intelligente), en indiquant au navigateur quel style choisir pour le
média concerné. Pour cela, on utilise les media queries.
79
Programmation Avancée (PRAVAN)
5- CSS Media Queries
D’abord, on distingue les 2
Comment ça marche ? média Screen et Print

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

Utiliser un seul document CSS, et


mentionner la distinction grâce à
l’utilisation de l’annotation @media
Style.css

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).

Ce ne sont pas les dimensions de l’écran,


mais plutôt de la zone d’affichage
(viewport), qui peut varier par exemple
selon l’inclinaison de l’appareil et son type

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).

Ce ne sont pas les dimensions de l’écran,


mais plutôt de la zone d’affichage
(viewport), qui peut varier par exemple
selon l’inclinaison de l’appareil et son type

Téléphone
Navigateur
Tablette

Utiliser un seul document CSS, et


Où l’indiquer ? mentionner la distinction grâce à
l’utilisation de l’annotation @media Style.css

84
Programmation Avancée (PRAVAN)
5- CSS Media Queries
Comment ça marche ?

Téléphone
Navigateur
Tablette

Donc on aura fait une Redimensionner, masquer, réduire, agrandir


conception réactive ou déplacer le contenu afin de le rendre
("Responsive design") esthétique sur n'importe quel écran.
85
Programmation Avancée (PRAVAN)

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".

HTML Fichier Externe


CSS

Dans le header

En-ligne

Quelle règle va être


considérée par le navigateur
????

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

Solution Priorité selon le contexte

Le navigateur applique des 1- Règle enligne


règles de priorité prédéfinies. 2- Règle dans le header
3- Règle dans le fichier CSS
88
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

Solution Priorité selon le contexte

Le navigateur applique des 1- Règle enligne


règles de priorité prédéfinies. 2- Règle dans le header
3- Règle dans le fichier CSS
89
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

Solution Priorité selon le contexte

Le navigateur applique des 1- Règle enligne


règles de priorité prédéfinies. 2- Règle dans le header
3- Règle dans le fichier CSS
90
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.

Par élément
HTML

Par classe

Par identifiant

Quelle règle va être


considérée par le navigateur
????

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

Solution Priorité selon le spécificité

Le navigateur applique des 1- Par Identifiant


règles de priorité prédéfinies. 2- Par Classe
3- Par Element
92
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

Solution Priorité selon le spécificité

Le navigateur applique des 1- Par Identifiant


règles de priorité prédéfinies. 2- Par Classe
3- Par Element
93
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

Solution Priorité selon le spécificité

Le navigateur applique des 1- Par Identifiant


règles de priorité prédéfinies. 2- Par Classe
3- Par Element
94
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
Mais la déclaration en-ligne
l’emporte si elle est définie

0
En-ligne

Solution Priorité selon le spécificité

Le navigateur applique des 1- Par Identifiant


règles de priorité prédéfinies. 2- Par Classe
3- Par Element
95
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.

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.

Mais la déclaration en-ligne


l’emporte si elle est définie

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/

Mozilla Developer Network


https://developer.mozilla.org/fr/docs/Learn/HTML

Ma chaine Youtube (Bingo Web Academy)


https://youtube.com/playlist?list=PL6OcOlxBo0fDTwv7McJpGwq_t35PM6z70

99
Programmation Avancée (PRAVAN)
La suite ?

1- Différents contextes de CSS (en-ligne, header, fichier)

2- Les sélecteurs

En TP 3- Les propriétés/valeurs

4- Les média queries

5- Les priorités

Un site Statique
100
Programmation Avancée (PRAVAN)
La suite ? Prochain cours

Les bases de données Chapitre 5 Chapitre 4 Site dynamique

Serveur
Web
Base de données

Single Page App (SPA) Chapitre 6 Chapitre 2 Site statique


HTML CSS

Chapitre 3 Chapitre 1
Interactivité Navigateur
(programmation JavaScript Introduction
côté client)

101
Programmation Avancée (PRAVAN)

Merci

102

Vous aimerez peut-être aussi