Introduction au CSS pour débutants
Introduction au CSS pour débutants
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
1 Introduction1
CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui sert à décrire
la présentation des documents HTML et XML. Les standards définissant CSS sont publiés par le World
Wide Web Consortium (W3C). Introduit au milieu des années 1990, CSS devient couramment utilisé dans
la conception de sites web et bien pris en charge par les navigateurs web dans les années 2000.
1.1 Principe
Il s'agit d'apporter un peu de style aux pages web que nous allons créer. En effet, ce langage permet de
gérer par exemple la couleur du texte ou du fond, la taille ou la police du texte, les images etc.
Pour cela il faut ajouter du code CSS à la page HTML. Trois solutions s'offrent à nous :
• dans un fichier .css (le moyen le plus recommandé)
• dans l'en-tête du fichier HTML, entre les balises <head></head>
• dans les balises (a éviter absolument !!!)
<!DOCTYPE html>
<head>
<title>Exemple d'utilisation de CSS externe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design"
href="[Link]" />
</head>
<body>
<p>Cette page comporte une feuille de style externe. C'est la meilleure méthode
à utiliser quand on fait du CSS.</p>
</body>
</html>
La commande pour joindre une feuille de style à un fichier html se présente de cette façon :
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="[Link]"
/>
1
[Link]
CSS 1 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
1.5 Exemple
Dans le fichier html [Link] :
<!DOCTYPE html>
<head>
<title>Exemple d'utilisation de CSS externe</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="style"
href="[Link]" />
</head>
<body>
<h1>Ceci est un titre</h1>
<p>Cette page comporte une feuille de style externe. C'est la meilleure
méthode à utiliser quand on fait du CSS.</p>
<blockquote>
Cher internaute,<br/>Vous venez de recevoir un virus informatique.
Comme nous ne sommes pas très avancés technologiquement, ceci est un virus
manuel. S'il vous plaît, effacez tous les fichiers de votre disque dur et
envoyez ce message à tous ceux que vous connaissez.
Merci de votre aide.
</blockquote>
</body>
</html>
h1
{
font-family : arial; /*defini la police de carctères*/
color : #999999; /*defini la couleur du texte*/
font-size : x-large; /*define la taille de la police*/
text-align : center; /*indique l'alignement du texte*/
}
p
{
font-family : arial ;
color : gray;
font-size : medium;
text-align : justify;
}
blockquote
{
border-color : silver; /* trace une bordure grise */
border-style : solid; /* la bordure sera tracée avec un trait continu */
border-width : 2px; /*la bordure fera 2 pixels de large*/
font-family : vernada;
font-size : medium ;
font-style : italic ;
}
CSS 2 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
Dans le fichier css, chaque balise est répertoriée et son format est précisé. Tous les paramètres d'une
page simple peuvent être mis en place de cette façon.
<p id="intro">ceci est une introduction et je ne veux pas le même style que dans mon
paragraphe</p>
Dans le .css :
#intro
{
text-align : center;
}
En utilisant l'attribut id, nous donnons un identifiant unique à la balise. Dans le css, nous pourrons faire
un style juste pour cette balise. Par contre, je ne peux l'utiliser qu'une fois sur la page.
Dans le cas ou nous avons plusieurs composants identiques (cas des menus par exemple), il n'est plus
possible d'utiliser l'attribut id. Il faudra utiliser l'attribut class. Par exemple :
Dans le .html :
<p class="menu">
<ul>
<li>lien1</li>
<li>lien2</li>
</ul></p>
Dans le .css :
.menu
{
text-align : left;
}
Il est alors possible de formater des listes ou des menus de la même manière. Vous noterez que l'attribut
class est appelé par un point dans le css et que l'attribut id est appelé par un dièse.
CSS 3 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
Pixels, px
Certaines dimensions parlent mieux que d'autres ! Ainsi, l'em ne vous dira sans doute rien alors que les
pixels sont plus courants. Cela dit, ce n'est pas parce que c'est plus courant que c'est bien. Je vous
rappelle qu'un site doit être lisible sur plusieurs supports. Il semble donc compromis de mettre un titre de
page en 32px, sinon sur mon téléphone, je ne verrai que le titre et point le reste. Dommage !
La taille en px est donc à éviter si possible.
La taille relative
C'est très simple :
• xx-small : minuscule
• x-small : très petit
• small : petit
• medium : moyen
• large : grand
• x-large : très grand
• xx-large : gigantesque
Le pourcentage %
Encore aussi simple ! 100% c'est la taille normale, donc 70% c'est plus petit, et 150% c'est beaucoup
plus gros !!
Les em
C'est comme le pourcentage, 1em c'est la taille normale, 1.3em c'est plus gros etc.
3.2 Polices
Là encore attention à l'accessibilité. Les polices exotiques ne sont pas utilisables car présentes sur trop
peu d'ordinateurs. Nous pourrons utiliser à volonté :
• Texte en Arial
• Texte en Arial Black
• Texte en Comic Sans MS
• Texte en Courier New
• Texte en Georgia
• Texte en Impact
• Texte en Times New Roman
• Texte en Trebuchet MS
• Texte en Verdana
Dans le style nous préciserons plusieurs polices au cas ou celle que nous avons choisi ne soit pas
disponible :
font-family : "bookman old style", arial, Georgia, verdana;
Si le surfeur n'a pas la police bookman old style, son navigateur prendra la suivante, soit arial.
3.3 Alignement
Les alignements classiques sont : gauche, droite, centré, justifié. (left, right, center, justify)
Justifié est très répandu du fait qu'il démarque bien les bords de page.
CSS 4 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
On peut modifier la largeur et la hauteur d'un bloc. En ajoutant dans le css les attributs suivants :
• height : hauteur; /*en px, en em, en %, en ex*/
• width : largeur; /*en px, en em, en %, en ex*/
Le centrage dans la page ou par rapport aux autres éléments se fera avec les attributs
• margin : marge_exterieure; /*en px, en em, en %, en ex*/
• padding : marge_interieure; /*en px, en em, en %, en ex*/
Avec ces attributs nous pouvons mettre en forme un bloc facilement. Il suffira de lui donner une largeur
et des marges identiques de chaque côtés pour le centrer sur la page. Par exemple :
p
{
width : 50%;
margin-left : auto;
margin-right : auto;
}
Cela produira l'affichage du bloc en plein centre de l'écran. Celui-ci prendra la moitié de la taille du
navigateur.
L'utilisation d'un jeu de balises génériques devient nécessaire. Elles sont génériques car elles n'ont pas
de sens particulier dans le navigateur. Autant le navigateur sait ce qu'est un titre ou un commentaire,
autant une balise générique ne correspond à rien de particulier. Pourtant elles permettent de créer des
blocs ou des lignes que nous pourrons placer où nous voulons !
Le flottant :
Le texte va entourer le bloc. Idéal si on veut insérer une lettrine ou une image dans le texte. Cela se
présente de cette façon :
p
{
float : left; /* ou right ou none*/
}
Dans ce cas le texte prendra la hauteur du bloc qui sera placé à gauche.
CSS 5 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
L'absolu
Le positionnement absolu pourrait être sympathique si il était davantage compatible avec IE<7. Il permet
de positionner un élément par rapport à la fenêtre du navigateur.
CSS :
.decalage1 {
position:absolute;
border:2px solid black;
left:10px;top:10px;
width:150px;height:200px;
}
.decalage2 {
position:absolute;
border:1px solid red;
left:20px;
top:20px;
width:100px;height:100px;
}
HTML :
<div class="decalage1">
<div class="decalage2">
texte
</div>
</div>
Le fixé :
On peut définir les coordonnées d'un bloc par rapport au coin haut gauche du navigateur et fixer les blocs.
Encore une fois cela ne marche pas très bien avec IE<7.
CSS : HTML :
.bloc_fixe { <div class="bloc_fixe">
position:fixed; Texte du bloc fixe.
border:solid 1px; </div>
width:100px; <div class="bloc_variable">
top:10px; Texte du bloc variable.
left:10px; </div>
bottom:10px;
}
.bloc_variable {
position:fixed;
border:solid 1px;
top:10px;
left:120px;
bottom:10px;
right:10px;
}
Le relatif
Cette fois on donne la position par rapport à l'endroit d'origine du bloc. Ainsi on peut positionner le bloc
où l'on veut.
CSS : HTML :
.jaune { <p>Lorem
position: relative; <span class="jaune">boîte en
bottom: 5px; position relative</span>
left: 3em; ipsum dolor.</p>
background-color: #ffff00;
}
CSS 6 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
Qu'est-ce que le formatage de texte ? C'est tout ce qui consiste à mettre en forme le texte : mettre en
gras, italique, souligné, changer la police, l'alignement etc...
Utilisez des guillemets si le nom de la police comporte des espaces. Essayez de toujours
mettre comme dernière police possible "serif" ou "sans-serif".
1 font-family: "Arial Black", Arial, Verdana, serif;
• px (pixels)
• % (pourcentage, 100% = normal)
• em (taille relative, 1.0 = normal)
• ex (taille relative à la hauteur de la lettre "x". 1.0 = normal)
• nom de taille :
Taille du texte font-size o xx-small : très très petit
o x-small : très petit
o small : petit
o medium : moyen
o large : grand
o x-large : très grand
o xx-large : très très grand
bold : gras
font-weight bolder : plus gras
Gras
lighter : plus fin
normal : pas gras (par défaut)
italic : italique
Italique font-style oblique : autre façon de mettre en italique
normal : normal (par défaut)
underline : souligné
overline : ligne au-dessus
text-
Décoration decoration line-through : barré
blink : clignotant
none : normal (par défaut)
font-variant small-caps : petites capitales
Petites capitales
normal : normal (par défaut)
text- uppercase : tout mettre en majuscules
Capitales transform lowercase : tout mettre en minuscules
2
[Link]
CSS 7 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
Attention exception : le nom de la police (font-family) doit être placé en dernier dans la
Méga-propriété font liste dans tous les cas.
de police Vous n'êtes pas obligés de mettre une valeur de chacune de ces propriétés.
1 font: bold, 16px, Arial;
5.2 Alignement
text-indent
Indiquez une valeur en pixels (px) pour définir l'alinéa de vos paragraphes.
Alinéa
Vos paragraphes commenceront avec le retrait que vous avez indiqué.
normal : le passage à la ligne est automatique (par défaut)
nowrap : pas de passage à la ligne automatique, à moins qu'une balise xHTML
Césure white-space comme <br /> ne soit présente.
pre : le passage à la ligne se fait tel que le texte a été saisi dans le code source
(comme la balise xHTML <pre>)
Couleur de fond background-color Même fonctionnement que color. Cela définit cette fois la couleur de fond du texte
CSS 8 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
width
Valeur en px, %, ou encore "auto" (valeur par défaut, la largeur dépendra du texte à
Largeur
l'intérieur)
Hauteur height Idem
Largeur minimale min-width Indiquer une valeur, en pixels par exemple.
Largeur max-width Idem
maximale
min-
Hauteur minimale height Idem
CSS 9 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
CSS 10 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
7.4 Bordures
Type Propriété Valeurs possibles
Epaisseur de la bordure border-width Indiquer une valeur en px.
Couleur de la bordure border-color Indiquer une valeur de couleur.
none : pas de bordure (par défaut)
hidden : bordure cachée
solid : ligne pleine
double : ligne double (nécessite une taille de bordure de 3px minimum)
Type de bordure border-style dashed : en tirets
dotted : en pointillés
inset : effet 3D "enfoncé"
outset : effet 3D "surélevé"
ridge : autre effet 3D
Indiquer la couleur, l'épaisseur et le type de bordure pour la bordure gauche.
L'ordre n'a pas d'importance. Exemple :
Bordure à gauche border-left
border-left: 2px inset blue; /* Bordure bleue de 2px avec effet 3D
1
"enfoncé" */
Méga-propriété de border Indiquera l'apparence des bordures en haut, à droite, en bas et à gauche.
bordure
CSS 11 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
CSS 12 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
empty-cells
show : les bordures des cellules vides sont affichées.
Cellules vides
collapse : les cellules vides sont masquées (par défaut).
Indique la position du titre du tableau, défini via la balise <caption>
CSS 13 / 14
CIEL
Cours
Langages HTML+CSS
HTML+CSS
PART 2
Informatique pour les Réseaux et Systèmes Techniques
CSS 14 / 14