HTML
CSS (Cascading Style Sheets), c'est un autre langage qui vient compléter
le HTML.
Son rôle est de gérer la mise en forme de votre site :
C'est lui qui vous permet de choisir la couleur de votre texte.
C’est lui qui vous permet de sélectionner la police utilisée sur votre site.
C’est lui encore qui permet de définir la taille du texte, les bordures, le
fond…
C'est lui qui permet de faire la mise en page de votre site. (je veux que
mon menu soit à gauche et occupe telle largeur, que l'en-tête de mon
site soit calé en haut et qu'il soit toujours visible, etc.)
Présentation : Qu’est ce que CSS?
Exemple :
HTML
(pas de CSS)
HTML + CSS
Vous avez le choix car on peut écrire du code en langage CSS à trois
endroits différents :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
Explications :
<link rel="stylesheet" href="style.css" /> : c'est la ligne qui indique que ce
fichier HTML est associé à un fichier appelé style.css et chargé de la
mise en forme.
p
{
color: blue;
}
Où écrit-on le CSS ?
Résultat :
Dans l'en-tête <head> du fichier HTML : Il existe une autre méthode pour
utiliser du CSS dans ses fichiers HTML : cela consiste à insérer le code CSS
directement dans une balise <style> à l'intérieur de l'en-tête <head> :
Où écrit-on le CSS ?
Exemple :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<style>
p
{
color: blue;
}
</style>
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
Exemple :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
Résultat :
Si vous travaillez avec un fichier CSS externe, vous n'aurez besoin d'écrire
cette instruction qu'une seule fois pour tout votre site, comme le montre la
figure suivante.
Le code CSS est donné une fois pour toutes dans un fichier CSS
Vocabulaire : les sélecteurs
attribut à définir
Exemple
Les styles d'une balise
p { font-size: 12px;}
Définition
Vocabulaire : les propriétés et valeurs
Explications :
Dans un code CSS comme celui-ci, on trouve trois éléments différents :
• des balises : on écrit les noms des balises dont on veut modifier
l'apparence.
• des propriétés CSS : les « effets de style » de la page sont rangés
dans des propriétés. Il y a par exemple la propriété color qui permet
d'indiquer la couleur du texte, font-size qui permet d'indiquer la taille
du texte, etc.
• les valeurs : pour chaque propriété CSS, on doit indiquer une valeur.
Par exemple, pour la propriété color , il faut indiquer le nom de la
couleur. Pour font-size , il faut indiquer quelle taille on veut, etc.
Appliquer un style : sélectionner une balise.
balise1
{
propriete1: valeur1;
propriete2: valeur2;
propriete3: valeur3;
}
balise2
{
propriete1: valeur1;
propriete2: valeur2;
propriete3: valeur3;
propriete4: valeur4;
}
balise3
{
propriete1: valeur1;
}
Appliquer un style : sélectionner une balise.
Résultat :
Les commentaires.
Exemple :
/*
style.css
---------
p
{
color: blue; /* Les paragraphes seront en bleu */
}
Quelques propriétés pour commencer ?
background-repeat
• repeat
• no-repeat
• repeat-x
• repeat-y
background-position
background-attachment
repeat-y no-repeat background-repeat
repeat repeat-x
positionnement fixe ou mobile
background-attachment
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
bla bla bla blabla bla bla bla bla bla bla blabla bla bla bla
background-attachment: background-attachment:
fixed; scrool;
(valeur par défaut)
Mais au fait, comment avoir une image au milieu ?
background-position : x y
% (pourcentage)
la taille / position de l’élément est calculée de façon relative
px (pixel)
Le pixel est la plus petit unité de l’écran
em
1em = 100%, 1.2em = 120%, …
Mesures en C.S.S
font-size
permet de fixer la taille de la police
les unités de mesures vues précédemment sont utilisables
font-family
permet de spécifier le type de police que l’on souhaite afficher
! Toutes les polices ne sont pas disponibles sur tous les
ordinateurs !
Il est possible de spécifier plusieurs polices, dans l’ordre ou l’on
souhaite les utiliser
Quelques propriétés sur les fontes
font-family
familles de polices génériques :
• serif,
• sans-serif,
• monospace,
• cursive,
• fantasy.
exemple :
font-family : "times new roman", serif, sans-serif
Quelques propriétés sur les fontes
font-weight
précise le niveau de gras de la police :
• normal,
• bold,
• 100, 200, ...
font-style
précise le style de fonte :
• normal
• italic
• oblic
font-variant
utilise une fonte normale ou en petite capitale :
• normal,
• small-caps.
font
raccourci permettant de tout spécifier
text-align
permet de gérer l’alignement du texte
• right,
• left,
• center,
• justify.
text-decoration
comment doit apparaître le texte
• none (aucun)
• underline (souligné)
• overline (surligné)
• line-through (barré)
• blink (clignotant)
Quelques propriétés sur les textes
text-transformation
on peut appliquer des transformations au texte
• capitalize (1ere lettre de chaque mot en majuscule)
• uppercase (transformer en majuscule)
• lowercase (transformer en minuscule)
• none (aucune)
text-indent
Indentation de début de paragraphe (taille de l’espace)
exemple :
P {
text-transformation : lowercase ;
text-indent : 1em;
}
On peut affecter les mêmes styles au groupe de balises :
h1 {text-decoration : underline }
h2 {text-decoration : underline }
h3 {text-decoration : underline }
h4 {text-decoration : underline }
h5 {text-decoration : underline }
peut s’écrire …
p {text-decoration : underline }
strong {text-decoration : underline }
peut s’écrire …
<strong>
<strong>
Mais attention …
P>strong {color : red }
Le style n’est appliqué à strong que s’il est descendant
direct de p
Exemple …
<p>La couleur<strong>rouge</strong>
est appliquée ici,
mais pas <del><strong>la</strong></del></p>
<p>
<strong>
<strong>
De même …
Exemple …
p {text-indent : 1em}
p+p {text-indent : 0}
Jusqu’à présent, nous n’avons manipulé que des sélecteurs que l’on appelle
« simple », car ils correspondent à des éléments HTML seuls et sans
attributs (par exemple le sélecteur p).
Question : comment faire pour appliquer un style différent à deux éléments
de même type, deux paragraphes par exemple ?
Réponse : Il faut identifier chaque balise de façon unique.
Et c’est pour cela que l’on a créé les attributs class et id.
Class et Id sont deux attributs HTML qui ont été créés pour pouvoir
appliquer différents styles à des éléments de même type.
Question : quelle est la différence entre id et class?
Les attributs : class et id
Réponse :
L’attribut id permet d’identifier chaque élément de façon unique c. à. d. le
style sera appliqué à cet élément. Donc l’attribut id avec une valeur
précise ne peut être utilisé qu’une seule fois dans une page, au contraire
de class.
L’attribut class permet également de faire l’inverse et d’appliquer le
même style à différents éléments choisis (on parle des élément qui
appartiennent à la même catégorie (même classe).
Syntaxe :
Premièrement on se place dans la balise ouvrante d’un élément HTML,
on écrit le nom de notre attribut (class ou id), et on lui donne une valeur
cohérente.
L’attribut : id
#id1 {
color : red ;
Exemple : }
#id2 {
<html> color : green ;
<head> }
<title>Exemple 2 en CSS</title> #id3 {
<link rel="stylesheet" type="text/css" href="mystyle.css" /> color : blue;
</head> }
<body> #id4 {
<h1 id="id1">Guacamole rapide à faire</h1> color : green ;
<h2 id="id2">Guacamole rapide à faire</h2> }
<ul id="id3"> #id5 {
<li>2 avocats (pelés et avec les noyaux retirés)</li> color : blue ;
<li>le jus d'un citron</li> }
<li>¼ de concombre, coupé grossièrement</li>
<li>1 petite tomate, coupée</li>
</ul>
<h2 id="id4">Instructions</h2>
<ol id="id5">
<li>2 Écrasez délicatement les avocats avec une fourchette</li>
<li>Placez la purée obtenue dans un plat et arrosez avec le jus de
citron</li>
<li>Mélangez pour que le jus de citron empêche la purée d'avocat de
noircir</li>
<li>Mélangez la tomate et le concombre coupés</li>
<li>Gardez au frais et servir rapidement avec des tortillas</li>
</ol>
</body>
</html>
L’attribut : id
Résultat :
L’attribut : class
.classe1 {
color : red ;
}
Exemple : .classe2 {
color : green ;
<html> }
<head> .classe3 {
<title>Exemple 2 en CSS</title> color : blue ;
<link rel="stylesheet" type="text/css" href="mystyle.css" /> }
</head>
<body>
<h1 class="titre">Guacamole rapide à faire</h1>
<h2 class="titre">Guacamole rapide à faire</h2>
<ul class="liste">
<li>2 avocats (pelés et avec les noyaux retirés)</li>
<li>le jus d'un citron</li>
<li>¼ de concombre, coupé grossièrement</li>
<li>1 petite tomate, coupée</li>
</ul>
<h2 class="titre">Instructions</h2>
<ol class="liste">
<li>2 Écrasez délicatement les avocats avec une fourchette</li>
<li>Placez la purée obtenue dans un plat et arrosez avec le jus de
citron</li>
<li>Mélangez pour que le jus de citron empêche la purée d'avocat de
noircir</li>
<li>Mélangez la tomate et le concombre coupés</li>
<li>Gardez au frais et servir rapidement avec des tortillas</li>
</ol>
</body>
</html>
L’attribut : class
Même résultat :
Exercice :
52
Exemple : les pseudo-classes de la balise <a>
Un lien peut avoir plusieurs états. Par exemple, il peut être visité ou non.
Vous pouvez utiliser des pseudo-classes pour assigner des styles différents
aux liens visités et non visités.
Exemple :
<html>
<head>
<title>Les pseudos classes</title> a:link {
<link rel="stylesheet" type="text/css" href="style2.css" /> color: blue;
</head>
<body> }
<h1>Exemple d'un lien non visité</h1>
<a href="#1">Je suis un lien non visité</a><br> a:visited {
<h1>Exemple d'un lien visité</h1> color: red;
<a href="#2">Je suis un lien visité</a><br>
</body> }
</html>
53
Exemple : les pseudo-classes de la balise <a>
Résultat :
54
Les liens (4)
55
Les liens (5)
Exemple :
a:link {
color: blue;
text-decoration:none;
}
a:visited {
color: green;
text-decoration:none;
}
a:active {
background-color: yellow;
text-decoration:none;
}
a:hover { color:red;
text-decoration:none;
}
56
Exemples d’application
57
Exemple d’application
li{
Background-color:yellow;
color: #fff ;
border: 1px dashed #600 ;
}
58
Exemple d’application
#navigation li {
background: #c00 ;
color: #fff ;
border: 1px solid #600 ;
margin-bottom: 1px ;
}
60
Exemple d’application
#navigation li a{
Display: block;
}
61
Exemple d’application
62
Exemple d’application
63
Exemples d’application
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Présentation de l’Ese</a></li>
<li><a href="#">Nos produits</a></li>
<li><a href="#">Nos partenaires</a></li>
<li><a href="#">Contacts</a></li>
</ul>
64
Exemples d’application
Tout d’abord, nous allons entourer notre menu avec des balises
HTML <nav> qui ont été créées spécifiquement pour les menus et
qui va vous permettre de ne cibler que la liste correspondant à votre
menu en CSS.
<nav>
<ul>
<li><a href="#">Accueil</a></li>
<li><a href="#">Présentation de l’Ese</a></li>
<li><a href="#">Nos produits</a></li>
<li><a href="#">Nos partenaires</a></li>
<li><a href="#">Contacts</a></li>
</ul>
</nav>
65
Exemples d’application
66
Exemples d’application
Ensuite, on veut que les éléments de notre menu se placent les uns
à côté des autres et non pas les uns sous les autres.
Pour faire cela, nous allons devoir modifier le comportement par
défaut des éléments li. Par défaut, ces éléments sont de type block.
On va modifier leur type en inline-block grâce à la propriété display.
nav ul li{
display: inline-block;
}
67
Exemples d’application
nav ul li{
display: inline-block;
width: 150px;
height:25px;
border:solid 1px #CCCCCC;
}
68
Exemples d’application
nav ul li{
display: inline-block;
width: 150px;
height:25px;
padding:0px;
margin:0px;
border:solid 1px #CCCCCC;
}
69
Exemples d’application
#navigation li a{
Display: block;
background:#000000;
color:#FFFFFF;
}
70
Exemples d’application
#navigation li a:hover{
Display: block;
background:#CCFFEE;
text-align: center;
line-height:25px;
text-decoration: none;
}
}
71
Mise en page par
CSS
72
La balise <div> : les bordures
73
La balise <div> : les tailles et les couleurs de fond
Lorsque l'on crée un bloc à l'aide d'une div et que l'on veut l'afficher, il faut
attribuer une taille à ce bloc :
width pour la largeur
height pour la hauteur (la valeur insérée à la suite est en pixel ou en %).
Div : les propriétés de fond:
background-color: couleur de fond
background-image: url(chemin de l’image) : Image de fond.
Background-repeat : (no-repeat, repeat-x,
repeat-y, repeat) :Répétition de l'image de fond.
74
Exemple 1 :
<!DOCTYPE html>
<html>
<head>
<title>Les div</title>
<link rel="stylesheet" type="text/css" href="style3.css" />
</head>
<body>
<div id="banniere">Je suis une banniere</div>
<div id="corps">Je suis le corps de la page</div>
<div id="pied">Je suis le pied de la page</div>
</body>
</html>
div#banniere {
width:600px;
height:50px;
background-color:#00CCFF;}
div#corps {
width:600px;
height:400px;
background-color:#FFCC00;}
div#pied {
width:600px;
height:50px;
background-color:#33FF99;} 75
Résultat :
76
Exemple 2 :
<!DOCTYPE html>
<html>
<head>
<title>Les div</title>
<link rel="stylesheet" type="text/css" href="style3.css" />
</head>
<body>
<div id="banniere">Je suis une banniere</div>
<div id="corps">Je suis le corps de la page</div>
<div id="pied">Je suis le pied de la page</div>
</body>
</html>
div#banniere {
width:600px;
height:50px;
background-color:#00CCFF;}
div#corps {
width:600px;
height:400px;
background-image:url(“fond.jpg”)}
div#pied {
width:600px;
height:50px;
background-color:#33FF99;} 77
Résultat :
78
La balise <div> : les bordures
79
Exemple :
<!DOCTYPE html>
<html>
<head>
<title>Les div</title>
<link rel="stylesheet" type="text/css" href="style3.css" />
</head>
<body>
<div id="banniere">Je suis une banniere</div>
<div id="corps">Je suis le corps de la page</div>
<div id="pied">Je suis le pied de la page</div>
</body>
</html>
div#banniere {
width:600px;
height:50px;
background-color:#00CCFF;
border: solid 1px black;}
div#corps {
width:600px;
height:400px;
background-color:#FFCC00;
border: solid 1px black;}
div#pied {
width:600px;
height:50px;
background-color:#33FF99; 80
border: solid 1px black;}
Résultat :
81
La balise <div> : les marges
82
La balise <div> : les marges
Div : les quatres marges (haut, bas, gauche et droite) à définir par les
propriétés :
margin-top,
margin-right,
margin-bottom,
margin-left (idem pour padding)
83
Exemple :
div#banniere {
width:600px;
height:50px;
background-color:#00CCFF;
border: solid 1px black;
margin-top:25px;
margin-left:25%;}
div#corps {
width:600px;
height:400px;
background-color:#FFCC00;
border: solid 1px black;
margin-left:25%;}
div#pied {
width:600px;
height:50px;
background-color:#33FF99;
border: solid 1px black;
margin-left:25%;}
84
Résultat :
25px
25%
85
La balise <div> : les positions
Par défaut : les div sont placées les unes en dessous de l'autre(en flux).
Exemple :
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
width : 300px;
height : 100px;
Background-color:blue;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
Border:1px solid;}
86
La balise <div> : les positions
Les positions vont nous permettre de placer des blocs (div) où l'on veut sur
la page.
Il existe 4 types de positions :
static
relative
absolute
fixed
87
La balise <div> : les positions
88
La balise <div> : les positions
89
La balise <div> : les positions
Exemple :
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
Position:relative;
width : 300px;
height : 100px;
Background-color:blue;
Margin-top:50px;
Margin-left:50px;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
90
Border:1px solid;}
La balise <div> : les positions
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
Position:absolute;
width : 300px;
height : 100px;
Background-color:blue;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
Border:1px solid;}
91
La balise <div> : les positions
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
Position:absolute;
Margin-top:50px;
Margin-left:50px;
width : 300px;
height : 100px;
Background-color:blue;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
Border:1px solid;}
fixed : comme absolute mais lors du défilement, l'élément reste au même
endroit. 92
La balise <div> : float
float: c’est une propriété qui permet de retirer une boîte du flux normal pour
la placer à droite le plus possible ou à gauche le plus possible dans son
conteneur.
float: right pour placer la boîte à droite.
float: left pour placer la boîte à gauche.
Avec la possibilité d’utiliser les propriétés de décalages (marges) (dans
le flux).
93
La balise <div> : les positions
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
Float:left;
width : 300px;
height : 100px;
Background-color:blue;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
Border:1px solid;}
94
La balise <div> : les positions
#bloc1 {
width : 300px;
height : 100px;
Background-color:red;
Border:1px solid;}
#bloc2 {
Float:left;
width : 300px;
height : 100px;
Margin-top:50;
Margin-left:50px;
Background-color:blue;
Border:1px solid;}
#bloc3 {
width : 300px;
height : 100px;
Background-color:green;
95
Border:1px solid;}
Exercice : Menu déroulant
96
Exercice : Menu déroulant
97