X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=unix_prog_web%2Funix_prog_web_05.xhtml;fp=unix_prog_web%2Funix_prog_web_05.xhtml;h=0000000000000000000000000000000000000000;hb=564cbcc2c27a723d2bdf12cf690a66eb7f36b813;hp=29a7ce1947cf63a1ba8f3be9e6ddf5f404f216bf;hpb=1f1881ec66dcaac7b574a13eb78f61249b4f6308;p=hacks%2FsimpleWebSlides.git diff --git a/unix_prog_web/unix_prog_web_05.xhtml b/unix_prog_web/unix_prog_web_05.xhtml deleted file mode 100644 index 29a7ce1..0000000 --- a/unix_prog_web/unix_prog_web_05.xhtml +++ /dev/null @@ -1,668 +0,0 @@ - - - - - CSS - - - - - - - - - - - - - - - - - - - - -
-

Unix et Programmation Web

-

Cours 5

-
kn@lri.fr
- http://www.lri.fr/~kn -
-

Introduction

-
-

Cascading Style Sheets (CSS)

- - - - -
CSS - Langage permettant de décrire le style graphique - d'une page HTML -
-

On peut appliquer un style CSS

- -
-
-

L'attribut style

- color:redUn lien]]> - -

Apperçu:

-

- Un lien -

-

Inconvénients :

- -
- -
-

L'élément style

- - - … - - - - Lien 1 Lien 2 - - ]]> -

Apperçu :

-

- Lien - 1 - Lien 2 - -

-

Inconvénient : local à une page

-
-
-

Fichier .css séparé

-

Fichier style.css:

-

- a { color: red; } -

-

Fichier test.html:

-

- - - … - ]]><link href="style.css" type="text/css" rel="stylesheet" /> - - … - ]]> -

-

Modifications & déploiement aisé

-
-
-

Syntaxe

-

Une propriété CSS est définie en utilisant la - syntaxe: -

-

nom_prop : val_prop - ;

- -
-

Boîtes

-
-

Unités de longueur

-

CSS permet de spécifier des longueurs comme valeurs de - certaines propriétés (position et taille des éléments, épaisseur - des bordures, …). Les longueurs doivent comporter une - unité. Les unités reconnues sont:

- - - - - - - - - - - - -
px pixel
in pouce (2,54cm)
cm centimètre
mm millimètre
pt point (1/72ème de pouce, 0,35mm)
pc pica (12 points)
em facteur de la largeur d'un caractère de la police - courante
ex facteur de la hauteur d'un caractère « x » - de la police courante
% pourcentage d'une valeur particulière - (définie par propriété)
vh viewport height (% de la - hauteur de la partie visible de la page)
vw viewport - width (% de la largeur de la partie visible de la - page)
-
- - -
-

Boîte

- -

Chaque élément de la page HTML possède une boîte - rectangulaire qui délimite le contenu de l'élément: -

-
- ← width →
- margin (marge)
- - border (bordure)
- - padding (ajustement)
- - Lien 1 - - -
-
-
-
↑



- height



↓ -
-
- -

La taille t du contenu est calculée pour que:
- (height|width) = padding + margin + border + t -

-
-
-

Marge, bordure, ajustement

-

On peut spécifier jusqu'à 4 valeurs:

- - span { - padding:10pt 20pt 5pt 0pt; - margin:10pt 5pt; - border-width:3pt; - border-color:red blue green; - border-style:solid dotted; - } -
Du texte dans une boite -
-
-
-

Modes d'affichage

-

La propriété display contrôle le mode - d'affichage d'un élément: -

- - - - - - -
nonel'élément n'est pas dessiné et n'occupe - pas d'espace
inlinel'élément est placé sur la ligne - courante, dans le flot de texte. La taille du contenu (avec - les marges, ajustements et bordures) dicte la - taille de la boîte, height et width sont - ignorés (, , , , …]]> - sont inline par défaut).
blockl'élément est placé seul sur sa - ligne. La taille est calculée automatiquement mais peut être - modifiée par width et height - (,

,

, …]]> - sont block par défaut)

inline-blockpositionné comme inline - mais la taille peut être modifiée comme pour block
-
-
-

Modes d'affichage (exemples)

-
-
- a { display: inline; … } -
-
- Le lien 1, - le lien 2 et - le lien 3. -
-
-
-
- a { display: block; … } -
-
- Le lien 1, - le lien 2 et - le lien 3. -
-
-
-
- a { display: inline-block; - width: 4em; - height: 2em; - … } -
-
- Le lien 1, - le lien 2 et - le lien 3. -
-
-
-
-

Positionnement

-

Le type de positionnement est donné par la - propriété position

- - - - - -
staticpositionnement « automatique - »
fixedpositionnement par rapport à la fenêtre - du navigateur (la boîte est supprimée du flot)
relativepositionnement « relatif » par - rapport à la position normale
absolutepositionnement « absolu » par rapport - à l'ancêtre le plus proche qui n'est pas static
-

Pour fixed, relative et absolute, - les propriétés top, bottom, left - et right dénotent les décalages respectifs. -

-
-
-fixed - (right:10pt,top:10pt) -

Positionnement (exemple)

-
-
- a { position: static; - … } - a { position: fixed; - right:10pt; - top: 10pt; - - } - -
-
- a { position: relative; - left: 10pt; - bottom: -5pt; - … } - a { position:absolute; - right:0pt; - bottom: 10pt; - } - -
-
-

  • …
  • …]]>

    - -
    -

    Autres propriétés

    -
    -

    Couleurs

    -

    Les couleurs peuvent être données:

    - -
    -
    -

    Propriétés du texte

    -

    Certaines propriétés permettent d'alterer le rendu du texte - d'un élément

    - - - - - - -
    directionltr ou rtl - (orientation du texte)
    text-transform capitalize, uppercase, lowercase -
    text-decoration underline, overline, line-through
    text-align left, right, center, justify
    text-indent longueur du retrait de paragraphe
    -
    -
    -

    Propriétés de la police

    - - - - - -
    font-familyliste de nom de polices séparées - par des virgules (Helvetica, sans, "Times New Roman")
    font-style normal, italic
    font-weight normal, lighter, bold, bolder
    font-size soit une longueur - soit xx-small, x-small, small, medium, - large, x-large, xx-large -
    -

    On peut aussi spécifier un descripteur de - police

    - - @font-face { - font-family: Toto; - src: url(toto.ttf); - } - a { font-family: Toto; } - -
    -

    Selecteurs

    -
    -

    Selecteurs

    -

    On peut sélectionner finement les éléments auxquels un style - s'applique

    - - - - - - - - - -
    xtous les éléments dont la balise - est x
    .foo tous les éléments dont - l'attribut class vaut foo
    #fool'élément dont l'attribut - id vaut foo (les id doivent être uniques)
    X Y tous les éléments - selectionnés par Y qui sont des descendants d'éléments - sélectionnés par X
    X > Y tous les éléments dont - selectionné par Y qui sont des fils d'éléments - sélectionnés par X
    a:visitedles liens déjà - visités
    a:linkles liens non - visités
    X:hoverélément selectionné - par X et survollé par la souris
    - div.foo ul li a:visited { color: red; } -
    - -
    -

    exemple : menu dépliable

    - -
  • Entrée 1 -
    • Sous-entrée 1.1
    • -
    • Sous-entrée 1.2
    • -
    • Sous-entrée 1.3
    • -
    -
  • -
  • Entrée 2 -
    • Sous-entrée 2.1
    • -
    • Sous-entrée 2.2
    • -
    • Sous-entrée 2.3
    • -
    -
  • - -]]>
    -
    -
    -

    Analyse

    -

    Pour que le ménu soit « dépliable » lors du survol de la souris, - on souhaite que :

    - -
    -
    -

    exemple : menu dépliable (démo)

    - - -
    -
    -

    Style CSS du menu

    -

    - li { padding: 10pt 0pt 10pt 0pt; - display:block; - background:orange; - color:blue; - } - .sous-menu { display : none; } - - ul.menu > li:hover ul.sous-menu { display: block; } - ul.menu > li:hover ul.sous-menu > li { - background:blue; - color:orange; - } - -

    -
    -
    -

    Priorité d'application des règles (cascade)

    -

    Les règles sont appliquées dans l'ordre suivant :

    - -
    -
    -

    z-index

    -

    Il arrive que certaines boites se recouvrent :

    -
    -
    - Du texte recouvert -
    -
    -
    -
    -

    On peut utiliser la propriété z-index pour définir l'ordre - d'empilement (plus elle est élevée, plus la boite est en avant plan) -

    -
    -
    - Du texte recouvert -
    -
    -
    -
    -
    -

    requête media-type

    -
    -

    Différents styles pour différents affichages

    -

    On peut charger un style CSS de manière conditionnelle grace à - l'attribut media de la balise link. - La valeur de l'attribut est une formule logique où l'on - peut tester le type de support d'affichage ainsi que ces - caractéristiques physiques : -

    - - - - - -]]> -

    Cela permet d'appliquer des styles spécifiques lors de l'impression - d'une page ou pour des terminaux mobiles (ayant une petite taille - d'écran) ou de changer de style si l'orientation de l'écran est modifiée.

    -
    -
    -

    Gestion du débordement

    -

    L'attribut overflow permet de gérer le débordement. Il - peut prendre les valeurs visible, hidden et auto - :

    -
    -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do -eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad -minim veniam, quis nostrud exercitation ullamco laboris nisi ut -aliquip ex ea commodo consequat. Duis aute irure dolor in -reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla -pariatur. Excepteur sint occaecat cupidatat non proident, sunt in -culpa qui officia deserunt mollit anim id est laborum. -
    -
    -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do -eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad -minim veniam, quis nostrud exercitation ullamco laboris nisi ut -aliquip ex ea commodo consequat. Duis aute irure dolor in -reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla -pariatur. Excepteur sint occaecat cupidatat non proident, sunt in -culpa qui officia deserunt mollit anim id est laborum. -
    -
    -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do -eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad -minim veniam, quis nostrud exercitation ullamco laboris nisi ut -aliquip ex ea commodo consequat. Duis aute irure dolor in -reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla -pariatur. Excepteur sint occaecat cupidatat non proident, sunt in -culpa qui officia deserunt mollit anim id est laborum. -
    - -
    - -