Spécifications détaillées pour les "Instructions 1"
-
1- Préparez tous les fichiers images
Normalement c’est déjà fait mais assurez-vous d’avoir bien découpé vos images: un fichier image pour chaque élément graphique qui sera animable indépendamment (ou un seul sprite si vous connaissez la technique, sinon allez-y avec différents fichiers images indépendants).
Dans certains cas, vous aurez un même élément graphique séparé en plusieurs fichiers images par exemples:
- Un lapin dont les oreilles frémissent, chaque oreille aurait son propre fichier image et le reste du lapin serait aussi une image distincte. S’il cligne des yeux, chaque œil aurait son fichier image distinct.
- Pour l’animation suivante: “Quelque chose qui se compose ou se décompose en couche ou en éclats via le défilement de la page.”, chaque couche ou élément de la décomposition devrait être isolé dans son propre fichier image.
- etc
-
2- Bien nommer tous vos fichiers images:
- Bien nommer vos fichiers par rapport à ce que l’image représente (quelques exemples: bg-chapitre1.jpg, lapin-vue-de-profil.svg, lapin-œil-droit.svg, icone-cœur.svg etc)
- Pas d’accents ou de caractères spéciaux dans les noms de fichiers
- Pas d’espace dans le nom de fichier
- Seulement des images en format web sont admises: Formats d'image Web.
- Assurez-vous et prévoyez tout de suite de NE PAS agrandir les images plus larges que leur taille de base (ça créerait une perte de qualité évidente à l’écran). Si certaines images sont trop petites pour le projet, veuillez considérer les remplacer. Vous pourrez contrôler les dimensions maximum de vos éléments graphiques en CSS plus tard dans cette étape du projet. Vos images d’arrière-plan doivent idéalement bien s’afficher sur un format Full HD en 1920x1080, sinon, considérez ajouter une largeur maximum sur vos balises header et main (si tel est le cas, vous devrez centrer ces 2 balises dans la page en CSS).
-
3- Classez toutes les images dans les dossier img du projet.
Classez toutes les images dans les dossiers tel qu’indiqué dans les consignes de “scafollding” de P2.2a.
Requis HTML
Requis CSS des images
Instructions détaillées des "Requis CSS des images":
-
1- Redimensionnez chaque élément graphique.
Petit truc, étant donné que vous avez des svg et png avec arrière-plan transparent, je vous conseille d’ajouter temporairement une bordure autour de chaque image de votre projet, ça vous permettra de visualiser sa réellement dimension dans l’espace.
img { border: 1px solid rgba(218, 0, 0, 0.5); } -
2- Assurez-vous que la taille de vos images soit responsive.
Travaillez avec les unités viewport width (vw) pour les largeurs. Pour la hauteur, vous avez 2 choix (le choix peut dépendre de l’élément graphique) :
- Si vous souhaitez que l’image soit entière et non rognées à aucun moment, dépendant du format de l’écran, utilisez aspect-ratio pour conserver le ratio de vos éléments. Vous pouvez réduire le ratio de votre image avec un réducteur de fraction (https://calculis.net/fraction) en y entrant la largeur en px divisé par la hauteur en px de l'image originale.
- Si vous souhaitez que le cadre de l’image ait un format spécifique, peu importe le format de l’écran, vous pourriez alors forcer une hauteur et une largeur (toujours utiliser vw et/ou vh et non px) et ensuite travailler avec object-size et object-position pour “placer” l’image dans son cadre.
- À vous de voir la technique qui convient le mieux dépendant des images et TESTEZ en redimensionnant votre fenêtre manuellement ou via l’inspecteur Web.
-
3- Ajoutez la propriété CSS position: relative à chaque section (chapitre) afin que tous les éléments qu’elle contient soient positionnés RELATIVEMENT à celle-ci et non pas à la page entière.
“Il est possible de définir le positionnement absolu d'un élément enfant par rapport au conteneur parent. Pour cela, il faut spécifier la propriété position avec sa valeur "relative" sur l'élément parent. Si nous ne spécifions pas la position de l'élément parent, l'élément enfant sera positionné par rapport à la page.”
Source: Positionner un élément en absolu par rapport à un parent spécifique. -
4- Positionnez chaque élément graphique dans son chapitre via position:absolute puis utilisez soit : top bottom left ou right
Travaillez avec les unités viewport width (vw) pour positionner sur l’axe des x et viewport height (vh) pour positionner sur l’axe des y, afin que tout soit “responsive”. Comme rien n’est encore animé, préférez positionner vos éléments à leur position finale (après animation), ainsi avec plus tard, GSAP vous pourrez travailler avec la méthode from().
Requis JavaScript pour les animations (minimum)
- un déplacement de position x, ou y ou les 2
- un changement d’échelle (comme pour simuler un zoom in/out)
- une distorsion (skew)
- une rotation
- un fondu enchaîné (opacité)
- l'animation de toute autre propriété CSS pertinente
- la combinaison de plusieurs des suggestions sus-mentionnées Explorez les possibilités et amusez-vous! Vous devez diversifier vos animations alors vous devriez avoir au moins 3 types d’animations distinctes parmi celles mentionnées dans la précédente liste.
En résumé pour le bloc des "Instruction 4", le requis minimum est:
- 8 éléments graphiques animés
- 2 timelines (ces timelines contiennent quelques-unes des 8 animations)
- 3 types d’animations distinctes (parmi la liste susmentionnée au #2 des requis JavaScript pour les animations)
HTML dans chaque chapitre (copier-coller et compléter)
CSS à copier-coller
Remettez ce devoir sur une nouvelle branche nommée P2-2
Déposez le lien de votre répertoire git individuel dans Devoir.