03 Css
03 Css
<p>
<font face="Arial">Slashdot.</font>
News for <b>nerds!!</b> You will <i>never</i>, <u>EVER</u>
be <font size="+4" color="red">BORED</font> here!
</p> HTML5
selector {
property: value;
property: value;
...
property: value;
} syntaxe de CSS3
p {
font-family: sans-serif;
color: red;
} CSS
Une page peut avoir plusieurs liens vers des fichiers de style
différents.
En cas de conflit (deux fichiers définissent un style pour le même
élément de HTML), les propriétés du dernier fichier seront utilisées.
Intégration de feuilles de style dans un
document HTML : balise <style>
6
<head>
<style type="text/css">
p { font-family: sans-serif; color: red; }
h2 { background-color: yellow; }
</style>
</head>
HTML5
Le code CSS peut être intégré dans l’en-tête d'une page HTML.
Mauvais style et doit être évité si possible.
L’attribut de style
7
This is a paragraph
output
p {
color: red;
background-color: yellow;
}
CSS
Propriété : Description :
color couleur du texte de l'élément
couleur qui apparaîtra derrière
background-color
l'élément
Définition des couleurs
9
p { color: red; }
h2 { color: rgb(128, 0, 196); }
h4 { color: #FF8800; }
CSS
Les noms de couleurs : aqua, black, blue, fuchsia, gray, green, lime,
maroon, navy, olive, purple, red, silver, teal, white (white), yellow.
Les codes RGB : red, green, blue : les valeurs de 0 à 255.
Les codes hexadécimaux : valeurs RGB de 00 (0) à FF (255).
Regroupement de styles
10
p, h1, h2 {
color: green;
}
h2 {
background-color: yellow;
} CSS
/* This is a comment.
It can span many lines in the CSS file. */
p {
color: red; background-color: aqua;
} CSS
Propriété : Description :
font-family la police qui sera utilisée
font-size la taille des lettres
utilisé pour activer / désactiver le
font-style
style italique
utilisé pour activer / désactiver le
font-weight
style gras
p {
font-family: Georgia;
}
h2 {
font-family: "Courier New";
} CSS
p {
font-family: Garamond, "Times New Roman", serif;
} CSS
p {
font-size: 24pt;
} CSS
p {
font-size: 24pt;
} CSS
p {
font-weight: bold;
font-style: italic;
} CSS
Propriété : Description :
text-align alignement du texte dans son élément
décoration du texte telle que texte
text-decoration
souligné
line-height,
les écarts entre les différentes parties
word-spacing,
du texte
letter-spacing
indente la première lettre de chaque
text-indent
paragraphe
We wants it, we needs it. Must have the precious. They stole it from us.
Sneaky little hobbitses. Wicked, tricksy, false!
output
p {
text-decoration: underline;
} CSS
ol { list-style-type: lower-roman; }
CSS
Les valeurs possibles :
i. none : aucun marqueur
ii. disc (défaut), circle, square
iii. decimal: 1, 2, 3, etc.
iv. decimal-leading-zero: 01, 02, 03, etc.
v. lower-roman: i, ii, iii, iv, v, etc.
vi. upper-roman: I, II, III, IV, V, etc.
vii. lower-alpha: a, b, c, d, e, etc.
viii. upper-alpha: A, B, C, D, E, etc.
x. lower-greek: alpha, beta, gamma, etc.
autres : hebrew, armenian, georgian, cjk-ideographic, hiragana…
Styles de <body>
22
body {
font-size: 16px;
}
CSS
This is a heading
A styled paragraph. Previous slides are available on the website.
• A bulleted list output
Lorsque plusieurs styles s'appliquent à un élément, ils sont
hérités.
Une règle correspondant plus étroitement à un élément HTML
peut remplacer une règle héritée (et donc plus générale).
Styles qui entrent en conflit
25
<p>
<a href="http://jigsaw.w3.org/css-validator/check/referer">
<img src="http://jigsaw.w3.org/css-validator/images/vcss"
alt="Valid CSS!" /></a>
</p> CSS
output
jigsaw.w3.org/css-validator/
Vérifie votre CSS pour s'assurer qu'il répond aux spécifications
officielles CSS.
CSS : propriétés pour les fonds
27
Propriété : Description :
background-color couleur de remplissage de fond
background-image l'image à placer en arrière-plan
placement image de fond dans
background-position
l'élément
comment l'image d'arrière-plan doit
background-repeat
être répétées
background-attachment si l'image de fond défile avec la page
raccourci pour définir toutes les
background
propriétés de fond
background-image
28
body {
background-image: url("images/draft.jpg");
}
CSS
body {
background-image: url("images/draft.jpg");
background-repeat: repeat-x;
}
CSS
body {
background-image: url("images/draft.jpg");
background-repeat: no-repeat;
background-position: 370px 20px;
} CSS
A la fin du lien nous pouvons inclure l’ID d’un élément HTML, qui
doit être précédé par #.
Le navigateur va charger cette page et faire défiler jusqu'à
l'élément avec l'ID donné.
CSS : sélecteurs d’ID
35
#mission {
font-style: italic;
font-family: "Garamond", "Century Gothic", serif;
} CSS
.special {
background-color: yellow;
font-weight: bold;
}
p.shout {
color: red;
font-family: cursive;
} CSS
Today only!
CS380
output
CSS : sélecteurs spéciaux d’ID (1/2)
38
Classe : Description :
:active un élément sélectionné ou activé
:focus un élément qui a le focus du clavier
:hover un élément qui a la souris dessus
:link une liaison qui n'a pas été visitée
:visited un lien qui a déjà été visité
la première lettre du texte à l'intérieur
:first-letter
d'un élément
la première ligne de texte à l'intérieur
:first-line
d'un élément
un élément qui est le premier à
:first-child
apparaître dans un autre
40 Style de sections d’une page Web
Pourquoi avons-nous besoin de sections
de page ?
41
<div class="shout">
<h2>Coding Horror! Coding Horror!</h2>
<p class="special">See our special deal on Droids!</p>
<p>We'll beat any advertised price!</p>
</div> HTML
La balise <div> est utilisée pour indiquer une section logique ou une zone
d'une page.
La balise <div> n'a pas d'apparence par défaut, mais vous pouvez lui
appliquer des styles.
Autres sections : balise <span>
43
selector1 selector2 {
properties
} CSS
Les propriétés sont appliquées à sélecteur 2 que si elles sont à
l'intérieur d'un sélecteur 1 sur la page Web.
<div id="ad">
<p>Eat at <strong>Greasy's Burger</strong>...</p>
<ul>
<li class="important">
The <strong>greasiest</strong> burgers in town!
</li>
<li>
Yummy and <strong>greasy at the same time </strong>!
</li>
</ul>
</div> HTML
largeur =
largeur du contenu +
rembourrage gauche et droit +
bordure gauche et droite +
marge gauche et droite
hauteur =
hauteur du contenu +
rembourrage haut et bas +
bordure haute et basse +
marge haute et basse
Document HTML : éléments de bloc
49
Document HTML : éléments de ligne
50
Document HTML : exemple
51
CSS : propriétés pour les bordures (1/2)
52
This is a heading.
output
Propriété : Description :
épaisseur / style / taille de la
border
bordure sur les 4 côtés
Propriété : Description :
border-color, border-width, propriétés spécifiques de bordure sur
border-style les 4 côtés
border-bottom, border-left, toutes les propriétés de bordure sur un
border-right, border-top côté particulier
border-bottom-color, border-bottom-
style,
border-bottom-width, border-left-
color, propriétés de bordure sur un côté
border-left-style, border-left-width, particulier
border-right-color, border-right-style,
border-right-width, border-top-color,
border-top-style, border-top-width
Liste complète des propriétés de bordure :
http://www.w3schools.com/css/css_reference.asp#border
Bordure : exemple
54
h2 {
border-left: thick dotted #CC0088;
border-bottom-color: rgb(0, 128, 128);
border-bottom-style: double;
}
CSS
This is a heading.
output
Propriété : Description :
padding rembourrage sur les 4 côtés
padding-bottom rembourrage sur le côté inférieur uniquement
padding-left rembourrage sur le côté gauche uniquement
padding-right rembourrage sur le côté droit uniquement
padding-top rembourrage sur le dessus uniquement
Liste complète des propriétés de rembourrage :
http://www.w3schools.com/css/css_reference.asp#padding
Rembourrage : exemple (1/2)
56
CSS
This is a heading
output
Rembourrage : exemple (2/2)
57
p {
padding-left: 200px; padding-top: 30px;
background-color: fuchsia;
} CSS
output
Propriété : Description :
margin marge sur les 4 côtés
margin-bottom marge sur le côté inférieur uniquement
margin-left marge sur le côté gauche uniquement
margin-right marge sur le côté droit uniquement
margin-top marge sur le dessus uniquement
Liste complète des propriétés de marge :
http://www.w3schools.com/css/css_reference.asp#margin
Marge : exemple (1/2)
59
p {
margin: 50px;
background-color: fuchsia;
} CSS
p {
margin-left: 8em;
background-color: fuchsia;
} CSS
An h2 heading
output
Propriété : Description :
largeur et hauteur de l’élément
width, height (uniquement pour les éléments de
bloc)
max-width, max-height, la taille maximale/minimale de cet
min-width, min-height élément dans la dimension donnée.
Centrer un élément de bloc :
les marges automatiques
62
p {
margin-left: auto;
margin-right: auto;
width: 750px;
} CSS
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.
output
img.headericon {
float: right; width: 130px;
} CSS
output
Propriété : Description :
Les valeurs possibles : left, right, none
float
(par défaut)
Eléments flottants : diagramme
65
Erreur générale : absence de largeur
66
p { background-color: fuchsia; }
h2 { clear: right; background-color: yellow; }
CSS
Mario
Mario isis aa fictional
fictional character
character in
in his
his video
video game
game series.
series.
Serving
Serving asas Nintendo's
Nintendo's mascot
mascot and
and the
the main
main protagonist
protagonist of
of
thethe series,
series, Mario
Mario hashas appeared
appeared in in over
over 200
200 video
video games
games since
since his his creation.
creation
Propriété : Description :
Empêche les autres éléments de
chevaucher cet élément flottant.
clear
Les valeurs possibles : left, right, none
(par défaut).
Propriété clear : diagramme
69
output
Propriété overflow (1/2)
71
output
Propriété overflow (2/2)
72
Propriété : Description :
Précise ce qu'il faut faire si le contenu
d'un élément est trop grand.
overflow
Les valeurs possibles : auto, visible,
hidden, scroll
Mises en page multi-colonnes
73
<div>
<p>first paragraph</p>
<p>second paragraph</p>
<p>third paragraph</p>
Some other text that is important
</div> HTML
p { float: right; width: 25%; margin: 0.5em;
border: 2px solid black; }
div { border: 3px dotted green; overflow: hidden; }
CSS
output
74 Dimension et position
Propriété position
75
div#ad {
position: fixed;
right: 10%;
top: 45%;
} CSS
#sidebar {
position: absolute;
left: 400px;
top: 50px;
} CSS
L’élément est :
retiré du flux normal,
positionné par rapport à l'élément de bloc
contenant cet élément.
La position courante est déterminée par
top, bottom, left, right
Pour garantir le bon fonctionnement, nous
devons spécifier la valeur pour la propriété
width.
Position relative
77
Propriétés ignorées :
width, height, min-width, etc.
margin-top, margin-bottom
Propriétés non ignorées :
margin-left, margin-right
La propriété text-align de l’élément de bloc contenant une
boîte de ligne permet de positionner cette boîte à l’intérieur de
l’élément.
La propriété vertical-align de la boîte de ligne permet
d’aligner cette boîte verticalement dans l’élément de bloc
contenant cette boîte.
Propriété vertical-align
81
Propriété : Description :
précise où un élément de ligne doit
être aligné, par rapport à d'autres
vertical-align
contenus sur la même ligne dans la
boîte de son élément de bloc
Les valeurs possibles :
top, middle, bottom, baseline (par défaut), sub, super, text-
top, text-bottom,
une valeur de la longueur
pourcentage
Remarque :
baseline : il faut aligner avec le bas des lettres
non-suspendues
Propriété vertical-align: exemple
82
output
Propriété : Description :
définit le type de modèle de boîte CSS d'un
display
élément HTML
p.secret {
display: hidden;
} CSS
output
Les éléments cachés prennent de l'espace sur l'écran, mais ils ne sont pas
affichés.
Si vous souhaitez ne pas avoir de blanc sur l’écran, il faut réglé la propriété
« display » à « none ».
Cette propriété peut être utilisée pour afficher/masquer le contenu de la
page HTML dynamique.
Propriété display (3/3)
86
<ul id="topmenu">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul> HTML
#topmenu li {
display: inline;
border: 2px solid gray;
margin-right: 1em;
} CSS
output
Les listes et d'autres éléments de bloc peuvent être affichés comme les
éléments de ligne.
Leur largeur est déterminée par le contenu.