Module Com231A - Web et Bases de Données Notion 2: introduction aux CSS

La page est créée Nadia Leger
 
CONTINUER À LIRE
Module Com231A - Web et Bases de Données Notion 2: introduction aux CSS
Module Com231A - Web et Bases de Données
                Notion 2: introduction aux CSS
1.       CSS : Cascading Style Sheets
   Avec XHTML, vous vous êtes concentré sur le contenu et la structure logique de vos pages.
Maintenant, vous allez voir comment l'utilisation de CSS (Cascading Style Sheets = Feuilles
de Styles en Cascade) va vous permettre d'améliorer la présentation et l'esthétique de vos
pages. L'utilisation des CSS et de XHTML permet une bonne distinction entre le contenu de
la page et sa présentation.
   Nous avons vu en XHTML la balise  qui sert à définir un titre. La CSS va, par
exemple, vous permettre de déclarer que tous vos titres  seront de couleur rouge et avec
la police Arial, dans tout votre document.
   Cela permet d'écrire une seule page XHTML et de proposer différentes présentations de
cette même page. Allez sur le site du module, dans la rubrique dédiée au CSS. L'exemple 1 et
l'exemple 2 vous proposent la même page XHTML à laquelle on a associée deux CSS
différentes. Regardez le code de ces deux CSS et essayez de trouver à quoi correspond
chacune des lignes.
  Inversement, une CSS peut très bien servir pour plusieurs pages Web et ainsi toutes les
pages de votre site auront la même présentation.
   Le nombre d'attributs et de valeurs étant très importants, nous ne ferons pas ici le tour
exhaustif de tout ce que l'on peut faire avec des CSS. Nous ne verrons pas non plus l'aspect
'en cascade' des feuilles de style.

2.       Déclaration d'une CSS par fichier externe
   Il existe plusieurs manières de déclarer une CSS. Nous ne verrons ici que la déclaration
d'une CSS par le biais d'un fichier externe.
  Vous devez indiquer dans votre fichier XHTML dans la balise  le nom du fichier
contenant la description de votre style. Par exemple, pour lier la feuille de style style1.css
vous devez rajouter la ligne suivante :
  
  Vous devez ensuite écrire votre feuille de style dans le fichier style1.css. Par exemple, la
feuille de style suivante permet de modifier le style de toutes les balises :
  h1 {
         font-family: Arial, Helvetica,sans-serif; /* changer le style de la police        */
         font-size: 14px;                         /* changer la taille de la police        */
         color: #00ff00;                         /* changer la couleur de la police        */
         background-color :#000000;                   /* changer la couleur de fond        */
  }

                                                                                            1
Exercice 1
     1- Chargez le gabarit d'un fichier XHTML avec appel de CSS à partir du site du module;
        Rajoutez des paragraphes et des balises  et  dans votre page.
     2- Créez une feuille de style style1.css permettant de modifier l'apparence de la balise
         ;
     3- Validez votre fichier XHTML avec le validateur W3C;
     4- Validez votre feuille de style avec le validateur dédié aux CSS :
            http://jigsaw.w3.org/css-validator/ (lien sur le site du module)
     5- Faites en sorte que les titres de niveau 2 apparaissent en vert dans votre page.

     Dans la suite des TP et dans votre projet, vous devrez valider vos pages XHTML mais
                               aussi valider vos feuilles de style.

3.       Le codage de la couleur
  La couleur sur un ordinateur est générée à partir d'un mélange de 3 couleurs, le rouge, le
vert et le bleu. Chaque couleur est représentée par un chiffre entre 0 et 255. 0 étant l'absence
de couleur et 255 la couleur intégrale. Finalement ce chiffre est représenté en valeur
hexadécimale. Ainsi le noir est représenté par 00 00 00 et le blanc par FF FF FF. Pour
indiquer une couleur vous devez combiner les trois valeurs rouge-vert-bleue précédées par le
symbole #. Par exemple, pour obtenir la couleur bleu vous devez utiliser la combinaison
#000099. Vous pouvez ainsi créer vos propres couleurs.
Il existe plusieurs mots réservés pour les couleurs les plus classiques :
-    black = noir,
-    white = blanc,
-    red = rouge,
-    blue = bleu,
-    …

4.       La syntaxe des CSS
Comme dit précédemment, il existe plusieurs façons de déclarer des CSS. Nous nous
limiterons ici aux "jeux de règles". Une règle est définie comme suit :

avec :
     •   le sélecteur correspondant à la balise en code pur HTML, dont on veut modifier les
         propriétés;

                                                                                              2
• le sélecteur est suivi d'un bloc de déclarations entre accolades, ce bloc définissant
       l'ensemble des modifications (ie des déclarations) que l'on souhaite faire sur la balise;
     • La déclaration se compose de deux parties :
       - la propriété par exemple font-size (ie la taille de la police);
       - la valeur, par exemple : 16pt (ie la valeur que l'on veut donner à la taille de la
           police)

Ecrire une feuille de style revient donc à décrire un jeu / ensemble de règles, chaque règle
modifiant une balise XHTML.
On peut classer les propriétés en plusieurs catégories:
         -   les propriétés de couleur et de fond
         -   les propriétés associées aux polices et au texte (caractères et formatage d'un texte);
         -   les propriétés associées aux listes (présence ou non de puces, …);
         -   les propriétés associées aux tables (styles des bordures d'un tableau, …);

5.       Propriétés de couleur et de fond
Nous allons commencer par voir les propriétés servant à modifier la couleur du texte et le
fond d'un document. Il s'agit des propriétés suivantes:
         -   color : pour définir la couleur du texte;
         -   background-color : pour définir la couleur de fond du document;
         -   background-image : pour spécifier une image de fond dans le document.

Ces propriétés peuvent s'associer à différentes balises comme par exemple :
         -   à la balise  pour définir la couleur et le fond de l'ensemble de votre page
             web;
         -   à une balise  pour définir seulement vos titres;

Comme nous l'avons vu précédemment, vous pouvez indiquer la valeur de la couleur en
hexadécimal ou en langue anglaise.
body { /* l'ensemble du document aura ces propriétés */
     color: #434a6a;
     background-color: white;
     background-image:url(../fleur1.jpg);
}

h1 {
         color: #e8eaff;
         background-color :#babcec;
}

Remarque : /* … */ servent à rajouter des commentaires dans votre code, qui ne seront pas
vus sur votre site.

                                                                                                   3
6.      Propriétés associées aux polices et au texte
Les propriétés permettant de modifier du texte sont les suivantes:
        -   font-family: police de caractères; valeur: une police, par exemple Verdana,
            Arial, Helvetica, Geneva, …;
        -   font-size: taille de la police; valeur : une taille, par exemple 12px;
        -   font-style: style de la police; valeur : normal, italic;
        -   font-weight: épaisseur de la police; valeur : normal, bold, bolder,
            lighter;
        -   text-decoration: soulignement           du texte; valeur : none, underline,
            overline, line-through
        -   text-align : alignement du texte; valeur : left, right, center, justify
        -   letter-spacing : distance entre les lettres; valeur : une distance, par exemple
            1px;

  Exercice 2
  Reprenez la feuille de style de l'exercice 1 et complétez cette feuille (ainsi que la page
HTML pour avoir un exemple assez conséquent) :
     1- en rajoutant de la couleur;
     2- en modifiant les polices;
     3- Validez votre fichier XHTML avec les validateurs.

7.      Propriétés associées aux listes
Les propriétés permettant de modifier les listes sont les suivantes:
        -   list-style-type : type de puces à appliquer dans la liste; valeur : disc,
            circle, square, decimal, none;
        -   list-style-image : spécification d'une image à utiliser comme puce à la place
            des puces habituelles utilisées dans des listes; valeur : url(image.gif);

                                                                                          4
8.     Propriétés associées aux tableaux
Les propriétés des bordures

   Les CSS fournissent un ensemble de propriétés permettant de définir les bordures qu'il
s'agisse de bordures de tableau, de zone de texte, etc. Vous pouvez utiliser les propriétés
suivantes pour donner un style à la bordure de vos tableaux:
       -   border-color : couleur de la bordure; valeur : une couleur;
       -   border-style : forme de la bordure; valeur : none, hidden, dotted, dashed,
           solid, double groove, ridge, inset, outset;
       -   border-width : épaisseur             de   la      bordure;   valeur:   épaisseur     ou
           thin, medium, thick;
   Chaque côté de la bordure étant indépendant des autres, ces propriétés existent aussi
classées en fonction du côté qu’elles traitent. Par exemple : pour le top (le haut): border-
top-color, border-top-style et border-top-width. Il existe la même chose pour
bottom, left et right.

L'exemple suivant permet d'obtenir un tableau dont chaque case est entourée avec une bordure
bleue avec un texte centré dans la case. Par contre, la bordure du tableau lui-même n'est
affichée qu'en haut et en bas.
  table, td {
    border-color : #6495ed;
    border-top-style : solid ;
    border-bottom-style : solid ;
    border-width :thin;
    text-align : center;
  }

  td {
    border-left-style : solid ;
    border-right-style : solid ;
  }

Les propriétés propres des tables

Les propriétés suivantes n'existent que pour les tableaux:
       -   padding : espace entre la bordure et le contenu des cellules; valeur : la largeur;
       -   border-collapse : fusionner la bordure du tour du tableau et la bordure des
           cases; valeur : collapse pour fusionner, separate pour séparer les bordures.
Rajouter la propriété : border-collapse: collapse; dans le jeu de règles précédents
pour table et td donne alors l'affichage suivant :

                                                                                                 5
9.       Les classes
   On a vu précédemment que lorsque l'on définissait un style pour un élément HTML, tous
les éléments HTML du même nom étaient définis de la même manière. Par exemple,
lorsqu'on crée une règle pour les tableaux, tous tableaux sont identiques dans toutes nos
pages. L’intérêt d’utiliser une classe pour définir un style est d’avoir plusieurs styles possibles
pour un élément HTML donné. On pourra, par exemple, avoir un tableau avec des bordures et
un autre tableau sans bordure.
    La syntaxe pour déclarer une classe dans une CSS est de la forme suivante :
    balise.NomClasse
{
    propriété1 : valeur1 ;
    propriété2 : valeur2 ;
    …
    propriétéN : valeurN ;
}
    L'appel de cette classe dans le fichier HTML est :
    …

L'exemple suivant permet d'avoir deux cellules de couleurs différentes dans un tableau.
Extrait de code HTML correspondant au tableau:
    
         une cellule grise 
         une cellule bleue 
      
Code CSS associée:
     td.grise
    {
      background-color: grey;
    }

    td.bleue
    {
      background-color: blue;
    }

    Exercice 3
     1- Créez la liste imbriquée suivante :
         lundi : tennis, math, info;
         mardi : biologie, tennis, anglais
         mercredi : tennis, histoire, théâtre

                                                                                                 6
2- En utilisant les classes, faites en sorte que
       a. les jours de la semaine apparaissent en bleu clair, en police arial, gras, sur un
          fond bleu foncé,
       b. les matières apparaissent en noir, sur fond bleu clair, en police verdana, avec
          des images comme puces,
3- Validez vos pages (HTML et CSS).

                                                                                         7
Vous pouvez aussi lire