Upload
ygraine-bru
View
114
Download
1
Embed Size (px)
Citation preview
Styles CSS
Feuilles de styles en cascadeCascading Style Sheets
Florence Petit 24 novembre 2009
2
Sitographie sur le CSS
Site de démonstration de la puissance du CCS http://www.csszengarden.com/tr/francais/
Site de référence du langage CSS http://www.W3.org
Traduction française du W3C : http://www.yoyodesign.org/doc/w3c/css2/selector.html
Didacticiels http://www.w3schools.com/Css/ http://www.alsacreations.com/tutoriels/ http://www.siteduzero.com http://www.aidenet.com/css/ http://fr.selfhtml.org/css/ http://edu.ca.edu/cours-web/
3
Le CSS et ses versions (niveaux)
Feuilles de styles en cascade (Cascading Style Sheets => CSS)
Langage permettant la mise en forme de documents structurés écrits en langage HTML, XHTML, XML
Succession de différentes versions CSS-1 ou CSS level 1 (1996) CSS-P (CSS Positioning) CSS-2 ou CSS level 2 (1998) CSS-2.1 (révision 2006) CSS-3 : brouillons (drafts) CSS Mobile Profile 1.0 CSS Print Profile CSS TV Profile 1.0
4
Exemple de HTML 3.2 avant l'usage du CSS
<body bgcolor="white"><h1 align="center">Titre 1</h1> <p> <font face="Arial" color="red" size="2"> <i><b>Mon texte 1</b></i></font></p> <p><font face="Arial" color="red" size="2"> <i><b>Mon texte 2</b></i></font></p><h1 align="center">Titre 2</h1> <p><font face="Arial" color="red" size="2"> <i><b>Mon texte 3</b></i></font></p><h1 align="center">Titre 3</h1></body>
5
Exemple de code (X)HTML et de code CSS
body {background-color: white;}
h1 {text-align: center;}
p {color:red; font: italic bold 10pt Arial;}
<body>
<h1>Titre 1</h1>
<p>Mon texte 1</p>
<p>Mon texte 2</p>
<h1>Titre 2</h1>
<p>Mon texte 3</p>
<h1>Titre 3</h1>
</body>
partie CSS
partie
(X)HTML
6
Dépréciation de balises et attributs du HTML
A partir du HTML4, des balises et attributs du HTML3.2 sont dépréciées et remplacées par des styles
Balises dépréciées <center> </center>
Attributs dépréciés bgcolor="…" align="…"
Balises et attributs dépréciés <font color="…" face="…" size="…">...</font>
Balises logiques (sémantique) préférables aux balises physiques : <strong>...</strong> préférable à <b>...</b> <em>...</em> préférable à <i>...</i>
7
Le CSS : avantages et inconvénients
Avantages Séparation contenu/mise en forme Code plus lisible Code du fichier html allégé -> Diminution du temps de chargement Présentation homogène du site web Maintenance facilitée : répercussion automatique des modifications Nouvelles possibilités de mise en forme des documents html Compatible avec divers langages (HTML, XHTML, DHTML, XML…)
Inconvénients Pas/peu reconnu par les anciens navigateurs (Netscape 4, IE3) Mieux reconnu depuis Nescape 6, IE 6 Modèle de boîte différent pour IE 5 (mode Quirks) Subsistance de quelques incompatibilités
8
Déclaration de style CSS : syntaxe
Syntaxe généralepropriété: valeur;
Exemplescolor: blue;
background-color: #ff0000;
border-width: 1px;
border-style: solid;
border-color: black;
Raccourci pour plusieurs propriétés voisinesborder: 1px solid black;
9
h2 {color: red; text-align: center ;}
Règle CSS : syntaxe
déclaration valeuridentificateurde propriété
sélecteur bloc de déclarations
règleCSS
; séparateur
entre déclarations
;facultatifà la fin
accolades
10
Règle CSS : présentation du code
Présentation possible :h2 {color: red; text-align: center ; }
Présentation conseillée (avec indentation et passage à la ligne) :h2 {
color: red;text-align: center ;
}
11
/* Utilisation des commentaires en CSS */
/* Auteur : Florence PETIT */
a {color:#333; /* gris sombre */
}
/* Feuille de style du site truc.org Version modifiée le 12 juin 2009*/
/* -----------------------------------Typographie et couleurs-------------------------------------- */p {
font-size:12px;}#menu li {
color:#ff0000; }/* -----------------------------------Structure du site-------------------------------------- */div {…}
Commentaire sur une portion de ligne
Commentaire sur une ligne
Commentaire sur plusieurs lignes
Commentaires permettant d'organiser la feuille de style
en rubriques facilement repérables
12
Commentaire conditionnel
Si le navigateur est inférieur (lt pour less than) à la version d'IE, alors on ajoute un style…
<!--[if lt IE 7]>
<style type="text/css">
div {
width:expression(document.body.clientWidth >= 1000? "1000px": "auto" ); }
</style>
<![endif]-->
13
Codage des couleurs en CSS
Propriétés de couleurs color: red -> couleur de texte border-color: red -> couleur de bordure background-color: red -> couleur de fond
Une couleur peut être exprimée sous différentes formes : Nom de couleur reconnu par W3C red, blue black, white , gray, silver…
(17 couleurs) Nom de couleur non reconnu par W3C darkolivegreen, lightskyblue, tomato Codage hexadécimal classique
de type #rrvvbb #cc0088 Codage hexadécimal abrégé
de type #rvb #c08 Codage décimal de type rgb(x, y, z)
avec nombre de 0 à 255: rgb(255, 0, 122) Codage décimal de type rgb(x%, y%, z%)
en pourcentage : rgb(100%, 0%, 50%)
Sites sur la couleur Noms de couleur : http://www.5axe.com/5axe2/inc/pgeditor/popups/color_help.php?lng
=fr Codes de couleur : http://www.code-couleur.com Théorie sur la couleur : http://www.profil-couleur.com Couleur et harmonie : http://www.colorsontheweb.com/colorwizard.asp
14
Unités de taille (polices, dimensions d'élément...)
Unité absolue Exemples Millimètre 12mm Centimètre 1.2cm Pouce ou Inch (1 inch = 2,54 cm) 0.2in Point (1 pt = 1/72 inch) 15pt Pica (1 pc = 12 pt = 1/6 inch) 2pc
Unité relative Pixel (/résolution) 15px Pourcentage (/ parent) 150% Taille (largeur d'un M) 1.5em Taille (hauteur d'un x) 1.5ex
Remarques Inutile de préciser l'unité pour la valeur nulle : 0 L'abréviation de l'unité doit être collée à la valeur, sans espace La taille de police est exprimée le plus souvent en pt, en em, en % Largeur et hauteur d'une image sont exprimées en général en px Les tailles pour l'impression (marges…) sont exprimées en cm, ou en in
15
Méthodes pour appliquer des styles en (X)HTML
Feuille de style interne au document liste des règles CSS dans balise <style…></style> placée dans la partie <head>
Feuille de style externe liée liste des règles CSS dans un fichier externe .css appel à ce fichier externe avec une balise <link … />
Feuille de style externe importée liste des règles CSS dans un fichier externe .css appel à un fichier externe avec @import
Style en ligne (intra-ligne ou incorporé) attribut style="…" dans la balise d'un élément
16
Feuille de style interne au document
Balise <style type="text/css"></style> placée dans l'en-tête du document Liste de règles CSS placée dans cette balise ouvrante et fermante Règle appliquée à tous les sélecteurs correspondant du document Utilisation pour un document isolé,
éventuellement pour une page particulière d'un site Utilisation ne convenant pas pour mettre en forme un site entier Exemple :
<head> <style type="text/css">
body {background-color: silver; color: maroon;} h1 {text-align: center; font-size: 1.5em; color: black;}
</style></head><body>
<h1>Titre A</h1><p>Texte 1</p>
<p>Texte 2</p></body>
17
Feuille de style CSS externe liée
Liste de règles CSS placée dans un fichier CSS externe (extension css) Balise link à ajouter dans l'en-tête du document html permettant de faire un
"lien" vers ce fichier css Utilisation bien adaptée à un site web dont toutes les pages HTML comporteront
la balise <link> Règle appliquée à tous les sélecteurs correspondant dans les documents liés Exemples
1) Code CSS : contenu d'un fichier CSS nommé monstyle.css body { background-color: white ; color: blue;} h1 { text-align: center; font-size: 1.5em ;color: black;}
2a) Code HTML (extrait du fichier)…<head><title>...</title><link rel="stylesheet" type="text/css" href="chemin/monstyle.css"></head>…
2b) Code XHTML (extrait du fichier)…<head><title>...</title><link rel="stylesheet" type="text/css" href="chemin/monstyle.css" /></head>...
18
Feuille de style CSS importée
Liste de règles CSS dans un fichier CSS externe Règle @import à ajouter dans la feuille de style (interne ou externe) Se place avant tout autre déclaration de style Règle appliquée à tous les sélecteurs correspondant dans les documents liés Utilisation adaptée à un site web, notamment pour "cascader les styles" Syntaxe
@import "fichier.css"@import url("fichier.css")
Exemple (dans une feuille interne)
<style type="text/css"> @import url("fichier.css") p {color:red;}</style>
19
Style en ligne, dans une balise (X)HTML
Bloc de déclarations CSS incorporé dans la balise introduit par l'attribut style
Exemple :<p style="text-align: center; background-color:#ccc;">Texte</p>
S'applique à une balise précise du document Intéressant pour un essai lors du développement Déconseillé actuellement :
à remplacer plutôt par l'utilisation d'un identifiant
(X)HTML : <element id="truc">
CSS : #truc {text-align: center; background-color:#ccc; }
20
4 manières d'appliquer un style : exemple
<html><head> <title>…</title><link rel="stylesheet" type="text/css" href="fichier1.css" /><style type="text/css"> @import url("fichier2.css");
h1 { color: blue } </style></head> <body>
<h1>Ce texte est en bleu à cause du style interne</h1> <p style="color: green" >Ce paragraphe est en vert.</p>
</body></html>
21
Les principaux sélecteurs : exemples
Nom d'élément : h1
Sélecteur multiple (regroupement de sélecteurs) : h1, h2, p
Sélecteur contextuel (combinaison d'éléments imbriqués ) : h1 a
Identifiant : p#intro1#intro1
Classe : p.intro .intro
Pseudo-classe : a:hover
Sélecteur universel :*
22
Nom d'élément (Sélecteur de type)
La règle css s'applique à toutes les balises HTML indiquées Exemples :
h1 {color: red;font-size: 2em;
}h2 {
color: red;font-size: 1.5em;
}p {
color: black;}
23
Regroupement de sélecteurs (avec virgule)
h1 {color:red; font-size:2em}h2 {color:red;}p {color:red;}
h1, h2, p {color:red;}h1 {font-size:2em;}
h1 h2 p {color:red;}h1 {font-size:2em;}
h1 {color:red; font-size:2em}h2 {color:red;}p {color:red;}
24
Sélecteur universel *
* remplace tout élément du document Se met dans la partie style CSS, par exemple :
* {margin: 0}
Tous les éléments du document (h1, h2, p, div, ul…) auront une marge de 0.
25
Sélecteurs contextuels (sélecteurs descendants)
Exemple : h1 emh1 est un ancêtre de em, même lointain.em est un descendant de h1, même lointain.
Dans la partie CSSh1 {color: blue;}h1 em {color: red;}p {color: black;}em {color: green;}
--------------------------------------- Dans le body
<h1>Titre A1</h1><p>Texte A </p><h1>Titre B1 <em> Titre C1</em>Titre D1 </h1><p>Texte B <em> Texte C</em> Texte D </p><p>Texte E <span>Texte F<em> Texte G</em></span> Texte H </p>
26
Autres sélecteurs contextuels
Sélecteur parent descendant (au sens large : enfant, petit-enfant, etc.)div a (a descendant de div)
Sélecteur d'enfants (au sens strict, enfant direct)body > p (p enfant direct de body)
Sélecteur adjacent (ou consécutif) ul + li (li suivant immédiatement un ul)a + a (a suivant immédiatement un a)
Sélecteur d'attributh1[title] (h1 qui possède un attribut title)
Sélecteur de valeur d'attributinput[type=text]
27
L'identifiant id du (X)HTML
id est un attribut "générique" qui s'applique à toutes sortes d'éléments.
Il sert à identifier une balise précise. Il doit être unique dans un document. Il s'ajoute dans une balise du document html :
<p id="intro">texte d'introduction</p>
Il peut être utilisé dans une règle CSS :
#intro {font-style: italic; text-align: center;}
identique à :
p#intro {font-style: italic; text-align: center;}
28
La classe "class" du (X)HTML
Class est un attribut "générique" qui s'applique à toutes sortes d'éléments.
Une classe permet de définir un sous-ensemble. Elle peut s'appliquer à plusieurs éléments. Elle s'ajoute dans une balise du document html :
<h1 class="intro">titre 1</p><p class="intro">texte 2</p><p class="intro">texte 3</p><img class="logo">.....</p>
Utilisation dans une règle CSS :.intro {font-style: italic;}h1.intro {text-align: center;}.logo {border: 1px solid red ;}
29
Eléments div et span (éléments neutres) du (X)HTML
div et span sont en général associés à un id ou une class. div : balise de bloc, délimite souvent un ensemble de balises
<div id="menu1"> <ul><li>……</li>...</ul></div><div id="piedpage"> <p>……</p> <p>……</p></div>
span ("petite étendue") : balise en-ligne, délimite une partie de texte <p>Il pris un pot de <span id="rouge">peinture rouge</span> et un pinceau.</p><p>Il pris aussi un pot de <span class="vert">peinture vert clair</span>, un
pot de <span class="vert">peinture vert foncé</span>, et un autre pinceau.</p>
30
Les pseudo-classes et les pseudo-éléments
Différencie différents états d'un élément Pseudo-classes d'ancre (élément a) pour les états des liens
a:link --> lien standarda:visited --> lien visité (cliqué)a:hover --> lien pointé a:active --> lien pendant le clic
Exemple :a:link {color: red;}a:hover, a:active {text-decoration:underline ; color: gray;}
Pseudo-éléments (ici appliqués à l'élément p) p:first-line {font-variant: small-caps;} 1re ligne des paragraphes p:first-letter {font-size:2em;color:red;} 1re lettre des paragraphes
Pseudo-classe first-child (1er élément enfant d'un autre élément) a:first-child {font-variant: small-caps;} si a est un 1er enfant p:first-child em { font-weight : bold } si em est dans un p est un 1er enfant
Respecter cet ordre dans les
règles de style !
31
Autres pseudo-éléments :before et :after
:before permet d'insérer un texte avant:after permet d'insérer un texte après
Exemples
td:before { content:"Prix: "; }td:after { content:" euros"; }
th:before { content:url(carre.gif)" "; }
h1:before {content: counter(nomcompteur, upper-roman) ". "}
h1:before { content:counter(niv1); counter-increment(niv1); counter-reset(niv2); }
h2:before { content:counter(niv1) ". "; counter(niv2); counter-increment(niv2);
Prix: 12,50 euros
12,50
I. titre
Produits vendus
1 Europe1.1 France…1.2 Italie…2 Asie2.1 Chine
32
Combinaisons de sélecteurs
Exemples :#menu1 li {line-height: 2em;}#menu1 li a:link {color: black;}#menu1 li a:hover {color: red;}#menu1 li a:active {color: red;}p.intro {font-style: italic;}
33
Propriétés de police de caractères
color background-color font-style: normal | italic | oblique font-variant: normal | small-caps font-weight : normal | bold | bolder | lighter | 100 | 700 | 900 font-size : n | p% | xx-small | small | smaller | large | larger | xx-large line-height: n p% (interligne entre 2 lignes) font-family: police1, police2, police3
Exemple de propriété raccourcie (ordre important) :font: italic small-caps bold 10pt/14pt Times
34
Propriété font-family
Liste de polices (pour différents OS + police générique en dernier )font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-family: Georgia, "Bookman Old Style", serif;
5 familles de police génériques serif (ex. Times, Times new roman, Palatino, Georgia) sans-serif (ex. Geneva, Arial, Helvetica, Tahoma, Verdana) cursive (ex. Zapf-Chancery, Comic Sans MS) fantasy (ex. Western, Impact) monospace ou à taille fixe (ex. Courier)
Nom de police avec espacefont-family: Times, "Times New Roman", seriffont-family: Times, 'Times New Roman', serif
Sans-serifserif
fixe
Cursive
35
Propriétés de texte
word-spacing: n | -n letter-spacing: n | -n text-decoration: none | underline | overline | blink | line-through text-transform: uppercase | lowercase | capitalize text-align: left | right | center | justify text-indent (retrait de première ligne) : n p% white-space : normal | pre | nowrap
UPPERCASE lowercase
Capitalize
36
Modèle de boîte et propriétés
margin (marge
externe)
border(bordure)
padding(marge interne,
remplissage) contenu de la boîte :
texte, images…
width
height
38
Propriétés de blocs (body, p, hn,…) : marge
margin-top: margin-right: margin-bottom margin-left Exemples de propriété raccourcie :On part d'en haut, on tourne dans le sens des aiguilles d'une montremargin: 5em 10em 5em 10emmargin: 5em --> 5 pour toutes les margesmargin: 5em 10em --> 5 haut/bas 10 droit/gauchemargin: 5em 3em 2em --> 5 haut 3 droit 2 bas 3 gauche
(=droit)
valeurs possibles :
n p% -n -n% auto
exemples :
5pt -12px 2em 10%
39
Propriétés de boîtes : remplissage
padding-top: n p% padding-right padding-bottom padding-left padding Exemples de propriété raccourcie :on part d'en haut, on tourne dans le sens des aiguilles d'une montrepadding: 5em 10em 5em 10empadding: 5em --> 5 pour toutes padding: 5em 10em --> 5 haut/bas 10 droit/gauchepadding: 5em 3em 2em --> 5 haut 3 droit 2 bas 3 gauche
(=droit)
40
Propriétés : border
border-top-width: n| thin |medium|thick (idem avec bottom) border-left-width: n| thin |medium|thick (idem avec right) border-width: 2pt 9pt 9pt 2pt border-color: red blue green black pas de couleur précisée : color de l'élément border-style: none|solid|dotted|dashed|… border-style: double solid border-top: 2px dashed red border: 2px dotted red --> 4 bordures identiques
41
Utilisation de marges automatiques pour centrer un bloc
Dans la partie CSS#conteneur {
width: 600px;background-color:cyan;margin-left: auto; margin-right: auto;padding: 1em;text-align:right;
} en HTML
<body><div id="conteneur">……</div></body>
TITRE
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Sed luctus, tortor vitae elementum
dignissim, elit erat cursus felis, ut tristique velit
mauris vitae velit. In sed pede ut purus lobortis scelerisque. Nunc vel
turpis. Vestibulum fringilla nunc a libero.
Mauris molestie dolor at lectus. Proin erat quam,
feugiat a, auctor ac, tempor quis,
42
Propriétés d'arrière-plan
Background-attachment: scroll | fixed Background-position: 50% 50% (ou 20px 10px)
d'abord verticale puis horizontale Background-color: #ccc Background-image: url(logo.gif) Background-repeat: repeat | repeat-x | repeat-y | no-repeat
Propriété raccourcie : Background: scroll 50% 50 % #ccc url(logo.gif) no-repeat
43
Background-attachment
ligne 1ligne 2ligne 3
…
…ligne 7ligne 8
fixedpar défaut :
scroll
haut de l'écran
bas de l'écranaprès
défilement
…ligne 7ligne 8
44
Background-repeat
no-repeatpar défaut
repeat
repeat-yrepeat-x
45
Background-position
0% 0%top leftleft top
50% 0%
top centercenter top
top
100% 0%top rightright top
0% 50%left centercenter left
left
50% 50%
center center
center
100% 50%right centercenter right
right
0% 100%bottom leftleft bottom
50% 100%bottom centercenter bottom
bottom
100% 100%bottom rightright bottom
background-position: x y (valeur négative possible)
par défaut
46
Propriété Float (valeur : right | left )
img {float: left;} img {float: right;}
Texte1 .......... …………………......................
Texte1 … ………………………………………………
float: left | right Utilisation : image, menu, bloc de textes,
lettrine… ex : <p>Texte1… <img .... /></p>
...................................
…………………………………
........................................
..
………………………………….......
47
Mise en page d'images et de blocs avec "Float"
Galerie d'images img {float:left}
<img src="i1.gif" alt=""><img src="i2.gif" alt="">…
Blocs avec image et légendediv {float:left; width:100px;}
<div><img src="i1.gif" alt=""><p>legende 1</p></div><div><img src="i2.gif" alt=""><p>legende 2</p></div>…
Plus facile à gérer qu'en tableau
Echecs Golf Voile Peinture
Informatique
Architecture
48
Propriété clear (valeur left | right | both )
code html :<p><img .... /></p><p>Texte A…</p><p id="textB">Texte B</p>
code CSS exemple 1 :img {float : right;}
code CSS exemple 2 :img {float : right;}#textB {clear: right;}
Clear permet qu'un élément se place tel qu'il n'ait rien à sa droite, à sa gauche ou ni l'un , ni l'autre.
Texte B …………………………………
Texte A …………………………
Texte B ………………….…….……….……
Texte A …………………………
Texte B ………………
Texte A …… ……………………
……………………………………………
initial
ex 1
ex 2
49
Propriétés de listes
list-style-type : none | disc | circle | square | decimal | lower-roman| upper-roman | lower-alpha | upper-alpha
list-style-image : url("chemin/fichier.gif") list-style-position : outside | inside
list-style : list-style-type list-style-image list-style-position
exemples : list-style-image : url(carrebleu1.gif) list-style-type : nonelist-style : square inside
• liste avec inside
• liste avec outside
50
Propriété Display
exemple 1 :<ul><li>item1</li><li>item2</li></ul>
en CSS :li {display:inline;}
exemple 2 :<a href="…">item1</a><a href="…">item2</a>
en CSS :a {display:block;}item1
item2
• item1
• item2
• item3
item1
item2
item1 item2
Display : none | inline | block | list-item
51
Le positionnement
Type de positionnement : static | relative | absolute | fixed- static (statique) : flux normal du code html- relative : décalage par rapport à la position statique- absolute (absolue) : position par rapport au parent- fixed (fixe) : position par rapport à la zone de visualisation
Emplacementtop : n | p % | -n | -p % bottom : n | p % | -n | -p % right : n | p % | -n | -p % left : n | p % | -n | -p %
Superposition z-index : n | -n plus n est grand, plus l'élément est au-dessus des autres
52
Le positionnement relatif
Statique : flux normal du code html
Relatif (relative)- élément dans le flux du code html - décalé par rapport à sa position statique- décalé par rapport à un bord vertical ou/et horizontal- pas de changement de position des autres éléments
Exemple :div#bloc1 {
position: relative; top: 10px; left: -30px;
}
left
top
right
bottom
10px
-30px
53
Le positionnement absolu
Statique : flux normal du code html
Absolue (absolute) - élément indépendant du flux normal- perd son ancienne position dans le flux - les autres éléments peuvent prendre sa position dans le flux- positionné verticalement ou/et horizontalement (top | bottom, left | right) par rapport à l'origine de son parent- largeur et hauteur sont reportées à partir de cette nouvelle origine
Exemple 1div#bloc1 {
position: absolute; top: 10px;left: -30px;
} Exemple 2
div#bloc2 { position: absolute; top: 10px; left: -30px;width: 150px;height:75px;
}
-30px
10px
-30px
10px
54
Le positionnement fixe
Statique : flux normal du code html
Fixe (fixe)- élément dans le flux du code html - décalé par rapport à sa position statique- décalé par rapport à un bord vertical ou/et horizontal- pas de changement de position des autres éléments
Exemple :div#bloc1 {
position: relative; top: 10px; left: -30px;
}
left
top
right
bottom
10px
-30px
55
Le positionnement : superposition d’élément
SuperpositionL’élément de z-index supérieur est au-dessus des autres.
div#cercle {z-index: -2; ...}div#carre{z-index: 1; ...}div#triangle {z-index: 2; ...}
56
Propriétés de page pour l'impression
Pages imprimées@page {
size: landscape; margin: 2cm;
} Pseudo-classes de pages imprimées
@page:first 1ère page du document@page:left pages de gauche du document@page:right pages de droite du document
propriétés de taille (size) : portrait | lanscape (paysage)
57
Apparition d'une image au survol dans un menu
Partie html<div id="menu"><p>
<a href="">menu 1</a><br /> <a href="">menu 2</a><br /> <a href="">menu 3</a> </p><div>
Partie css#menu a:hover {
background-image:url(images/guillemet.png); background-repeat:no-repeat; background-position:1% 50%; padding-left:15px;
}
58
Application css : bouton avec relief
Partie html<input class="bouton" type="submit'' value="Envoyer" />
Partie css (pas avec ie6) input.bouton {
border:2px outset red; font-weight:bold; cursor:pointer; }
input.bouton:hover { border:2px outset white; background-color:white; color:red; }
input.bouton:active { border:2px inset red; background-color:red; color:white; }
59
Propriété content
h1:before {content:’’Rubrique ’’;}
-> ajoute l’expression avant l’élément h1 h2:after {
content:url(haut.gif) ;}
-> ajoute l’image après l’élément
Ne fonctionne pas avec IE6
60
Feuille de style CSS externe liée: link
Pour tous périphériques de sortie<link rel="stylesheet" type="text/css" href="nomdufichier1.css" />
Pour différents périphériques de sortie<link rel="stylesheet" type="text/css" href="nomdufichier1.css" media="screen" /> <link rel="stylesheet" type="text/css" href="nomdufichier2.css" media="print" /><link rel="stylesheet" type="text/css" href="nomdufichier2.css" media="braille" /> <link rel="stylesheet" type="text/css" href="nomdufichier2.css" media="handheld" />
61
Structure de page : noms usuels des zones
• aa• bb• ccc• dd
header
footer
container
navbarnavmai
n
footer
navbar2
menu
main
columnaside
62
Structuration de la feuille de style : exemple d'ordre
Reset global (ex: marge à 0…) Base typographique (H1, H2…) Formulaire Structure de page (container, header, main, footer) Structure des templates (colonne 1, colonne 2…) Éléments de contenu Éléments de navigation Eléments-outils ou toolbox (.clearer, .floatleft) Variantes par gabarit Surcharges pour autres medias (print, handled…)
63
Structuration en n feuilles de style
Disposition de la pagelayout.css
Typographie de la pagestyle.css
Typographie de la partie principale de la pagemain.css
64
Héritage de propriété
Certaines propriétés héritent de la valeur de propriété du parent.
Si on applique une couleur (color) au body, tous les éléments du body héritent de cette couleur.
Attention à l'héritage de la taille de police en % et en em… Certaines propriétés n'héritent pas de la valeur de propriété
du parent. Pas d'héritage de margin et padding. On peut forcer l'héritage d'une propriété par défaut non
héritable avec la valeur inherit.{margin: inherit }
65
Feuilles de style en cascades
h1.cs {color: blue; text-align:center}
@import "styl1.css"; p.cs {color: green}
<link href="styl2.css" rel="stylesheet"><h1 class="cs">texte h1.cs bleu</h1><p class="cs">texte p.cs vert</p><p>texte</>texte p normal</p>
styl1. css
styl2. css
toto.htm
à mettre en premier
même poids en cas de conflit
66
Conflits de règles : priorité à la dernière
Dans un même emplacement (fichier .css, <style>), la dernière règle annule la règle antérieure.
p {font-family:arial}p {font-size: 10 pt}--> p {font-family:arial ; font-size: 10 pt ;}
p {font-family:arial ; font-size: 10 pt}p {font-size: 12 pt}--> p {font-family:arial; font-size: 12 pt ;}
Règle postérieure > Règle antérieure
67
Conflits de style : priorité à la forme la plus proche
<style>p {text-align: center; font-size:10pt;}</style>…<body><p align="right">Texte 1</p><p style="text-align:left">Texte 2</p><p>Texte 3</p></body>
Style intra-ligne > Style interne > Style externe (lié ou importé)
68
Conflits de style : sélecteur contextuel
h1, p { color: blue } em { color: red } h1 em { color: red }
exemples d'utilisationul li { list-style-type: disc } ul ul li {list-style-type: square ; font-size: 10pt }#menu ol a:hover {color: red; }
<h1>Chapitre I</h1><p>Texte avec <em>point important</em></p><h1>Chapitre II avec <em>appui sur un thème</em></h1>
69
Rendre prioritaire avec ! important
L'ajout de !important rend prioritaire la déclaration quel que soit son emplacement.
h2 {color: maroon !important}h2 {color: yellow}
h1 { color: black ! important; background: white ! important } p { font-size: 12pt ! important; font-style: italic }
71
Priorité en fonction des types de sélecteurs
sélecteur déclaration ID classe élément totala b c abc
li {...} a=0 b=0 c=1 = 001ul li {...} a=0 b=0 c=2 = 002ul ol li {...} a=0 b=0 c=3 = 003.titi {...} a=0 b=1 c=0 = 010li.titi {...} a=0 b=1 c=1 = 011ul ol li.titi {...} a=0 b=1 c=3 = 013#toto {...} a=1 b=0 c=0 = 100
Sélecteur avec identifiant > Sélecteur avec classe ou pseudo-classe > Sélecteur contextuel > Sélecteur simple
73
Pour déboguer une page HTML/CSS
Ajoutez la DTD (H)HTML. Passez le code (X)HTML au validateur HTML. Passez le code CSS au validateur CSS. Ajoutez au début du CSS la règle :
* { margin : 0;padding : 0;
} Appliquez une couleur de fond aux éléments posant
problème. Placez en commentaires (/* …*/) les propriétés susceptibles
de poser problème. Essayez dans différents navigateurs et différentes versions. Recherchez sur le web ou dans des ouvrages si le problème
est connu.
74
Arbre syntaxique : exemple (fichier exercice)
html
head body
title h1 p p p p ul
li li liem em