Académique Documents
Professionnel Documents
Culture Documents
CSS
# Cascading Style Sheet - Feuille de style en cascade
# Complément à HTML
# 1998 : CSS2
# 2007 : CSS3
Inclure feuille de style
# Instruction CSS à l’intérieur des balises HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="chemin_vers_fichier_css.css" />
</head>
<body>
…
</body>
</html>
Feuille de style externe
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href=« main.css» />
<link rel="stylesheet" href=« style/main2.css» />
<link rel="stylesheet" href=« .. /css/main3.css» />
</head>
<body>
…
</body>
</html>
Le langage css
selecteur{
propriete1: valeur1;
…
proprieteN: valeurN;
}
selecteur1 {
propriete1: valeur1; /* commentaire */
…
proprieteN: valeurN;
}
selecteurN {
propriete1: valeur1;
…
proprieteN: valeurN;
}
Commentaire
selecteur1 {
propriete1: valeur1;
…
/* proprieteN: valeurN; */
/* a tester */
}
selecteurN {
propriete1: valeur1;
…
proprieteN: valeurN;
}
LES SELECTEURS
Sélecteur
# Sélecteur d’élément
# Sélecteur de classe
# Sélecteur d’identificateur
# Sélecteur descendant
# …
Sélecteur d’élément
# Permet de cibler un type d’élément (p, div, body, img …)
nom_balise {
propriete1: valeur1;
…
proprieteN: valeurN;
}
div{
…
p { }
color: blue
margin: 0; tr{
} …
}
Sélecteur de classe
# Il cible les éléments en fonction de la valeur de l’attribut class
.nom_classe {
propriete1: valeur1;
…
proprieteN: valeurN;
}
<div class="red">
… .green{
</div> Div{ }
<div class="green">
… } .red{
</div> }
<div class="red big">
…
</div>
<p class="red">
…
</p>
<h1 class="green big">
…
</h1>
Sélecteur de classe
# L’attribut class
<nom_de_la_balise class="nom_classe">
nom_balise.nom_classe {
propriete1: valeur1;
…
proprieteN: valeurN;
}
p.green {
color: green
}
#identificateur_unique {
propriete1: valeur1;
…
proprieteN: valeurN;
}
Sélecteur d’identifiant
# L’attribut id
<nom_de_la_balise id="identifiant_unique">
Sélecteur d’identifiant
# Il cible les éléments en fonction de la valeur de l’attribut class
selecteur1 selecteur2{
propriete1: valeur1;
…
proprieteN: valeurN;
}
Sélecteur descendant
# Il est construit avec 2 (ou plus) sélecteurs séparé par un espace
PAGE HTML
FICHIER CSS
Body
<body>
<p> … </p> div p {
P propriete2: valeur2;
Div }
<div>
<section> <p> … </p> </
Section p{
section>
<p> … </p> }P
Span
</div>
</body> div > p {
P }
Sélecteur descendant direct
# Il cible les enfants du 1er sélecteur
PAGE HTML
FICHIER CSS
<p> … </p> p{
propriete1: valeur1;
<div> }
<section>
<p> … </p> div > p {
</section> propriete2: valeur2;
<p> … </p> }
</div>
Sélecteur universel
# Le sélecteur universel est caractérisé par une étoile : *
*{
margin: 0;
}
Sélecteur d’attribut/ valeur d’attribut
# Il cible les éléments en fonction de la présence d’attributs et/ou de
leurs valeurs
element[attribut]{
…
}
[attribut]{
…
}
element[attribut=valeur]{
…
}
[attribut=valeur]{
…
}
Sélecteur d’attribut
# Il cible les éléments en fonction de la présence d’attributs et/ou de
leurs valeurs
h2[lang]{…} /* cible tous les h2 ayant l’attribut lang */
[href="google.com"]
Le sélecteur suivant +
# Sélectionner l’élément suivant un élément ( frère)
p+span {
color: red;
}
Le sélecteur ~
# Sélectionner les nœuds qui suivent un élément et qui ont le même
parent.
p~span {
color: red;
}
cibler les éléments <span> qui suivent un élément <p> et qui ont le même élément parent.
PSEUDO-CLASSE
Pseudo-classe
# Mot-clé qui est ajouté à un sélecteur
# Indique l'état spécifique dans lequel l'élément doit être pour être
ciblé
element:pseudo-classe{
propriete1: valeur1;
…
proprieteN: valeurN;
}
Pseudo-classe
# active : cible un élément lorsque celui-ci est activé par l’utilisateur.
p:active{
background-color: yellow;
}
p:not(.p_green) {
color: blue;
}
div:hover {
background-color: pink;
}
Pseudo-classe
# link :Sélectionner tout lien n'ayant pas été visité, même ceux qui
seraient déjà mis en forme via des sélecteurs utilisant d'autres
pseudo-classes
p:not(.p_green) {
color: blue;
}
p:not(:hover) { .p_green:not(p) {
color: blue; color: red;
} }
Cibler les p non survolés tous les éléments qui ont la classe p_green mais qui ne sont pas des pp>
Pseudo-classes
# :first-child
# cibler un élément qui est le premier élément fils par rapport à son
élément parent
<div>
<p>Ce paragraphe est mis en forme car c'est un élément
p ET que c'est le premier fils de l'élément div.</p>
p:first-child {
<p>En revanche, ce paragraphe n'est pas mis en forme
color: red;
car ce n'est pas le premier !</p>
}
</div>
<div>
<h2>Ce titre h2 n'est pas mis en forme car ce n'est pas
un paragraphe.</h2>
<p>Et ce paragraphe n'est pas mis en forme car ce n'est pas
le premier fils !</p>
</div>
Pseudo-classes
# :last-child
# nth-child(an+b)
# cibler les éléments fils d'un élément dont les positions correspondent au motif an+b.
# :nth-child(3n) multiple de 3
# Syntaxe
a::after {
content: "! ";
}
Grouper les sélecteurs
# les lister et les séparer par une virgule
#id_h1 {
color: peru;
} #id_h1,#id_h2 {
color: peru;
#id_h2 { }
color: peru;
}
#id_h1,
#id_h2, .p_22 , div{
color: peru;
}
RÈGLES CONTRADICTOIRES
Règles contradictoires
# L’ordre d'apparition des règles dans le CSS a une importance ;
quand deux règles applicables ont la même spécificité, c'est la
dernière déclarée qui sera utilisée pour la mise en forme.
Spécificité
# Quand des règles avec des sélecteurs différents s'appliquent sur un même élément, le navigateur
choisit la règle qui a la plus grande spécificité.
# Un sélecteur d'élément est peu spécifique — il cible tous les éléments d'un type donné dans la page —
son score est donc faible ;
# Un sélecteur de classe est plus spécifique — dans la page, il ne cible que les éléments dont l'attribut
class a la valeur choisie — son score est plus important.
# Un sélecteur d’identifiant est encore plus spécifique, son score est plus important
.main-heading {
<h1 class="main-heading" id="mon_titre" >This is my heading.</h1>
color: red;
}
#montitre {
color: green;
}
h1 {
color: blue;
}
Héritage
# Certaines valeurs pour une propriété CSS se transmettent des éléments
parents vers leurs enfants
# Color
# width
Feuille de style externe
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href=« bootstrap.css» />
<link rel="stylesheet" href=« style/main2.css» />
<link rel="stylesheet" href=« .. /css/main3.css» />
</head>
<body>
</body>
</html>
STYLE DU TEXTE
Style du texte
# Police de caractères
selecteur{
font-family: nom_de_la_police;
}
selecteur{
font-family: nom_de_la_police, nom_de_la_police2, nom_de_la_police3;
} /* navigateur test nom_de_la_police s’il ne la trouve pas test
nom_de_la_police2 s’il ne la trouve pas nom_de_la_police3*/
selecteur{
font-family: Arial, Verdana, "Arial Black";
}
selecteur{
font-size: chiffre Unité;
}
Les unités seront abordées dans un autre chapitre
p{
font-size: 16px;
}
div p{
font-size: 110%;
}
Style du texte
# Taille des polices
selecteur{
font-size: xx-small | x-small | small
| medium | large | x-large | xx-large;
}
Les unités seront abordées dans un autre chapitre
p{
font-size: large;
}
div p{
font-size: xx-small;
}
Style du texte
# Graisse du texte (caractère maigre (100) ou gras (900) )
selecteur{
font-weight: normal | bold | bolder | lighter | 100 |
200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit ;
}
p{
font-weight: bold;
}/*mettre en gras*/
Style du texte
# Style des police
selecteur{
font-style: normal | italic | oblique ;
}
p{
font-style: italic;
}
div p{
font-style: normal;
}
Style du texte
# Souligner
selecteur{
text-decoration: underline | line-through ( barré) |
overline (ligne au-dessus)| blink (clignotant) | none ;
}
p{
text-decoration: underline;
}
selecteur{
text-align: left | center | right | justify
(prend toute la largeur possible);
}
p{
text-align: left;
}
selecteur{
font-variant: normal | small-caps ;
}
p{
font-variant: small-caps;
}
Style du texte
# Font : syntaxe raccourcie
selecteur{
font: font-style font-variant font-weight font-size font-family;
}
p{
font: underline small-caps 12px ;
}
div{ div{
font: 12px Arial; <==>
font-size: 12px;
font-family: Arial;
} }
Les valeurs pour font-style, font-variant et font-weight doivent précéder la valeur pour font-size
COULEUR ET ARRIÈRE-PLAN
Couleurs
# http://www.css-faciles.com/couleurs-css.php
XX : quantité de rouge
YY : quantité de vert
ZZ : quantité de bleu
X : quantité de rouge
Y : quantité de vert
Z : quantité de bleu
Couleurs
# Couleur du texte
selecteur{
color: couleur ;
}
Les couleurs seront abordées dans un autre chapitre
p{
color: red;
}
div p{
color: #997766;
}
background-color
# Couleur utilisée pour l'arrière-plan d'un élément
selecteur{
background-color: couleur ;
}
Les couleurs seront abordées dans un autre chapitre
p{
background-color: yellow;
}
div p{
background-color: #FFFFFF;
}
h1{
background-color: rgb(22,44,6);
}
background-image
# définir une ou plusieurs images comme arrière(s)-plan(s) pour un élément
selecteur{
background-image: url(chemin d’accès à l’image) ;
}
p{
background-image: url(ecole.jpg);
}
Div.box{
background-image: url("ecole.jpg"), url("ecole2.jpg");
}
background-repeat
# définit la façon dont les images utilisées en arrière-plan sont
répétées.
selecteur{
background-repeat: repeat-x | repeat-y | repeat | no-repeat ;
}
p{
background-image: url(ecole.jpg);
background-repeat: repeat-x;
}
repeat repeat-x
background-position
# la position initiale, relative à l'origine définie par background-origin,
pour chaque image d'arrière-plan.
selecteur{
background-position: left | right | center | top | bottom;
background-position: valeur_numerique_abscisse valeur_numerique_ordonnee ;
p{
background-image: url(ecole.jpg);
background-repeat: repeat-x;
background-position: center;
}
div{
background-position: 10px 30px;
}
background-size
# Taille de l’image par rapport à son conteneur
# Définit la taille des images d'arrière-plan pour l'élément. La taille de l'image peut être
contrainte, complètement ou partiellement afin de conserver ses proportions.
selecteur{
background-size: valeur | cover | contain ;
}
p{
background-image: url(ecole.jpg);
background-size: 20%;
}
Cover : l'image est redimensionnée pour être aussi grande que possible et pour conserver ses proportions.
L'image couvre toute la largeur ou la hauteur du conteneur et les parties qui dépassent sont rognées si les
proportions du conteneur sont différentes
Contain : Redimensionne l'image afin qu'elle soit la plus grande possible et que l'image conserve ses
proportions. L'image est contrainte dans le conteneur. Les zones éventuellement vide sont remplies avec la
couleur d'arrière-plan
BORDURES ET OMBRES
border:
# Une propriété raccourcie qui permet de définir les propriétés
liées à la bordure
selecteur{
border: largeur couleur type_de_bordure;
}
p{
border: 1px green solid;
}
Type de bordure : none | solid ( trait simple) | dotted ( pointillé) | dashed ( tirets) | double (bordure double) | …
border-
selecteur{
border-top: largeur couleur type_de_bordure;
border-bottom: largeur couleur type_de_bordure;
border-left: largeur couleur type_de_bordure;
border-right: largeur couleur type_de_bordure;
}
p{
border-top: 1px green solid;
}
border-radius
# Bordure arrondie
selecteur{
border-radius: taille;
border-radius: taille1 (en haut à gauche) taille2 (en haut à
droite) taille3 (en bas à droite) taille4 (en bas à gauche);
}
p{
border-radius: 10px;
border-radius: 10px 2px 70px 8px;
}
opacity
# Degré de visibilité de l'arrière-plan sur lequel est placé l'élément
selecteur{
opacity: valeur;
}
p{
opacity: 0.6;
}
selecteur{
box-shadow: decalage-horizontal decalage-vertical taille-flou couleur-ombre;
}
p{
box-shadow: 10px 5px 5px red;
}
Ombre
# Ombres du texte
selecteur{
selecteur{
text-shadow: decallage-horizontal decallage-
text-shadow: decalage-horizontal decalage-vertical taille-flou couleur-ombre;
vertical adoussissement-degradé couleur-ombre;
}
}
p{
text-shadow: #FC0 1px 0 10px;
}
LISTE
Liste
# Définir l'apparence de la puce d'un élément de liste :
ul{
list-style: ‘chaine de caractère’ | disc | circle | square | decimal | …
;
}
ul{
List-style: square;
}
https://developer.mozilla.org/fr/docs/Web/CSS/list-style-type
Liste
# Définir l'apparence de la puce d'un élément de liste :
ul{
list-style-type: ‘chaine de caractère’ | disc | circle | square | decimal | …
;
}
ul{
list-style-type: square;
}
https://developer.mozilla.org/fr/docs/Web/CSS/list-style-type
TABLEAU
Tableau
# Fusion des bordures interne
table{
border-collapse: collapse;
}
Tableau
# Déplacer le caption
selecteur{
caption-side: bottom | top ;
}
table{
caption-side: bottom;
}
https://developer.mozilla.org/fr/docs/Web/CSS/caption-side
MODÈLE DE BOÎTE
Modèle de boîte
# Permet la mise en page sur le Web
selecteur{
width: valeur ;
}
div{
width: 100px;
}
Hauteur
# La propriété height définit la hauteur de la boîte de contenu d'un
élément.
selecteur{
height: valeur ;
div{
height: 100px;
}
Margin
# Taille des marges sur les quatre côtés de l'élément
selecteur{
margin: valeur |
valeur_haut valeur_droit valeur_bas valeur_gauche | …}
div{
margin: 10%;
Margin 0 20px 20% 2px;
margin-top: 20px;}
Padding
# Définir les différents écarts de remplissage sur les quatre côtés d'un élément
# C'est une propriété raccourcie qui permet de manipuler les autres propriétés
de marges :
selecteur{
padding: valeur |
valeur_haut valeur_droit valeur_bas valeur_gauche | …
}
div{
padding: 20%;
}
Types de boîtes dans les CSS
# Le type de boîte appliqué à un élément est défini par la propriété
display.
# Les réglages de largeur et de hauteur n'ont aucun effet sur les boîtes inline ;
selecteur{
display: block | inline | inline-block | …;
}
COMPLÉMENTS
Google Font
# https://fonts.google.com/
<script src="https://kit.fontawesome.com/3c7f5856f6.js"
crossorigin="anonymous"></script>
Font awesome
# Pour utiliser les icônes :
i {
color: blueviolet;
font-size: 19px;
}
Importer un fichier de font
# @font-face