TD 02 (Introduction à CSS)

0.  Préparatifs

  1.  Lisez la page Wikipedia à propos de csszengarden.com et relisez le paragraphe à propos de ce site
     dans la section "Limite de CSS" de la page Wikipedia sur les "feuilles de style en cascade".

  2.  Ouvrez ces trois versions dans des fenêtres côte à côte :

  3.  Copiez sur votre machine (dans le répertoire pour ce TD 02)

    Rappel : 1) les spécifications de nommage de vos fichiers sont indiquées dans les modèles HTML et CSS fournis, 2) le travail en binôme est obligatoire.
  4.  Dans votre fichier HTML, intégrez (aux bonnes places !) toutes les lignes/informations du modèle
     suivant (lignes/informations qui ne sont pas déjà dans ces fichiers, commentaires inclus) :
    modèle HTML pour le TD 02. Il s'agit donc de "fusionner" (intelligemment) les deux fichiers HTML.
    Ainsi, par exemple, votre nom et prénom doit apparaître lorsque votre navigateur affiche votre
    version locale.
    Faite ensuite un copier-coller du contenu de votre fichier CSS dans l'élément "style" (provenant de
    l'entête du modèle HTML) puis travaillez seulement sur ce fichier HTML.

  5.  Vérifiez vos copies avec le "HTML+CSS validator" (lien en haut de votre fichier).
    Enlevez les "warnings" du type "unnecessary for element" en documentant l'opération avec un commentaire, e.g., remplacer '<header role="banner">' par '<header><!--pm: out: role="banner"-->'. En effet, comme indiqué dans le modèle HTML fourni, vos ajouts ou modifications doivent être documentés (et donc commencer par vos initiales, "pm" dans l'exemple précédent). Vous n'avez pas le droit d'enlever (commenter) des éléments entiers HTML pour résoudre d'autres warnings/erreurs HTML : si vous avez de telles erreurs, e.g. à propos d'éléments "h1", "aside" ou "nav", c'est que votre fusion du "fichier HTML de Zen Garden" et du "modèle HTML pour le TD 02 est incorrecte.
    Utiliser aussi le bouton "BP check" qui effectuera certaines vérifications sur votre code CSS. D'autres BPs seront manuellement vérifiées. Ainsi, entre autres, vous devez (sauf si vous voulez perdre des points)

1.  Remplacez les spécifications "absolues" par des "relatives"

Remplacez toutes les spécifications "absolues" ("px", "absolute", ... ; dans une moinde mesure, "pt")
par leurs contreparties "relatives" ("%" et, dans une moindre mesure, "rem") en conservant à peu près la même présentation (e.g., conservation de la position et la taille des éléments textuels et des images).
Lorsque possible, minimisez l'usage de "rem" et de "pt", car ils ont des côtés "absolus" ; une règle de BPs_check.js vérifie que vous n'en utilisez pas trop.

Quand vous modifiez,

Vérifiez régulièrement avec le "HTML+CSS validator" que votre CSS n'a pas d'erreur. Il ne marchera pas correctement s'il y a des erreurs. Vérifiez aussi (manuellement et avec le bouton "BP check") que vous suivez (au moins) les BPs listées pour ce cours.

La suppression des "position: absolute" qui existent dans les feuilles de style de Zen Garden (suppression obligatoire ; 0/20 si vous "oubliez") entraîne des déplacements majeurs dans l'affichage de certains éléments. En effet, "position: absolute" sort un élément (celui auquel il est associé) du "flux normal" ["normal flow"] du document. Vous devez donc rechercher et lire des pages du site de MDN relatif au "flux normal" en CSS, au minimum celle-ci relative à "position" et celle-ci relative à "float". Notez aussi que si vous n'arrivez pas à ajuster directement la position d'un élément particulier, vous pouvez essayer d'ajuster la position de son parent direct (ou d'un de ses parents indirects).

2.  Prise en compte de différents médias

  1. Ajoutez des règles "@media" – voir aussi ici – afin que votre page s'adapte bien à plusieurs tailles d'écran (desktop / mobile / ...).  Vous avez le droit d'utiliser des fontes différentes dans différents "media" (comme par exemple expliqué ici), notamment si vous êtes en panne d'idées pour montrer des différences entre les présentations pour différents médias, mais l'adaptation à différentes tailles d'écran est prioritaire.

  2. Adaptez de manière "explicite+additive" (cf. ci-dessous) votre fichier CSS pour une approche "mobile en premier" [mobile first] ;  "de manière explicite+additive" veut dire que

Pour vérifier que votre CSS est adapté aux smartphones, vous pouvez utiliser la visualisation "Responsive Design Mode" de votre navigateur, e.g. via les sous-menus "Tools" - "Web Developer" - "Responsive Design Mode" ou via l'icône du smartphone dans les "Web Developer Tools".

Vérifiez régulièrement avec le "HTML+CSS validator" que votre CSS n'a pas d'erreur. Il ne marchera pas correctement s'il en a. Vérifier aussi (manuellement et avec le bouton "BP check") que vous suivez (au moins) les BPs listées pour ce cours.


Au plus tôt lors de votre séance de TD 02 et avant sa fin  (cf. grille d'évaluation)