Web - TP2 - CSS
This commit is contained in:
parent
2fe01835ff
commit
3f1e5d91ba
2 changed files with 83 additions and 41 deletions
BIN
src/cours/CIEL1/04-web-statique/tp/images/result-tp2.png
Normal file
BIN
src/cours/CIEL1/04-web-statique/tp/images/result-tp2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 802 KiB |
|
|
@ -1,20 +1,23 @@
|
||||||
# Titre activité
|
# Web statique - Activité - Feuilles de style CSS
|
||||||
|
|
||||||
## Objectifs
|
## Objectifs
|
||||||
|
|
||||||
### Objectifs pédagogiques
|
### Objectifs pédagogiques
|
||||||
|
|
||||||
- **Objectif** : Description
|
- Ajouter une feuille de style à notre page web
|
||||||
|
- Manipuler les sléecteurs et les propriétés
|
||||||
|
- Apprendre à utiliser le modèle de boîte
|
||||||
|
- Apprendre à manipuler les flexbox
|
||||||
|
|
||||||
### Objectifs techniques
|
### Objectifs techniques
|
||||||
|
|
||||||
- **Objectif** : Description
|
- Améliorer l'aspect visuel de notre site web pour le rendre attrayant
|
||||||
|
|
||||||
## Validation
|
## Validation
|
||||||
|
|
||||||
### Livrables
|
### Livrables
|
||||||
|
|
||||||
- Le code final
|
- Le code final HTML + CSS (zip)
|
||||||
- Le compte-rendu de l'activité
|
- Le compte-rendu de l'activité
|
||||||
|
|
||||||
Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM2_Prenom2`.
|
Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM2_Prenom2`.
|
||||||
|
|
@ -23,9 +26,10 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
|
||||||
|
|
||||||
### Résultats attendus
|
### Résultats attendus
|
||||||
|
|
||||||
- [ ] Le programme se lance sans erreur.
|
|
||||||
- [ ] Chaque fonction contient une docstring minimale expliquant sa fonctionnalité. Bonus : Doctsrings complètes au format Numpy.
|
|
||||||
- [ ] Le code est propre, correctement formaté, les variables, fonctions et paramètres sont bien nommés, les conventions sont respectées.
|
- [ ] Le code est propre, correctement formaté, les variables, fonctions et paramètres sont bien nommés, les conventions sont respectées.
|
||||||
|
- [ ] La page web d'accueil affichée dans un navigateur ressemble à ceci (ou version personnalisée)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### Critères d'évaluation
|
### Critères d'évaluation
|
||||||
|
|
||||||
|
|
@ -41,15 +45,15 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
|
||||||
- Autonomie dans la progression (2pts)
|
- Autonomie dans la progression (2pts)
|
||||||
- Bonus +2pts
|
- Bonus +2pts
|
||||||
|
|
||||||
## Documents fournis
|
|
||||||
|
|
||||||
- Cours
|
|
||||||
- Docs
|
|
||||||
- Code préalable
|
|
||||||
|
|
||||||
## Étapes
|
## Étapes
|
||||||
|
|
||||||
### 3 - Un peu de style
|
### 0 - Mise en place
|
||||||
|
|
||||||
|
- Nous repartons du résultat du TP précédent.
|
||||||
|
- Vérifiez que toutes vos modifications aient bien été commitées.
|
||||||
|
- Créez un nouveau fichier de compte-rendu.
|
||||||
|
|
||||||
|
### 1 - Un peu de style
|
||||||
|
|
||||||
**Objectif :** Ajouter une feuille de style
|
**Objectif :** Ajouter une feuille de style
|
||||||
|
|
||||||
|
|
@ -65,7 +69,8 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
|
||||||
~~~html
|
~~~html
|
||||||
<link rel="stylesheet" href="style.css">
|
<link rel="stylesheet" href="style.css">
|
||||||
~~~
|
~~~
|
||||||
4. Vérifier que le titre de votre site s'affiche désormais en bleu
|
4. Vérifier que le titre de votre site s'affiche désormais en bleu.
|
||||||
|
5. Vous pouvez mettre une couleur plus agréable (par exemple : `#213C54`)
|
||||||
5. Faire un nouveau commit (après avoir complété votre compte-rendu).
|
5. Faire un nouveau commit (après avoir complété votre compte-rendu).
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -83,25 +88,34 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
|
||||||
- les valeurs de propriétés
|
- les valeurs de propriétés
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4 - Un peu de créativité
|
### 2 - Un peu plus de style
|
||||||
|
|
||||||
**Objectif :** Compléter le style de votre site web avec la feuille de style CSS
|
**Objectif :** Compléter le style de votre site web avec la feuille de style CSS
|
||||||
|
|
||||||
```admonish travail
|
```admonish travail
|
||||||
|
#### Sélection par type de balise
|
||||||
1. Utilisez la [documentation](https://developer.mozilla.org/fr/docs/Web/CSS/text-align) pour centrer le titre de votre page
|
1. Utilisez la [documentation](https://developer.mozilla.org/fr/docs/Web/CSS/text-align) pour centrer le titre de votre page
|
||||||
1. Ajoutez l'attribut `id="devise"` au paragraphe de la devise du cabinet.
|
|
||||||
1. Utilisez cet attribut dans un sélecteur CSS pour centrer la phrase sous le titre et mettre le texte en italique (propriété `font-style`). Aidez-vous de la [documentation](https://developer.mozilla.org/fr/docs/Web/CSS/Reference#s%C3%A9lecteurs).
|
|
||||||
1. Utilisez la [documentation de Mozilla](https://developer.mozilla.org/fr/docs/Web/CSS/font-family) pour que la police par défaut de votre page soit `Helvetica`
|
1. Utilisez la [documentation de Mozilla](https://developer.mozilla.org/fr/docs/Web/CSS/font-family) pour que la police par défaut de votre page soit `Helvetica`
|
||||||
1. Utilisez la documentation pour que le lien sur `Alexandrie` devienne vert que lorsqu'on le survole avec la souris. Il doit rester noir sinon.
|
|
||||||
1. Encapsulez le texte de description ainsi que l'image dans une balise `<section>`. Ajoutez l'attribut `class="description"` à la section.
|
|
||||||
1. À l'aide des propriétés CSS [`margin-right`](https://developer.mozilla.org/fr/docs/Web/CSS/margin) `margin-left` et [`max-width`](https://developer.mozilla.org/fr/docs/Web/CSS/max-width.), essayez de :
|
|
||||||
- centrer le contenu de votre page
|
|
||||||
- limiter le contenu à 800 pixels de large.
|
|
||||||
1. Faites un nouveau commit (après avoir complété votre compte-rendu).
|
|
||||||
```
|
|
||||||
|
|
||||||
```admonish help title="Aide"
|
#### Sélection par balise encapsulée
|
||||||
- Pour selectionner un élément lorsqu'il est survolé, vous pouvez utiliser la pseudo-classe `element:hover`
|
1. Encapsulez les liens vers les autres pages dans une balise `<nav>` (en HTML).
|
||||||
|
1. Utilisez la documentation pour changer le style des liens inclus dans `<nav>` vers les autres pages du site.
|
||||||
|
- Ils devront s'afficher en `#1565c0`
|
||||||
|
- Ils ne devront plus être soulignés
|
||||||
|
- Il devront s'afficher en un peu plus grand que le reste
|
||||||
|
|
||||||
|
#### Sélection par `id`
|
||||||
|
1. Ajoutez l'attribut `id="devise"` au paragraphe de la devise du cabinet (dans le html)
|
||||||
|
1. Utilisez cet attribut dans un sélecteur CSS pour centrer la phrase sous le titre et mettre le texte en italique (propriété `font-style`). Aidez-vous de la [documentation](https://developer.mozilla.org/fr/docs/Web/CSS/Reference#s%C3%A9lecteurs).
|
||||||
|
|
||||||
|
#### Sélection par classe
|
||||||
|
1. Dans le HTML, encapsulez le texte de description ainsi que l'image dans une balise `<section>`. Ajoutez l'attribut `class="description"` à la section.
|
||||||
|
1. Modifiez la couleur de fond de cette zone pour avoir `#EAC194`
|
||||||
|
|
||||||
|
#### Sélection par pseudo-classe
|
||||||
|
1. Changez la couleur des liens de navigation vers les autres pages du site **uniquement** lorsque le curseur de la souris passe au-dessus. Il devront s'afficher en `#005f99`.
|
||||||
|
|
||||||
|
1. Faites un nouveau commit (après avoir complété votre compte-rendu).
|
||||||
```
|
```
|
||||||
|
|
||||||
```admonish note title="Dans le compte rendu"
|
```admonish note title="Dans le compte rendu"
|
||||||
|
|
@ -110,32 +124,60 @@ Le tout dans un répertoire avec le nom suivant `YYYY-MM-DD_TPX_NOM1_Prenom1_NOM
|
||||||
- par classe
|
- par classe
|
||||||
- par id
|
- par id
|
||||||
- quand on survole avec la souris
|
- quand on survole avec la souris
|
||||||
2. Expliquez les propriétés que vous avez utilisées (donnez leur nom et leur rôle)
|
2. Expliquez 3 **propriétés** que vous avez utilisées (donnez leur nom et leur rôle)
|
||||||
3. Expliquez la différence entre la taille en `rem` et en `px`. Pour un site qui s'adapte aux préférences des utilisateurs, quelle notation allez-vous préférer ?
|
3. Expliquez la différence entre la taille en `rem` et en `px`. Pour un site accessible, qui s'adapte aux préférences des utilisateurs, quelle notation allez-vous préférer ?
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 3 - Une boîte autour de la description du site
|
||||||
|
|
||||||
## Pour aller plus loin
|
**Objectif** : Manipuler les boîtes (box model) en CSS pour gérer la description et l’image, ainsi que leurs marges et paddings.
|
||||||
|
|
||||||
### Bonus facile - titre
|
|
||||||
|
|
||||||
**Objectif**:
|
|
||||||
|
|
||||||
```admonish travail
|
```admonish travail
|
||||||
```
|
2. Dans le fichier CSS, ajoutez des règles pour `.description` :
|
||||||
|
|
||||||
|
- Ajoutez une bordure continue de 2px `#8396a8`
|
||||||
|
- Ajoutez un padding de 20px pour créer un espace intérieur.
|
||||||
|
- Ajoutez une marge de 30px en haut et en bas.
|
||||||
|
- Fixez une largeur maximale de 800px.
|
||||||
|
- Centrez la boîte horizontalement avec `margin-left` et `margin-right` automatiques.
|
||||||
|
|
||||||
### Bonus difficile - titre
|
3. Pour l’image dans `.description img`, ajoutez :
|
||||||
|
|
||||||
**Objectif** :
|
- Une bordure continue de 1px solid `#8396a8`.
|
||||||
|
- Arrondissez les angles à l'aide de `border-radius`.
|
||||||
|
|
||||||
```admonish travail
|
5. Faites un commit avec vos modifications après avoir mis à jour votre compte rendu.
|
||||||
```
|
|
||||||
|
|
||||||
```admonish help title="Aide"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
```admonish note title="Dans le compte rendu"
|
```admonish note title="Dans le compte rendu"
|
||||||
|
1. Expliquez ce qu’est le modèle de boîte CSS (box model).
|
||||||
|
2. Quelle différence y a-t-il entre la marge (`margin`) et le remplissage (`padding`) ?
|
||||||
|
- N'hésitez pas à expérimenter à l'aide d'une bordure visible sur l'image et en changeant les valeurs des propriétés
|
||||||
|
3. Quelle propriété CSS permet de centrer une boîte horizontalement ?
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ressources
|
### 4 - Menu de navigation flexible
|
||||||
|
|
||||||
|
**Objectif** : Utiliser Flexbox pour agencer les liens de navigation horizontalement et gérer les espaces entre eux.
|
||||||
|
|
||||||
|
```admonish travail
|
||||||
|
Pour cette étape, utilisez la documentation suivante : [Concepts de base pour Flexbox](https://developer.mozilla.org/fr/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox)
|
||||||
|
|
||||||
|
1. Dans le CSS : activez flexbox dans la liste incluse dans la balise `<nav>`
|
||||||
|
2. Centrez horizontalement les liens de la liste avec `justify-content`
|
||||||
|
3. Ajoutez un écart (`gap`) entre les éléments de la liste.
|
||||||
|
4. Retirez les puces de la liste, pour un effet plus moderne (propriété `list-style`)
|
||||||
|
5. Faites un commit avec vos modifications après avoir mis à jour votre compte rendu.
|
||||||
|
```
|
||||||
|
|
||||||
|
```admonish note title="Dans le compte-rendu"
|
||||||
|
1. Quelles sont les propriétés Flexbox utilisées dans cette étape et à quoi servent-elles ?
|
||||||
|
2. Qu’est-ce que la propriété `gap` apporte par rapport aux marges classiques ?
|
||||||
|
3. Pourquoi utiliser Flexbox plutôt qu’un simple affichage en ligne (`inline`) pour la navigation ?
|
||||||
|
```
|
||||||
|
|
||||||
|
## Pour aller plus loin
|
||||||
|
|
||||||
|
### Bonus - Style
|
||||||
|
|
||||||
|
**Objectif**: Améliorez le style de la page pour lui donner un rendu plus personnel. N'hésitez pas à fouiller la documentation et à expérimenter
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue