Académique Documents
Professionnel Documents
Culture Documents
Document Titres
<html></html> : document HTML <h1></h1> : titre 1er niveau
<body></body> : corps du document <h2></h2> : titre 2ème niveau
<h3></h3> : titre 3ème niveau (... et ainsi de suite jusqu'à 6)
Éléments de texte
Tableau
<p></p> : paragraphe
<table></table> : tableau
<ul></ul> : liste à puce
<tr></tr> : ligne du tableau
<ol></ol> : liste numérotée
<th></th> : cellule de légende de ligne ou de colonne
<li></li> : élément d'une liste
<td></td> : cellule du tableau (colonne)
<a href=""></a> : lien hypertexte
<blockquote></blockquote> : bloc de citation
Structure et habillage
<div></div> : définition de blocs, regroupement d'élements de type block
<span></span> : habillage d'éléments de manière inline
Une feuille de style CSS externe peut se faire avec le simple bloc-note, et il est
d'usage de lui faire porter l'extension .css (style.css par exemple). On la liera ensuite
à la page html à l'aide d'un link placé dans l'en-tête de la page.
Mais on peut aussi déclarer les styles dans l'en-tête de la page, ou au sein
des balises elles-mêmes. Cela peut-être intéressant pour appliquer des styles
spécifiques et ils auront un ordre de priorité plus important. C'est ce qu'on appelle la
"cascade".
Pour chaque déclaration, la structure est toujours la même : Exemple de feuille de style
sélecteur { Fonctionne avec : Tous les navigateurs graphiques
Pourquoi parle-t'on de "feuilles de style en cascade" (Cascading Style Sheets) ? La raison est très simple : on peut
déclarer les styles à différents endroits, et selon ces endroits ils seront plus ou moins prioritaires. On obtient donc une
cascade de styles.
Déclaration des styles dans une feuille de style externe : c'est de loin la meilleure chose à faire et la plus pratique à
maintenir, mais c'est celle qui a le moins de poids
Déclaration des styles en interne, dans l'en-tête de la page : à ne faire qu'avec des styles particuliers à une page. Les
styles déclarés auront plus de poids que ceux de la feuille de style externe et donc l'emporteront en cas de conflits.
Déclaration des styles en attributs des éléments html : à faire pour des mises en forme ponctuelles. Ces styles
l'emporteront sur tous les autres.
Enregistrer le code CSS dans un fichier s'appelant (par exemple) Pour déclarer des styles qui ne s'appliqueront qu'à la page considérée,
"style.css", et mettre dans l'en-tête de la page html (entre les les styles sont à déclarer entre les balises suivantes :
<link href="style.css" rel="stylesheet" Tout ceci est à placer, comme précédemment, entre les balises
1.On n'utilise pas de tailles de caractères fixes comme les points (pt), les picas (pc) ou les centimètres (cm). Celles-ci ne
sont pas redimensionnables à l'écran, or on doit toujours laisser la possibilité au visiteur de zoomer la page.
Pensez que même si vous avez de bons yeux actuellement, ça ne durera pas. Un jour, vous aussi, deviendrez presbyte, et
vous serez content de pouvoir zoomer un texte. Et je ne parle pas de toutes les autres déficiences oculaires...
2.On évite aussi d'utiliser les pixels (px) car Internet Explorer les considèrent comme une unité de taille de caractère
fixe, on se retrouve donc avec le même problème que précédemment.
Il faut donc utiliser des unités relatives, telles que les em ou les %. Ces unités sont proportionnelles à la taille en pixels
déclarée dans le navigateur. Par défaut, ceux-ci sont en général réglés à 16px. C'est donc une taille qui peut être modifiée
par l'utilisateur... On n'a aucun pouvoir là-dessus.
Les couleurs se déclarent grâce à l'attribut color, et à l'aide de codes hexadécimaux ou rvb (on évite les noms).
body {
font-family:arial, sans-serif; font-size:100%;
color:#000000; /*code hexadécimal du noir*/
}
•text-align: left | right | center | justify : aligné à gauche | aligné à droite | centré | texte justifié
•text-decoration: none | underline | overline | line-through | blink : rien | souligné | surligné | rayé | clignotant
•text-transform: none | capitalize | uppercase | lowercase : met en majuscule la 1ère lettre d'un mot | met en majuscules | met en
minuscules
◦ Pour chaque élément html on peut donc définir l'espacement qui le séparera des autres éléments (margin) et les espacements
intérieurs dont il peut bénéficier (padding).
Par exemple :
<blockquote>
<p>
Comme il a été indiqué lors du sommaire exécutif, le coût total de notre projet s'élèvera à 50 500 blockquote est l'élément parent, p est
$. Trente pour cent du coût total, soit 15 000 $, sera financé par des apports personnels (voir l'élément enfant.
tableau 9, section 1 et 2). Le prêt bancaire devrait être emprunté à la Caisse Desjardins ou, à (Pour rappel, la balise blockquote doit
Défaut,
</p> être utilisée pour des blocs de citation.)
</blockquote>
Les tailles de ces marges peuvent se déclarer en pixels margin:2px 5px 2em 0;
(px), en em, en %, etc. Tout dépend si l'on veut qu'elles revient à :
margin-top:2px;
soient fixes ou proportionnelles. margin-right:5px;
On peut détailler les tailles des marges à l'aide des margin-bottom:2em;
margin-left:0;
suffixes -top (haut), -right (droite), -bottom (bas),
-left (gauche), ou synthétiser les quatre d'un seul coup (la
première valeur étant celle du haut, puis on tourne dans
le sens des aiguilles d'une montre).
Nb: Si on ne met que deux valeurs, la 1ère s'appliquera au haut et au bas, la seconde à droite et à gauche.
Code CSS
blockquote {
margin:0;
padding:1px;
background:#C00000;
}
p {
margin:20px;
padding:10px;
background-color:#FFFAFA;
}
<p class="haut">
<a href="#haut">Haut de page</a>
</p>
<div id="contenu">
Faire deux ou trois colonnes en CSS est relativement facile et le langage CSS est fait pour cela. Le code est plus facile à
maintenir, cela offre plus de choix de mise en page sans modification du code html, et surtout c'est plus accessible.
On m'objectera qu'au delà de 3 colonnes, les choses se compliquent et qu'il y a quelques heures d'arrachage de cheveux
pour arriver à faire quelque chose d'uniforme pour tous les navigateurs. Ce n'est pas tout à fait vrai. Vous devriez
(normalement) en être convaincu à la fin de ce tutoriel. Et quoi qu'il en soit le cas le plus courant se limite au plus à 3
colonnes.
Pour faciliter la suite de la mise en forme, les boites menu et contenu seront
englobées dans un autre cadre main.
Le but de l'opération est donc de placer les cadres menu et contenu l'un à côté
de l'autre.
Pour éviter le problème de fusion de marges qui empêche les différents blocs de
"coller" entre-eux, on attribuera à chacun d'eux une marge intérieure haute et basse de
1 pixel (padding:1px 0).
Si on désire un menu de 240 pixels de large et que le contenu ne se "rabatte" pas vers
le bord gauche sitôt la hauteur du menu dépassée, on lui attribuera une marge gauche
d'autant ou d'un peu plus.
Pour ne pas que le pied de page footer soit concerné par ce phénomène de flottaison
(ce qui risque de le faire anormalement remonter), il faudra lui attribuer un clear qui
remet à zéro la sortie du flux.
Pour finir, les écrans ayant tendance à devenir de plus en plus grands et une zone de
lecture étant pénible à lire si elle trop large, on peut aussi attribuer au main une
largeur maximum à ne pas dépasser, 960 pixels par exemple, que l'on peut centrer à
l'aide de margin:auto.
Les épaisseurs des bordures peuvent être déclarées en de nombreuses unités, mais l'usage est d'utiliser les pixels (px).
border-width:2px;
Huit styles sont possibles en CSS 2.1 (la valeur par fossé. Selon les navigateurs, tel ou tel style ne produit pas
défaut étant none) : forcément l'effet escompté...
• dotted (pointillé)
• dashed (tirets) Par exemple, en dessous d'une épaisseur 3 pixels, pas grand chance
• solid (solide) de voir le rendu de double (ce qui est logique du reste...).
• double (double)
Avec MSIE 7 et 8 seuls les quatre premiers donnent un rendu
• groove (rainurée)
• ridge (relief) correct à tous les coups.
• inset (relief intérieur) Avec MSIE6... non : laissez tomber, il n'y a que solid et double qui
• outset (relief extérieur)
donnent le rendu souhaité !
Code CSS
h2 {
border-bottom:1px dashed green;
}
background-position:right top;
ou :
background-position:100% 0%;
background-position:center center;
background-position:right bottom;
ou :
ou :
background-position:50% 50%;
background-position:100% 100%;
Menu déroulant
les menus déroulants. Ici, ce n'est juste d'un aperçu. Pour montrer que c'est possible. Il y a d'ailleurs d'autres méthodes que
celle-ci. Mais c'est plus compliqué que cela en a l'air. Car, hélas, il faut en général rajouter une couche de javascript à
cause de... MSIE6 bien sûr
1. :link
2. :visited
3. :hover
4. :active
Chacune de ces pseudo-classes CSS peuvent se styliser en suivant le même principe qu'expliqué ci-dessus.
Arrondir les coins est sûrement l'un des effets graphiques les plus recherchés par les webdesigners. Pour cela, on a
longtemps utilisé des images avec plus ou moins de bonheur et de facilité pour obtenir l'effet recherché
.Maintenant que la propriété border-radius est implémentée même par Internet Explorer, il n'y a plus vraiment de raisons
de ne pas l'utiliser. Et pour les vieux navigateurs qui ne la reconnaissent pas, soit on s'en moque, soit on reste aux vieilles
méthodes...
La propriété border-radius peut accepter 4 valeurs pour l'arrondissement de chaque coins. La 1ère valeur correspond au
coin haut gauche, puis on tourne dans le sens des aiguilles d'une montre.
On peut n'en indiquer que 2, qui correspondront aux coins opposés (voir l'exemple ci-dessous), ou une seule pour un
même arrondis sur les 4 coins.
La propriété box-shadow doit recevoir plusieurs valeurs (les deux premières étant obligatoires) :
Sinon, aucun besoin de préfixes propriétaires et, hormis pour l'étendue qui n'existe pas, même principe que box-
shadow pour les valeurs à lui attribuer.
<h5>Titre ombré</h5> h5 {
text-shadow:1px 1px 2px gray;
}
Quant à l'effet "gravure" que l'on rencontre de plus en plus, il utilise le même procédé mais avec une couleur plus claire
que la couleur de fond.
h5 {
text-shadow:1px 1px 1px 1px white;
}
Les CSS3 apportent une vraie simplification et une souplesse à toute épreuve avec les background multiples.
La syntaxe est de plus extrêmement simple : elle est identique au background de CSS 2.1, chaque nouveau fond devant
être simplement séparé par une virgule.
#contenu {
background:url(images/houx2.gif) no-repeat left top,
url(images/houx2.gif) no-repeat right top,
url(images/houx2.gif) no-repeat left bottom,
url(images/houx2.gif) no-repeat right bottom;
}
Ne rien indiquer comme proportions revient à déclarer (white 0%, black 100%), ce qui donne
le mélange maximum entre les deux couleurs. Le fondu atteint ses limites on déclarant 50% aux
deux couleurs(white 50%, black 50%) ou toute autre quantité où le % de la couleur initiale
est supérieur à celui de la couleur finale.
Toujours par défaut, le dégradé se fait vers le bas, ce qui équivaut à déclarer (to bottom,
white, black).
les navigateurs utilisant les préfixes propriétaires ont implémenté la propriété gradient sur la base d'une ancienne spec.
utilisant les mots clés top, right, bottom, left. Ceux-ci indiquent le côté d'orgine du dégradé et non to
bottom, to left (etc.) indiquant le sens du dégradé. Le code précédent préfixé, pour Firefox par exemple, donnera :