Introduction aux feuilles de style CSS
Introduction aux feuilles de style CSS
Définition
67
1 2
Utilisation Utilisation
L’intégration de code CSS peut se faire en trois méthodes 2- Dans l'en-tête <head> du fichier HTML entre la balise <style>
différentes : et </style> [Link]
1- Dans un fichier avec l’extension .css ([Link] par exemple) <html>
<head>
(méthode la plus recommandée). Créer le fichier [Link] dans le <title>titre de la page</title>
même dossier que la page HTML, sinon spécifier le chemin du <meta content="text/html; charset=UTF-8" />
fichier (mon_dossier\...\[Link]). mon_dossier_site
<style>
h1 {
color: green;
[Link] }
<html> body {
<head> [Link] background-color: yellow;
<title>titre de la page</title> }
<meta content="text/html; charset=UTF-8" /> h1{ </style>
<link rel="stylesheet" type="text/css" href="[Link]"> color: green;
</head> } </head>
<body> body{ <body>
<h1> voici un titre</h1> background-color: yellow; <h1> voici un titre </h1>
</body> } </body>
</html> 68 </html> 69
3 4
1
27/10/2023
Utilisation Utilisation
3- Directement dans les balises du fichier HTML via un attribut Le même code CSS est indiqué une fois pour toutes dans un
style (méthode la moins recommandée). fichier CSS : c'est plus simple !
[Link]
<html>
La première méthode et Site
<head> beaucoup plus pratique car on
<title>titre de la page</title> peut appliquer la même mise
<meta content="text/html; charset=UTF-8" /> Les paragraphes sont
</head> en forme sur toutes les balises en bleu
<body style="background-color: yellow"> qu’on veut, alors les autres
<h1 style="color: green"> voici un titre </h1>
</body>
méthodes ne le permettent
[Link]
</html> pas. Il faut définir le style pour
Les trois méthodes donnent chaque balise.
même résultat
5 6
7 8
2
27/10/2023
Si plusieurs (≥2) balises doivent avoir la même mise en forme. •Les commentaires dans du CSS : pour insérer un commentaire
On déclare les noms des balises et on les sépare par une en CSS Tapez /* suivi de votre commentaire, puis */ pour
virgule « , » comme suit : ces deux fichiers sont équivalents. terminer votre commentaire. Le commentaire ne s'interprète
[Link] pas.
h1 { [Link]
color : blue ;
/* Un commentaire Appliquer un style à une balise
} [Link]
Ce fichier est du CSS (p, h1 ,h2, …) cela implique que
h2 { Equiv. h1, h2, b { */
color : blue ; color : blue ; TOUS les paragraphes soient
} } h1 { écrits par exemple en bleu.
color : blue ; /* Les titres h1 seront
b{
bleus */ Comment appliquer un style
color : blue ;
}
} pour que seulement certains
h2 { paragraphes soient écrits d'une
74
color : blue ; /* Les titres h2 seront
bleus */
}
manière différente
!? 75
9 10
Class et Id Class et Id
[Link]
•Class : On peut placer notre code CSS dans un attribut style Notez que la liste doit être placée à .niveau1{
sur la balise que l'on vise (méthode 3), mais c’est moins color : blue ;
l'intérieur de <body> votre code ici </body>. }
recommandé (il vaut mieux utiliser un fichier CSS externe
(méthode 1)).
Je ne mets pas tout le code de la page à .niveau2{
•Pour résoudre ce problème on va utiliser deux attributs partir de maintenant pour rester lisible color : red;
}
spéciaux qui fonctionnent sur touts les balises : class et id. .introduction{
<balise class="un_nom_identifiant _la_balise" > ... </balise> Exemple color : blue ;
[Link] }
<balise class="un_nom_identifiant _la_balise />
<h1 class= "niveau1"> voici un titre en bleu </h1> .conclusion{
les attributs class et id sont presque identiques. Il y a <h1 class= "niveau2"> voici un titre en rouge</h1> color : red;
seulement une petite différence. On va le voir tout de suite. Ils <p class= "introduction"> ...voici un paragraphe en bleu... </p> }
s’appliquent sur n’importe quelle balise HTML. <p class= "conclusion"> ...voici un paragraphe en rouge... </p>
[Link]
Pour appliquer ça en CSS, Ce qui donne : voici un titre en bleu
indiquez le nom de votre classe .un_nom_identifiant _la_balise { Les mêmes balises <h1> et <p> voici un titre en rouge
propriété : valeur ;
en commençant par un point, }
avec une mise en forme ...voici un paragraphe en bleu...
(pas d’espace) comme suit : 76 différente. ...voici un paragraphe en rouge... 77
11 12
3
27/10/2023
Class et Id La sélection
•Id: il fonctionne exactement de la même manière que class, à En CSS, le plus difficile est de savoir cibler le texte dont on veut
un détail près : il ne peut être utilisé qu'une fois dans le code. changer la forme. Pour cibler (sélectionner) les éléments de la
•En pratique, nous ne mettrons des id que sur des éléments page à modifier, on utilise ce qu'on appelle des sélecteurs. Il
qui sont uniques sur votre page, comme par exemple le logo. existe des dizaines d'autres façons de cibler des balises
<balise id="un_nom_identifiant _la_balise" > ... </balise> [Link]
<balise id="un_nom_identifiant _la_balise /> h1 { Une seule balise à la fois , signifie tous
/*les propriété et valeurs*/ les paragraphes
[Link]
Pour appliquer ça en CSS, }
précéder le nom de l'id par un #un_nom_identifiant _la_balise {
propriété : valeur ; [Link]
dièse #, (pas d’espace) comme /*et autres …*/ h1, h2, p { Plusieurs balises à la fois , signifie tous
suit : } /*les propriété et valeurs les titres h1, h2 et tous les paragraphes
}
[Link]
Deux balises peuvent avoir le même nom avec l'attribut class. .class { signifie touts les balises de la classe
Un nom d'id doit en revanche être unique dans la page HTML. /*les propriété et valeurs class
78 79
}
13 14
La sélection La sélection
[Link] [Link]
#id { signifie touts les balises de l’identifiant a [title] { Signifie tous les liens <a> qui
/*les propriété et valeurs*/ id /*les propriété et valeurs*/ possèdent un attribut title
} }
[Link] [Link]
*{ Signifie toutes les balises sans a [title= "valeur"] { Signifie tous les liens <a> qui
/*les propriété et valeurs exception /*les propriété et valeurs possèdent un attribut title et avoir
} } exactement pour valeur valeur
[Link] [Link]
p em { signifie toutes les balises <em> situées a [title*= "valeur"] { Signifie tous les liens <a> qui
/*les propriété et valeurs à l'intérieur d'une balise <p> /*les propriété et valeurs possèdent un attribut title et avoir la
} } contient la valeur valeur
[Link] [Link]
h1 + p{ div > img { Signifie tous les éléments enfant
signifie toutes les premières balises <p> /*les propriété et valeurs
/*les propriété et valeurs <img> appartenant directement au
située après un titre <h1>. }
} 80 parent <div> 81
15 16
4
27/10/2023
Dans cette partie on va voir comment modifier la taille du •Une taille relative : en pourcentage, "em" , "%" ou "ex",
texte, changer la police, aligner le texte.. cette technique a l'avantage d'être plus souple, elle
• La taille : la propriété font-size permet d’indiquer la taille recommandée car le texte s'adapte alors plus facilement
du texte : aux préférences de tous les visiteurs. Elle s’indique en
•Une taille absolue : en pixels, en centimètres ou utilisant les mots suivants:
p{
millimètres. • xx-small : minuscule
/* paragraphes de petite taille*/
• x-small : très petit font-size : small ;
[Link]
• small : petit }
• medium : moyen
<p > voici un paragraphe de 16 pixels, Les lettres auront une taille de 16 pixels </p> h1 {
• large : grand /* titres de taille moyenne*/
[Link]
• x-large : très grand font-size : medium;
p{
font-size : 16px ;
• xx-large : gigantesque. }
}
Ce qui donne : On peut utiliser l’unité em p{
(sans espace) font-size : 1.8em;
voici un paragraphe de 16 pixels, Les lettres auront une taille de 16 pixels 82
} 83
17 18
• La police : la propriété font-family permet d’indiquer la • La police : la propriété font-family permet d’indiquer la
police du texte (type de texte). police du texte (type de texte).
[Link]
balise { balise {
font-family : police ; ou font-family : police1, police2, police3, plice4 ; <p > voici un paragraphe de police Impact ou autres </p>
} } [Link]
p{
Pour éviter qu'il n'y ait de problème si l'internaute n'a pas la font-family: Impact, "Arial Black", Arial, Verdana, serif ;
même police que vous, on précise en général plusieurs }
noms de police, séparés par des virgules. En voici une liste Cela signifie : "Mets la police Impact, ou, si elle n'y est pas, Arial
des polices les plus courantes : Black, ou sinon Arial, ou sinon Verdana, ou si rien n'a
marché mets une police standard (serif)".
Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Si la police se compose de deux mots, mettez la entre
Impact, Times New Roman, Trebuchet MS, Verdana, Courier guillemets ("la police").
New, Lucida Console Ce qui donne :
84
voici un paragraphe de police Impact ou autres 85
19 20
5
27/10/2023
• Mettre en italique : la propriété font-style permet de • Mettre en gras : la propriété font-weight permet de mettre
mettre le texte en italique, elle peut prendre 3 valeurs : le texte en gras, elle peut prendre 2 valeurs :
• italic : le texte sera mis en italique. • bold : le texte sera en gras.
• oblique : le texte sera aussi mis en italique (en penchant • normal : le texte sera écrit normalement (par défaut).
les lettres).
• normal : le texte sera normal (par défaut).
[Link] [Link] [Link] [Link]
<h1 > voici un titre en italique </h1> h1{ <h1 > voici un titre en gras</h1> h1{
<h2 > voici un titre en oblique</h2> font-style: italic ; <h2 > voici un titre normal </h2> font-weight: bold;
<h3 > voici un titre normal </h3> } }
h2{ h2{
Ce qui donne : font-style: oblique ; Ce qui donne : font-weight: normal;
} }
voici un titre en italique h3{ voici un titre en gras
font-style: normal;
voici un titre en oblique } voici un titre normal
voici un titre normal 86 87
21 22
• Transformer le texte: la propriété text-transform permet de • L’indentation d’un texte: la propriété text-indent permet de
transformer le texte en 5 valeurs possibles : décaler le texte vers la droite et vers la gauche, soit en pixels
• Lowercase : en minuscules. (Xpx) (-Xpx) ou en pourcentage (%).
• Uppercase : en majuscules ; .droite{
• Capitalize : la première lettre de chaque mot en majuscule. <h2 class="droite"> voici un texte indenté vers la text-indent : 50px;
droite </h2> }
• Inherit : Hérite de la valeur de l’élément parent ; .gauche{
<h2 class="gauche"> voici un texte indenté vers la
• None : sans de transformation. gauche</h2> text-indent : -40px;
<h2 class="maj"> voici un titre en majuscule </h2> .maj{ }
<h2 class="min"> VOICI UN TITRE EN MINUSCULE </h2> text-transform : uppercase;
<h2 class="cap"> voici un titre en « Capitalize » </h2> }
.min{
text-transform : lowercase;
}
.cap{
text-transform : capitalize ;
}
88 89
23 24
6
27/10/2023
• Soulignement et autres décorations: la propriété text- •L'alignement: la propriété text-align indique l'alignement
decoration permet entre autres de souligner le texte, elle désiré, elle peut prendre 4 valeurs :
peut prendre 4 valeurs : left : le texte sera aligné à gauche (par défaut).
underline: souligné , line-through : barré center : le texte sera centré.
overline: ligne au-dessus , None : normal (par défaut) right : le texte sera aligné à droite.
[Link]
<h1 class="souligne" > voici un titre souligné</h1> justify : le texte sera justifié.
p{
<h1 class="barre" > voici un titre barré</h1> [Link] text-align : justify;
<h1 class="ligne-dessus" > voici un titre avec une ligne au-dessus</h1>
<h3 > Cours HTML </h3> }
.souligne{ <p> est l’abréviation de HyperText Markup h3 {
text-decoration: underline; Language, soit en français « langage text-align : left;
Ce qui donne :
} hypertexte de balisage ». Ce langage a été color : red;
.barre{ voici un titre souligné créé en 1991 et a pour fonction de }
text-decoration: line-through; structurer et de donner du sens à du h6 {
} contenu. Ils nous permet de créer des sites text-align : right;
voici un titre barré web. color : blue;
.ligne-dessus{
text-decoration: overline; </p> text-decoration: underline;
} voici un titre avec une ligne au-des90sus <h6 > Réaliser par : Mr [Link] </h6> } 91
25 26
27 28
7
27/10/2023
• la couleur du texte,
• couleur ou une image de fond,
• ajouter des ombres, ajuster les transparence.
balise {
color : couleur ;
}
94 95
29 30
31 32
8
27/10/2023
98 99
33 34
35 36
9
27/10/2023
102 103
Ce qui donne : (page suivante)
37 38
balise {
background-image : url("[Link]";
background-repeat : no-repeat ;
}
104 105
39 40
10
27/10/2023
41 42
108 109
43 44
11
27/10/2023
45 46
Les bordures , les ombres et les marges Les bordures , les ombres et les marges
body{ h3{
border : 2px blue solid; border: 2px orange dashed ; •Options disponibles pour les bordures : en utilisant la propriété CSS
} } border à un élément, ce dernier aura la même bordure aux 4 côtés.
si vous voulez mettre des bordures différentes, utiliser ces 4
propriétés :
• border-top : bordure en haut. p{
border-top : 5px solid black;
• border-bottom : bordure en bas. border-bottom : 5px solid maroon;
• border-left : bordure à gauche. border-left : 4px solidred;
• border-right : bordure à droite. border-right : 4px solid green;
p{ table,td{ }
border: 4px yellow double; border: 2px yellow groove;
} }
112
47 48
12
27/10/2023
Les bordures , les ombres et les marges Les bordures , les ombres et les marges
•Options disponibles pour les bordures : la propriété CSS border- •Options disponibles pour les ombres : la propriété CSS box-shadow
radius permet d'arrondir les angles de n'importe quel élément en permet d'ajouter un ombre à élément en indiquant en pixels trois
indiquant la taille en pixels pour tous les coins (Xpx) ou bien pour valeurs et une couleure de cet ordre 1px 2px 3px 4.
chaque coin (Xpx Xpx Xpx Xpx). • 1. Le décalage horizontal de l'ombre.
p{ • 2. Le décalage vertical de l'ombre.
p{ border: 3px blue solid; • 3. L'adoucissement du dégradé.
border: 3px orange solid; border-radius : 8px 20px 8px 20px ;
border-radius : 15px ; background-color: orange;
• 4. La couleur de l'ombre. p{
text-align: justify; text-align: justify; p{ order: 3px black dashed;
} } border : 3px blue solid; box-shadow: 10px 6px 0px blue;
box-shadow : 6px 6px 1px maroon; border-radius: 10px;
border-radius : 10px; background-color: orange;
} }
114
49 50
51 52
13
27/10/2023
118 119
53 54
Au clic
120 121
55 56
14
27/10/2023
Partie 2
href="[Link] Classrooms color: red;
</a> <br> }
Visiter le site de <a a:visited{/* Liens visité*/
href="[Link] text-decoration: underline;
</a> <br> color: blue;
Visiter le site de <a
href="[Link] </a>
}
Mise en page du site
Déjà visité
122
57 58
124 125
59 60
15
27/10/2023
61 62
63 64
16
27/10/2023
h3 {
<h1> un titre (block) </h1> width: 50%;
background: orange;
text-align: justify;
}
<p> un paragraphe (block)
p{
<a > un lien inline </a> width: 50%;
</p> background: orange;
text-align: center;
130 } 131
65 66
67 68
17
27/10/2023
134 135
69 70
!!??
</article>
</section>
<footer> 170px
<p> Copyright Zozor - Tous droits réservés <br/>
<a href="nomPrenom@[Link]"> Me contacter ! </a> </p>
</footer>
</body>
136 </html> 137
71 72
18
27/10/2023
<section>
<aside>
<h1> A propos de l'auteur </h1>
<p> un paragraphe </p>
</aside>
<article>
• vertical-align: cette propriété permet de modifier l’alignement vertical <h1> Le voyageur </h1>
<p> paragraphe de voyage </p> le corps (la
deséléments. Voici quelques-unes des valeurs possibles pour cette propriété : </article>
<section>)
• baseline : aligne la base de l'élément avec celle de l'élément parent (par </section> ne prend
pas toute
défaut) <footer>
<p> Copyright Zozor - Tous droits réservés <br/> la largeur
• top : aligne en haut <a href="nomPrenom@[Link]"> Me contacter ! </a> </p>
</footer>
• middle : aligne au milieu </body>
• bottom : aligne en bas 138 </html> 139
73 74
Il faut donc utiliser la propriété position et au moins une des 4 propriétés ci-
dessus (top, left, right ou bottom).
75 76
19