Les feuilles de style en cascade offrent un meilleur contrôle de
l'emplacement et de la présentation des éléments sur une page. Par ailleurs,
elles permettent de créer des effets spéciaux et de rendre un site accessible
aux visiteurs équipés de navigateurs ou de périphériques de sortie spécialisés.
Cette technologie a été introduite par Microsoft avec la version 3.0 (1996),
le but : modifier le contenu d'une page par une grande variété d'effets. En fait avec les feuilles
de styles (CSS ou Cascading Style Sheets), vous contrôlez parfaitement la mise
en page des différents éléments qui composent votre document, vous pouvez définir la couleur d'une police, sa taille, le positionnement d'un
objet (image, texte, ...), les propriétés d'un tableau... Les feuilles de style
permettent de faciliter le travail de présentation et de personnalisation du
document, séparer les données de style du contenu, partager ou mêler des css,
spécifier les médias pris en charge, offrir un choix du style à appliquer, améliorer les performances
Note : Internet Explorer à partir de la version 3.0 et, Netscape à partir de la version 4 supportent les
feuilles de styles.
Une feuille de style en cascade (CSS) définit les styles que vous pouvez appliquer aux pages ou aux éléments de page. Chaque définition de style, ou règle de style, se compose d'un sélecteur suivi des propriétés et des valeurs de ce sélecteur. Voici quelques exemples simples de règles de style définies dans une feuille de style :
H1 { font-size: x-large; color: green }
H2 { font-size: large; color: blue }
.note { font-size: small }
#footer { font-family: serif }
Dans cet exemple, H1 et H2 sont des sélecteurs qui modifient les propriétés de mise en forme des balises HTML standard. Les propriétés et les valeurs des sélecteurs sont placées entre accolades { } — font-size est une propriété qui a pour valeur x-large. Les propriétés d'un sélecteur sont séparées par un point-virgule ( ; ). Dans l'exemple ci-dessus, .note est un sélecteur de classe et #footer représente un sélecteur d'identificateur.
Les feuilles de style en cascade permettent de définir un éventail de propriétés plus étendu que celui des styles HTML standard, à savoir :
Normalement, la syntaxe des déclarations CSS est toujours identique. La méthode est simple, il s'agit de redéfinir le rôle d'une balise HTML en lui imposant de nouvelles propriétés.
Comme les feuilles de styles ne sont pas une composante directe du HTML, vous devez spécifier le langage par défaut à l'aide de la balise META (dans l'en-tête de la page) la déclaration suivante :Comme pour les navigateurs ignorant les Scripts, vous devez cacher le code des feuilles de styles à l'aide des
commentaires :
<!--
//-->
Trois méthodes différentes sont possibles pour intégrer les feuilles de styles en HTML entre les balises <HEAD> et </HEAD>
Cela présente plusieurs avantages :
mises à jour de site plus aisées
changer le style sans toucher le contenu du site
créer votre feuille à l'aide de notepad
Les attributs obligatoires pour faire appel à une css externe via LINK sont
|
href="adresse de la css" |
|
|
type="text/css" : type de données à charger |
Place de la css, via l'attribut REL
|
rel="persistent" - pas d'attribut TITLE |
|
|
rel="preferred" et TITLE="nom de la css" |
|
|
rel="alternate" et TITLE="nom de la css" |
Une seule méthode est possible pour intégrer l'instruction STYLE en tant qu'attribut dans le corps du document
Les balises <SPAN> et <DIV> permettent d'étendre considérablement les possibilités de présentation.
A noter que :SPAN et DIV, prennent en charge les attributs ID et CLASS.
- DIV est normalement utilisé pour des blocs de texte entier.
- SPAN est lui, utilisé que pour des petites portions de texte (mots ou lettres).
Les propriétés sont déclarées ainsi :
Nom: valeur; Nom: valeur
Attention à ne pas confondre la balise STYLE qui s'insère dans HEAD et s'applique au document (ou à des éléments nommés via ID ou CLASS) et l'attribut STYLE qui lui est insérer dans le code HTML et ne s'applique qu'à l'élément auquel il est adjoint.
placé dans HEAD, permet de définir le style de :
tous les éléments d'une catégorie (<P>)
les éléments répondant à une classe (via CLASS)
un seul élément appelé par son nom unique (via ID)
type="content-type" : spécifie le
langage de la css et remplace celui par défaut
media : "media-descriptor" : stipule le
média de rendu (écran, téléphone, oral, ...)
title="texte" : nom de la css
Pour définir une propriété, on indique d'abord la balise concernée puis entre deux accolades les caractéristiques de cette propriété (s'il y a plusieurs propriétés, on les sépare par un point virgule).
Un des avantages des feuilles de style, c'est le positionnement des éléments
(bloc de textes, images ...) au pixels prés !! fini les multitudes de
balises (surtout les tableaux) pour essayer de faire une mise en page
correcte. Pour positionner un élément il existe deux types de
positionnement :
Exemple de positionnement relatif
<DIV STYLE="position: relative; left: 50; top:100">
Ce texte est placé à 50 pixels (de la bordure gauche)
de la commande DIV (code source HTML de la page)
et à 100 pixels du haut de la commande DIV
</DIV>
Exemple de positionnement absolue
<DIV STYLE="position: absolute; left: 50; top:100">
Ce texte est placé à 50 pixels de la bordure gauche de la fenêtre du navigateur et à 100 pixels du haut de cette même fenêtre
</DIV>
| Propriété | Valeur(s) | Description | Exemple |
| font-size | xx-small, x-small, small, medium, large, x-large, xx-large, larger, smaller, ou taille défini en pixels (px) cm (cm), mm (mm), point (pt), pourcentage (%) |
Taille de la police | {font-size: 12pt} |
| font-family | serif, sans-serif, cursive, fantasy, monospace, ou nom de la police (Arial, Verdana, etc...) |
Type de police | {font-family: Arial} |
| font-weight | normal, bold,
bolder, lighter, ou valeur numérique de 100 à 900 (par tranche de 100) |
Poids de la police | {font-weight: bold} |
| font-style | normal, italic,
oblique |
Style de la police | {font-weight: italic} |
| font-variant | normal,
small-caps |
Variante de la police | {font-weight: small-caps} |
| line-height | point (pt),
pourcentage (%) |
Hauteur de la ligne | {line-height: 5pt} |
| color | nom ou valeur
hexadécimale de la couleur |
Couleur de la police | {color: green} |
| background-image | URL du fichier | Image d'arrière-plan | {background-image: url(image/fichier.gif)} |
| background-repeat | repeat , no-repeat, repeat-x, repeat-y |
Répétition de l'arrière-plan | {background-repeat: no-repeat} |
| background-attachment | scroll, fixed | Effet de filigrane | {background-attachment: fixed} |
| background-position | top, center, bottom, left, right | Position de
l'arrière-plan (verticale et horizontale) |
{background-position: center center} |
| vertical-align | baseline, sub,
super, top, text-top, middle, bottom, text-bottom, ou valeurs en pourcentage |
Alignement vertical | {vertical-align: top} |
| text-align | left, right, center, justify | Alignement du texte | {text-align: justify} |
| text-indent | valeur en
pixel ou pourcentage |
Retrait de la première ligne |
{text-indent: 10px} |
| text-decoration | none, underline, overline, line-through |
Décoration du texte | {text-decoration: overline} |
| text-transform | capitalize, uppercase, lowercase, none |
Casse du texte | {text-transform: none} |
| margin-left
(ou -right, -top, -bottom) |
valeur en
pixel ou pourcentage |
Valeurs des marges | {margin-right: 10px} |
| padding-left
(ou -right, -top, -bottom) |
valeur en
pixel ou pourcentage |
Remplissage du bloc | {padding-left: 15pt} |
| border-left
(ou -right, -top, -bottom) |
medium, thick, ou un style |
Type de bordure | {border-top: medium} |
| border-x-width
(x à remplacer par right, left, top, bottom) |
medium, thick
ou taille. |
Taille de la bordure | {border-top-width: 15} |
| border-style | none, dotted, dashed, solid, double, groove, ridge, inset,outset |
Style de la bordure | {border-stylet: ridge} |
| border-color | nom ou valeur
hexadécimale de la couleur |
Couleur de la bordure | {border-color: red} |
| float | none, left, right, both | Alignement
d'un bloc par rapport à un autre |
{float: right} |
| clear | none, left, right,both | Autorise
l'alignement d'un bloc par rapport à un autre |
{clear: right} |
| letter-spacing | normal ou valeur en point | Esapcement des lettres | {letter-spacing: 2pt} |
http://www.zvon.org/xxl/css1Reference/Output/index.html
http://www.w3.org/TR/REC-CSS2/indexlist.html
http://msdn.microsoft.com/workshop/author/css/reference/attributes.asp