Conception de
sites web
Feuille de styles CSS
M i s e e n p a g e :
s o l u t i o n « v i e i l l e é c o l e »
Mise en page par <table> et par
<font>
● Long
● Vite illisible
● Peu souple
● Difficile à modifier
● Aspect présentation et contenu entremêlés
( Mais encore utilisé )
S o l u t i o n m o d e r n e :
l e s f e u i l l e s d e s t y l e
Distinction entre contenu et présentation
● Contenu : dans le document HTML (sans table ni
balises font)
● Présentation : dans un fichier à part (feuille de
style)
● Uniformité : tout le site a naturellement la
même présentation
● Changer de présentation = changer de feuille
de style
Cascading style sheet
CSS : Cascading Style Sheet
Décrit la mise en forme d’un document
Exemple :
comment doivent être affichés les titres ?
Ou se trouve le menu ?
…
Attaché au document HTML : une feuille de style
par site !
CSS : différents formats
● CSS 1.0 (1996)
Accepté par la plupart des navigateurs
Mozilla 1.1, Firefox, Netscape 6, Internet Explorer
5.5, Opera 4 …
● CSS 2.0 (1998) et CSS 2.1 (2007?)
pas toujours accepté par tous
● CSS 3.0 (à venir)
très hasardeux pour l’instant
A p p l i c a t i o n d ’ u n e f e u i l l e d e s t y l e
1. Créez la feuille de style (fichier .css)
2. Plusieurs solutions existent, la plus simple et la
plus propre, ajouter dans l’entête (<head>)
<LINK REL="stylesheet" TYPE="text/css"
HREF="ma_feuille.css">
Note : il est possible d’intégrer des (morceaux de)
feuilles de style dans la page HTML
CSS : la syntaxe
H1
{
font-size: large;
color: red;
}
Nom de la balise
considérée
{
Attribut1 : valeur1;
Attribut2 : valeur2 ;
...
}
U n e f e u i l l e d e s t y l e
e x e m p l e :
H1 {
font-family: arial;
}
BODY { font-family:
times; }
H1,H2,H3 {
font-size: large;
color: red;
}
LI B {
color: blue;
}
Tous les éléments de type H1
seront dans la police arial
le texte de la page sera en times
par défaut.
Les éléments de type H1, H2 et H3
seront en grand (large) et en rouge
Les éléments en gras qui sont à
l’intérieur d’une liste seront en bleu
Quelques propriétés :
TEXTE
● Font-family : la police (times, arial, helevetica …)
● Font-size : (small, medium, large, x-large…)
● Font-weight (normal, bold, 120%)
● Color : couleur du texte (black, green, #00FF00)
● text-align: left, center ou right
FOND
● background-color : la couleur du fond (idem)
● Background-image : image de fond url("truc.jpg")
BORDURES
● Border-style : solid, dotted, dashed, solid, none
● Border-width : largeur (1px par exemple)
● Border-color : red, #00FF00, …
LISTES
● List-style-type : type de liste (disc, circle, square, decimal,
lower-roman ...)
Une note sur les couleurs
Quelques couleurs :
- 16 noms de couleurs standards, mais pleins d'autres
acceptés par la plupart des navigateurs
- Par les codes : choisissez les couleurs de votre choix
- Les codes se récupèrent à l'aide d'un logiciel de traitement
d'image (ex : GIMP)
Nom Code Couleur
white #FFFFFF
black #000000
red #FF0000
green #00FF00
blue #0000FF
yellow #FFFF00
fuschia #FF00FF
salmon #FA8072
chocolate #D2691E
D'autres propriétés ?
● Plein de site de références
● Ex : www.w3schools.com
HTML et CSS
Exercice css.pdf
Exercice I
Mise en page par CSS
Mise en boîte, <div> et class
C S S
o u l ' a r t d e m e t t r e e n b o î t e
Mettre en page avec des CSS :
 Schématiser la feuille
 Repérez les différents éléments constituant
de la page (les boîtes)
 Construire « l'arbre logique » de la page
 Créer la page HTML : les boîtes seront
matérialisées par des balises div munie de
l'attribut class nécessaires.
 Construire la feuille de style CSS en
descendant l'arbre
Balise div et attribut class
● Div : Une balise qui ne fait rien à part
marquer une zone
Dans le fichier HTML :
<div class="titre">C'est le titre de ma
page</div>
Dans le fichier CSS :
.titre {
color: black; }
E x e m p l e : m a p a g e à m o i
1 . L e s c h é m a
Ma page à Moi
Mes photos
Accueil
MA PAGE
Bienvenue dans ma page
à moi, où je raconte tout
qu’est ce que je veux !
page crée par Moi. Il y a eu 3 visiteurs au total
2. La structure
header
Menu
Lien
Lien
corps
Image
footer
3. L'arbre logique
page (BODY)
header corps menu
Image (IMG) lien (A) lien (A)
titre (H1)
footer
paragraphe (P)
4. La page HTML
<body>
<div class="header">Ma page à moi</div>
<div class="corps">
<img src="photo.jpg">
<h1>Ma page</h1>
C'est ma page à moi où je raconte ce que je veux
</div>
<div class="menu"> <a href="index.html">Accueil</a>
... </div>
<div class="footer">Page crée par moi...</div>
</body>
5. La feuille de style CSS
Je crées les styles dans l'ordre de mon
arbre, en descendant.
1. la page (balise BODY)
2. le header, le corps, le footer, le
menu
3. L'image et le titre du corps, les liens
du menu, ...
(on pourra utiliser .corps h1 { ...}
par exemple )
Dessin des boîtes : bordures
Border-style : style des bords (solid, dashed, dotted, ...)
Border-size : taille des bords (1px, medium, ...)
Border-color : couleur des bords (black, #882233)
Border : les trois d'un coup (style, taille, couleur)
Exemple :
.titre { border: solid 1px black; }
Mais aussi :
Border-size-top : taille du bord du haut
Border-bottom : style, taille et couleur du bord du bas
(aussi avec left et right)
Dessin des boîtes : fond
● Couleur de fond
background-color: red;
● Image de fond
background-image: url("truc.jpg")
● Répétition de l'image de fond
background-repeat : repeat;
(parmi no-repeat, repeat-x,
repeat-y, repeat)
Dessin des boites : marges
Margin : espace à l’exterieur de la boîte
Padding : espace entre le bord et le texte
 Peut s'écrire : margin : 10px; (les quatres marges
sont à 10px)
 ou margin: 5px 10px 8px 4px; (marges haute de
5px, puis marge droite, marge basse et marge gauche)
 Peut se décliner en margin-top, margin-right,
margin-bottom, margin-left (idem pour padding)
TEXTE
D e s s i n d e s b o i t e s : d i m e n s i o n s
● Réglées par height et width
● En pixel (px) ou %
Exemple :
.header {
height : 50px; width:100%;
}
Positionnement des boîtes
● Par défaut : les boites sont les unes
en dessous de l'autre(en flux),
● Positionner une boîte : lui donner une
position figée (la sortir du flux)
● Différentes possibilités...
Position des boites
trois principaux types de positions :
Static (par défaut) : la boite est laissée la ou elle
est, dans le flux (mais décalage possible par les
marges)
Flottant : la boite est placée par le navigateur
« où il y a de la place », elle n'écrase pas le
reste.
Absolute : la boite est positionnée précisemment
où on veut
Position des boites : static
Static
Rien à faire
La boite sera positionnée :
- à l’endroit ou elle a été insérée dans le fichier HTML
Exemple
● HTML :
<html>
<head> </head>
<body>
<div class='bleu'> BLEU </div>
<div class='rouge'> des doses
croissantes d'acide myristique...</div>
</body>
</html>
Exemple static
.bleu {
border: solid 1px black;
background-color: bleu;
}
.rouge {
border: solid 1px black;
background-color: red;
}
BLEU
Des doses croissantes d'acide
myristique dans l'alimentation
modifient la concentration
plasmatique du cholestérol
et la quantité de SR-BI, sans
affecter la biosynthèse des
acides biliaires chez le hamster
Exemple static avec marges
.bleu {
border: solid 1px black;
background-color: bleu;
margin-bottom: 20px;
margin-left: 20px;
}
.rouge {
border: solid 1px black;
background-color: red;
margin-right: 20px; }
BLEU
Des doses croissantes d'acide
myristique dans l'alimentation
modifient la concentration
plasmatique du cholestérol
et la quantité de SR-BI, sans
affecter la biosynthèse des
acides biliaires chez le hamster
Résumé static
● Rien de spécial à déclarer
● Les boites sont l'unes en dessous de
l'autre
● Les marges permettent de
déplacer/décaler la boîte
● La taille de la boite s'adapte au
contenu
Position des boites : flottant
Float
Div {
float : left;
}
La boite sera mise par le navigateur à gauche du texte (là
ou il le veut…)
Existe aussi en float:right;
Exemple flottant
.bleu {
border: solid 1px black;
background-color: bleu;
float: left;
margin-right :10px;
margin-left:10px;
}
.rouge {
border: solid 1px black;
background-color: red;
}
Des doses croissantes
d'acide myristique dans
l'alimentation modifient
la concentration plasmatique
du cholestérol et la quantité de
SR-BI, sans affecter la
biosynthèse desacides biliaires
chez le hamster
BLEU
Résumé flottant
● La boîte est placé à gauche ou à
droite (préciser float:left; ou right)
● Possibilité de modifier les marges et
la taille de la boîte (height / width)
● Le reste du texte s'adapte
Position absolu
Absolute
Div {
position : absolute;
left : 20%;
top : 100px
}
La boite sera positionnée :
-à 20 % de la largeur de la page
-À 100 pixels du haut de la page
Et « au dessus » du reste du document
position avec left, right, top, bottom
Exemple absolu
.bleu {
border: solid 1px black;
background-color: bleu;
position : absolute;
left : 50px; right: 50px;
}
.rouge {
border: solid 1px black;
background-color: red;
}
Des doses croissantes d'acide
myristique dans l'alimentation
modifient la concentration
plasmatique du cholestérol
et la quantité de SR-BI, sans
affecter la biosynthèse des
acides biliaires chez le hamster
BLEU
Exemple absolu (2)
.bleu {
border: solid 1px black;
background-color: bleu;
position : absolute;
left : 10px; width: 40px; }
.rouge {
border: solid 1px black;
background-color: red;
margin-left : 60px;
}
Des doses croissantes
d'acide myristique
dans l'alimentation
modifient la
concentration
plasmatique du
cholestérol et la
quantité de SR-BI, sans
affecter la biosynthèse
des acides biliaires
chez le hamster
BLEU
Résumé Absolu
● Préciser position:absolute;
● On place ensuite la boîte
précisément avec
left/right/top/bottom et
height/width
● Le reste du texte ne s'adapte pas à la
boîte placée de manière absolue.
● Permet des mises en pages les plus
élaborées !
E x e m p l e : m a p a g e à m o i
Ma page à Moi
Mes photos
Accueil
MA PAGE
Bienvenue dans ma page
à moi, où je raconte tout
qu’est ce que je veux !
page crée par Moi. Il y a eu 3 visiteurs au total
Positionnement
Header : static
Menu :
absolute
Lien : static
Lien : static
Corps : static
Image :
float
Footer : static
Le fichier CSS
● Voir mapage.html / mapage.css sur le
serveur
Autres exemples ?
● Voir sur « CSS zen garden » pour
plein d’exemples de CSS
● Sur Alsacreation, de très bon
tutoriaux pour aller plus loin
● Sur www.w3schools.com : toutes
les références
● Et plein d’autres sites ! (CSS sur
google…)
Mise en page par CSS
● Exercice II et III

Css cours avancé. Toute la base pour comprendre css.

  • 1.
  • 2.
    M i se e n p a g e : s o l u t i o n « v i e i l l e é c o l e » Mise en page par <table> et par <font> ● Long ● Vite illisible ● Peu souple ● Difficile à modifier ● Aspect présentation et contenu entremêlés ( Mais encore utilisé )
  • 3.
    S o lu t i o n m o d e r n e : l e s f e u i l l e s d e s t y l e Distinction entre contenu et présentation ● Contenu : dans le document HTML (sans table ni balises font) ● Présentation : dans un fichier à part (feuille de style) ● Uniformité : tout le site a naturellement la même présentation ● Changer de présentation = changer de feuille de style
  • 4.
    Cascading style sheet CSS: Cascading Style Sheet Décrit la mise en forme d’un document Exemple : comment doivent être affichés les titres ? Ou se trouve le menu ? … Attaché au document HTML : une feuille de style par site !
  • 5.
    CSS : différentsformats ● CSS 1.0 (1996) Accepté par la plupart des navigateurs Mozilla 1.1, Firefox, Netscape 6, Internet Explorer 5.5, Opera 4 … ● CSS 2.0 (1998) et CSS 2.1 (2007?) pas toujours accepté par tous ● CSS 3.0 (à venir) très hasardeux pour l’instant
  • 6.
    A p pl i c a t i o n d ’ u n e f e u i l l e d e s t y l e 1. Créez la feuille de style (fichier .css) 2. Plusieurs solutions existent, la plus simple et la plus propre, ajouter dans l’entête (<head>) <LINK REL="stylesheet" TYPE="text/css" HREF="ma_feuille.css"> Note : il est possible d’intégrer des (morceaux de) feuilles de style dans la page HTML
  • 7.
    CSS : lasyntaxe H1 { font-size: large; color: red; } Nom de la balise considérée { Attribut1 : valeur1; Attribut2 : valeur2 ; ... }
  • 8.
    U n ef e u i l l e d e s t y l e e x e m p l e : H1 { font-family: arial; } BODY { font-family: times; } H1,H2,H3 { font-size: large; color: red; } LI B { color: blue; } Tous les éléments de type H1 seront dans la police arial le texte de la page sera en times par défaut. Les éléments de type H1, H2 et H3 seront en grand (large) et en rouge Les éléments en gras qui sont à l’intérieur d’une liste seront en bleu
  • 9.
    Quelques propriétés : TEXTE ●Font-family : la police (times, arial, helevetica …) ● Font-size : (small, medium, large, x-large…) ● Font-weight (normal, bold, 120%) ● Color : couleur du texte (black, green, #00FF00) ● text-align: left, center ou right FOND ● background-color : la couleur du fond (idem) ● Background-image : image de fond url("truc.jpg") BORDURES ● Border-style : solid, dotted, dashed, solid, none ● Border-width : largeur (1px par exemple) ● Border-color : red, #00FF00, … LISTES ● List-style-type : type de liste (disc, circle, square, decimal, lower-roman ...)
  • 10.
    Une note surles couleurs Quelques couleurs : - 16 noms de couleurs standards, mais pleins d'autres acceptés par la plupart des navigateurs - Par les codes : choisissez les couleurs de votre choix - Les codes se récupèrent à l'aide d'un logiciel de traitement d'image (ex : GIMP) Nom Code Couleur white #FFFFFF black #000000 red #FF0000 green #00FF00 blue #0000FF yellow #FFFF00 fuschia #FF00FF salmon #FA8072 chocolate #D2691E
  • 11.
    D'autres propriétés ? ●Plein de site de références ● Ex : www.w3schools.com
  • 12.
    HTML et CSS Exercicecss.pdf Exercice I
  • 13.
    Mise en pagepar CSS Mise en boîte, <div> et class
  • 14.
    C S S ou l ' a r t d e m e t t r e e n b o î t e Mettre en page avec des CSS :  Schématiser la feuille  Repérez les différents éléments constituant de la page (les boîtes)  Construire « l'arbre logique » de la page  Créer la page HTML : les boîtes seront matérialisées par des balises div munie de l'attribut class nécessaires.  Construire la feuille de style CSS en descendant l'arbre
  • 15.
    Balise div etattribut class ● Div : Une balise qui ne fait rien à part marquer une zone Dans le fichier HTML : <div class="titre">C'est le titre de ma page</div> Dans le fichier CSS : .titre { color: black; }
  • 16.
    E x em p l e : m a p a g e à m o i 1 . L e s c h é m a Ma page à Moi Mes photos Accueil MA PAGE Bienvenue dans ma page à moi, où je raconte tout qu’est ce que je veux ! page crée par Moi. Il y a eu 3 visiteurs au total
  • 17.
  • 18.
    3. L'arbre logique page(BODY) header corps menu Image (IMG) lien (A) lien (A) titre (H1) footer paragraphe (P)
  • 19.
    4. La pageHTML <body> <div class="header">Ma page à moi</div> <div class="corps"> <img src="photo.jpg"> <h1>Ma page</h1> C'est ma page à moi où je raconte ce que je veux </div> <div class="menu"> <a href="index.html">Accueil</a> ... </div> <div class="footer">Page crée par moi...</div> </body>
  • 20.
    5. La feuillede style CSS Je crées les styles dans l'ordre de mon arbre, en descendant. 1. la page (balise BODY) 2. le header, le corps, le footer, le menu 3. L'image et le titre du corps, les liens du menu, ... (on pourra utiliser .corps h1 { ...} par exemple )
  • 21.
    Dessin des boîtes: bordures Border-style : style des bords (solid, dashed, dotted, ...) Border-size : taille des bords (1px, medium, ...) Border-color : couleur des bords (black, #882233) Border : les trois d'un coup (style, taille, couleur) Exemple : .titre { border: solid 1px black; } Mais aussi : Border-size-top : taille du bord du haut Border-bottom : style, taille et couleur du bord du bas (aussi avec left et right)
  • 22.
    Dessin des boîtes: fond ● Couleur de fond background-color: red; ● Image de fond background-image: url("truc.jpg") ● Répétition de l'image de fond background-repeat : repeat; (parmi no-repeat, repeat-x, repeat-y, repeat)
  • 23.
    Dessin des boites: marges Margin : espace à l’exterieur de la boîte Padding : espace entre le bord et le texte  Peut s'écrire : margin : 10px; (les quatres marges sont à 10px)  ou margin: 5px 10px 8px 4px; (marges haute de 5px, puis marge droite, marge basse et marge gauche)  Peut se décliner en margin-top, margin-right, margin-bottom, margin-left (idem pour padding) TEXTE
  • 24.
    D e ss i n d e s b o i t e s : d i m e n s i o n s ● Réglées par height et width ● En pixel (px) ou % Exemple : .header { height : 50px; width:100%; }
  • 25.
    Positionnement des boîtes ●Par défaut : les boites sont les unes en dessous de l'autre(en flux), ● Positionner une boîte : lui donner une position figée (la sortir du flux) ● Différentes possibilités...
  • 26.
    Position des boites troisprincipaux types de positions : Static (par défaut) : la boite est laissée la ou elle est, dans le flux (mais décalage possible par les marges) Flottant : la boite est placée par le navigateur « où il y a de la place », elle n'écrase pas le reste. Absolute : la boite est positionnée précisemment où on veut
  • 27.
    Position des boites: static Static Rien à faire La boite sera positionnée : - à l’endroit ou elle a été insérée dans le fichier HTML
  • 28.
    Exemple ● HTML : <html> <head></head> <body> <div class='bleu'> BLEU </div> <div class='rouge'> des doses croissantes d'acide myristique...</div> </body> </html>
  • 29.
    Exemple static .bleu { border:solid 1px black; background-color: bleu; } .rouge { border: solid 1px black; background-color: red; } BLEU Des doses croissantes d'acide myristique dans l'alimentation modifient la concentration plasmatique du cholestérol et la quantité de SR-BI, sans affecter la biosynthèse des acides biliaires chez le hamster
  • 30.
    Exemple static avecmarges .bleu { border: solid 1px black; background-color: bleu; margin-bottom: 20px; margin-left: 20px; } .rouge { border: solid 1px black; background-color: red; margin-right: 20px; } BLEU Des doses croissantes d'acide myristique dans l'alimentation modifient la concentration plasmatique du cholestérol et la quantité de SR-BI, sans affecter la biosynthèse des acides biliaires chez le hamster
  • 31.
    Résumé static ● Riende spécial à déclarer ● Les boites sont l'unes en dessous de l'autre ● Les marges permettent de déplacer/décaler la boîte ● La taille de la boite s'adapte au contenu
  • 32.
    Position des boites: flottant Float Div { float : left; } La boite sera mise par le navigateur à gauche du texte (là ou il le veut…) Existe aussi en float:right;
  • 33.
    Exemple flottant .bleu { border:solid 1px black; background-color: bleu; float: left; margin-right :10px; margin-left:10px; } .rouge { border: solid 1px black; background-color: red; } Des doses croissantes d'acide myristique dans l'alimentation modifient la concentration plasmatique du cholestérol et la quantité de SR-BI, sans affecter la biosynthèse desacides biliaires chez le hamster BLEU
  • 34.
    Résumé flottant ● Laboîte est placé à gauche ou à droite (préciser float:left; ou right) ● Possibilité de modifier les marges et la taille de la boîte (height / width) ● Le reste du texte s'adapte
  • 35.
    Position absolu Absolute Div { position: absolute; left : 20%; top : 100px } La boite sera positionnée : -à 20 % de la largeur de la page -À 100 pixels du haut de la page Et « au dessus » du reste du document position avec left, right, top, bottom
  • 36.
    Exemple absolu .bleu { border:solid 1px black; background-color: bleu; position : absolute; left : 50px; right: 50px; } .rouge { border: solid 1px black; background-color: red; } Des doses croissantes d'acide myristique dans l'alimentation modifient la concentration plasmatique du cholestérol et la quantité de SR-BI, sans affecter la biosynthèse des acides biliaires chez le hamster BLEU
  • 37.
    Exemple absolu (2) .bleu{ border: solid 1px black; background-color: bleu; position : absolute; left : 10px; width: 40px; } .rouge { border: solid 1px black; background-color: red; margin-left : 60px; } Des doses croissantes d'acide myristique dans l'alimentation modifient la concentration plasmatique du cholestérol et la quantité de SR-BI, sans affecter la biosynthèse des acides biliaires chez le hamster BLEU
  • 38.
    Résumé Absolu ● Préciserposition:absolute; ● On place ensuite la boîte précisément avec left/right/top/bottom et height/width ● Le reste du texte ne s'adapte pas à la boîte placée de manière absolue. ● Permet des mises en pages les plus élaborées !
  • 39.
    E x em p l e : m a p a g e à m o i Ma page à Moi Mes photos Accueil MA PAGE Bienvenue dans ma page à moi, où je raconte tout qu’est ce que je veux ! page crée par Moi. Il y a eu 3 visiteurs au total
  • 40.
    Positionnement Header : static Menu: absolute Lien : static Lien : static Corps : static Image : float Footer : static
  • 41.
    Le fichier CSS ●Voir mapage.html / mapage.css sur le serveur
  • 42.
    Autres exemples ? ●Voir sur « CSS zen garden » pour plein d’exemples de CSS ● Sur Alsacreation, de très bon tutoriaux pour aller plus loin ● Sur www.w3schools.com : toutes les références ● Et plein d’autres sites ! (CSS sur google…)
  • 43.
    Mise en pagepar CSS ● Exercice II et III