Pourquoi utiliser le nasting alors que il suffit juste d’utiliser le balise <li> pour lui donner un style donc je comprends pas tellement l’intérêt du nasting )
@u.tassinari2916Күн бұрын
Ah je pensais que c'était le contraire a faire, le parent en absolute et l'enfant en relative 😅
@kamalbourbia43504 күн бұрын
Top les effets.
@cimgov-technologysolutions46687 күн бұрын
♥️❤️♥️
@Mrchiken38 күн бұрын
Magnifique je suis bluffé 💥🤩
@matthieuaubert94479 күн бұрын
Superbe effet, merci ! Petit conseil pour l'explication des positions et des translations : fais une capture d'écran et dessine dessus pour montrer les dimensions 😉
@EcoleduWeb9 күн бұрын
Très bonne idée !
@guillaumerobert15069 күн бұрын
Super tuto 👍😀. Juste une question est ce que ça aurait pas été plus propre de faire le top-layer et le blob avec les pseudo éléments afin de pas surcharger le HTML d'éléments "pas forcément utiles" ? Avec des variables css pour les valeurs de transform du coup
@EcoleduWeb9 күн бұрын
Merci et en effet, on aurait pu faire ça 👍
@SlyRaider10 күн бұрын
À 14:05, quand tu renommes ta variable, tu fais une multi sélection pour changer la déclaration + l'appel dans le log, mais ça peut être intéressant d'utiliser F2 aussi sur la déclaration. Ça permet de renommer automatiquement toutes les utilisations de cette variable, ultra pratique quand on a beaucoup d'utilisations. ^^
@EcoleduWeb10 күн бұрын
Tout à fait mais attention quand même car ça modifie toutes les occurences de tout le fichier, et parfois il y a des variables qu'on a pas en visu. 👍
@SlyRaider10 күн бұрын
Je veux bien plus d'infos sur les effets négatifs d'utiliser une liste pour englober les liens d'une navigation Enzo. 🤔 Je viens de passer une certif RGAA, et dans ma formation (avec Access42), on nous a rappelé que si + de 2 liens se suivaient, il fallait obligatoirement les englober d'une liste. Ça faisait partie des corrections à faire sur les erreurs d'accessibilité. Mais sinon, toujours un plaisir de suivre tes vidéos. Elles sont claires et intéressantes !
@EcoleduWeb10 күн бұрын
Je faisais sans doute référence à l'article de CSS tricks : css-tricks.com/navigation-in-lists-to-be-or-not-to-be/ Je ne suis pas certain qu'une liste de liens ait une influence sur l'accessiblité d'après beaucoup d'articles et des tests perso. Si tu as plus d'infos / sources là-dessus n'hésite pas à me les linker. Maintenant, si on veut prévenir des discussions houleuses pour rien, autant utiliser une liste et tout le monde sera content aha.
@TheTrampingPony10 күн бұрын
J'aime bien tes katas, celui-ci donne un super effet "wow" très agréable. En plus la construction de tes vidéos, mi-préparées, mi-live, où tu t'adresses au néophyte comme à l'expert, c'est vraiment bien pensé, continue !
@EcoleduWeb10 күн бұрын
Merci beaucoup ! Tu mets des mots sur la structure de mes vidéos 🙏
@lmz-dev10 күн бұрын
Ho c'est trop beau. J'ai la flemme de me demander comment t'as fait, je vais juste te laisser m'expliquer...
@vincentdubois10711 күн бұрын
Juste ce qu'il me fallait pour ajouter un peu de fun dans mon nouveau projet ! Merci 😊
@EcoleduWeb11 күн бұрын
Wopsy, j'ai utilisé une condition pour coder les évènements de souris avec : if(window.matchMedia("(pointer:fine)").matches) {...} Ça fonctionne, mais il existe les évènements pointermove et pointerout qui permettent de cibler les appareils qui utilisent un dispositif de pointage. Ça m'était sorti de la tête quand j'ai codé cette animation.
@Saya.misri_aussi-tha0111 күн бұрын
super bien expliqué.Merci beaucoup
@FootTechBusiness12 күн бұрын
J'aimerais faire le même type de menu mais horizontal
@MiliamuIrakiza14 күн бұрын
Liked!
@Loupieur216 күн бұрын
c une liste ?
@bernadetkn17 күн бұрын
Je me demandais lorsque tu héberges ton site via Github , dois tu à nouveau importer les fichiers pour pouvoir faire une mise à jour de ton site
@cocobibi575918 күн бұрын
merciii
@henockmassamba351220 күн бұрын
React-router. Mon commentaire est un cadeau pour vous.
@tokyrandriambololonirinaMG21 күн бұрын
merci! c'est très clair!
@OdamSVAY24 күн бұрын
Bonjour, Merci super pour la vidéo, en revanche je n'arrive pas a intégrer une seconde modale à coté du premier, j'essaye mais il m'ouvre la fenêtre de la première modale. Comment faire stp ?
@Blackheis0024 күн бұрын
Clairement la meilleure vidéo de KZbin tu m’as sauvé la vie merci 😁
@marielauredebeaune178025 күн бұрын
MERCI MERCI MERCI
@rickwarel993525 күн бұрын
juste merci infiniment pour cette pépite.
@bernadetkn25 күн бұрын
Salut je me demande si ce processus peut fonctionner avec des images à la place du texte ?
@gamernorman198725 күн бұрын
Tu viens de me donner une très bonne information 🎉🎉🎉❤❤❤❤❤❤🎉
@inspiration332726 күн бұрын
Bje es ce qu on peut ajouter des prototype dans les objet natif
@marc-antoineisabey581626 күн бұрын
Hello, sur mobile cela pose un petit soucis (en tout cas sur iphone), quand on revient en haut il y a un effet de "Bounce". En effet, quand on remonte tout en haut, le rebond nous fait scroll down, j'ai modifié un peu le code en inversant la logique "si currentScroll < scrollFromTop" au lieu de ">" et en ajoutant dans le if un "ou" currentScroll === 0, cela permet de le faire apparaitre mais avec l'effet de translate il disparait et réapparait, je me demande s'il y a une meilleur option...si jamais je suis preneur !
@marc-antoineisabey581626 күн бұрын
Visible sur le site du trail du mont d'or 🙂
@jeanyvesarnold351928 күн бұрын
Vous êtes juste incroyable. J'ai tellement appris avec vos vidéos. Je suis aussi dans le groupe discord
@Entraideregime29 күн бұрын
Coucou j’ai juste mon fond d’ecran pas d’images pas de texte comment on peut faire merci
@remigaborit248629 күн бұрын
Merci 😀
@я19ьинсадиАй бұрын
merci monsieur
@remigasnier5643Ай бұрын
L'extension Auto Rename Tag est très utile pour faire la même chose. 😉
@FatoumataBintaDiallo-u4uАй бұрын
claire, limpide, bien detaillé, grace a cette video, j'ai un resumé complet sur le deign, et si tu nous faisais des tutos sur figma en detaillant les fonctionnalités a savoir, ce serait sympa, merci beaucoup
@tokyrandriambololonirinaMG21 күн бұрын
je suis du même avis
@crash8dtАй бұрын
Merci, je me suis souvenu de ton explication de l’espace sous l’image (« bug ») et grâce à toi, j’ai pu appliquer ta « correction » en changeant le display de l’image. C’est sur que j’aurais mis du temps à le trouver celui là 👍
@Timux405Ай бұрын
navbar, merci beaucoup !
@EntraideregimeАй бұрын
quand je fait la fonction <UserContextProvider> entre le <App /> tout s'enleve de l'ecran est ce nrmal merci
@honoredk4175Ай бұрын
Merci pour la video
@CNK_PRIME_YTАй бұрын
C'est également très utile pour créer des jeux en 2D. Merci à vous
@ytubeurun2200Ай бұрын
merci super bien expliqué
@redaait9561Ай бұрын
A quoi sert la balise div
@davidvasseur-ng1ywАй бұрын
Vive Yup !!! 😅
@jefhispanno.GmailComАй бұрын
c'est le CANVA du webdesign ce truc ;D
@SlyRaiderАй бұрын
Vidéo très intéressante, comme d'habitude. 🙂 Je pensais que tu allais parler de aria-required cependant qui, lui, est obligatoire pour l'accessibilité. La validation est importante également pour les technologies d'assistance. Un lecteur d'écran précise "saisie obligatoire" lorsque aria-required est à true. ^^
@EcoleduWebАй бұрын
Très bonne remarque !
@gabrieltavernierАй бұрын
Pour avoir le message d'erreur d'un required en français il suffit de mettre la bonne langue dans la balise HTML (lang="fr"). Ça ne permet pas une personnalisation mais au moins c'est dans la bonne langue 😉
@EcoleduWebАй бұрын
Très juste, je l’ai oublié, merci de le rappeler!
@jean-marcfraisse7191Ай бұрын
Intéressante vidéo ! 👍 Personnellement, j'ai utilisé les deux approches, sans préférence particulière. En revanche, usage systématique de l'event delegation (car il vaut mieux éviter d'ajouter un listener sur chaque champ d'un form surtout si le form en a beaucoup) et donc : evt target systématique (logique). Et surtout, utilisation de "input.validity" (qui permet de gérer finement les choses : "patternMismatch", "tooLong", "tooShort", "rangeOverflow", ...) pour gérer les spécificités de chaque contrainte posée sur les champs. Et, pour faciliter les choses, un simple objet pour la localisation des messages à afficher en fonction de la langue choisie par l'utilisateur (ou définie par défaut). Je ne pense donc pas qu'il faille éviter "required" (pas plus que les autres attributs de validation, comme "maxlength" ou "pattern"), mais juste qu'il faille bien connaître toutes les propriétés et méthodes mises à disposition par les API pour gérer ce type de problème une fois pour toute (au sein d'une application et même pour toutes les utilisations à venir, car les formulaires, on en a besoin souvent et un peu partout...)
@EcoleduWebАй бұрын
Je suis absolument d’accord, il faut connaître la validation Front dans le détail avec tous les outils dispo et leur caractéristiques. La délégation est aussi très pratique et maintenable. Là je voulais faire un focus sur cet attribut en particulier.
@LeValerTubeАй бұрын
Ton commentaire est intéressant aussi, mais je ne comprends pas tout malheureusement, peux-tu me dire s’il te plaît ce que tu entends par « l’event délégation » ? Merci 😊
@jean-marcfraisse7191Ай бұрын
@@LeValerTube L'event delegation consiste à écouter un évènement donné sur un élément parent plutôt que sur l'élément (ou les éléments) visés directement. On peut placer le listener plus ou moins "haut" par rapport à ce qui est visé, mais en général on reste sur un élément parent proche voire direct - ici, le form plutôt que chaque élément du formulaire : un seul listener pour le formulaire, au lieu d'un listener par élément du formulaire. Dans le contexte de la vidéo : l'évènement "invalid" ne "bubble" pas (il ne "remonte pas vers les éléments parents), on ne peut donc pas faire d'event delegation dessus. Mais on peut le faire pour d'autres events qui, eux, ont bien un "bubbling" (par exemple : les events "input", "focus", "click", etc.) Mais le plus simple (et là on n'est plus à proprement parler dans de l'event delegation) reste sans doute d'écouter l'event "submit" sur le form. Dans le callback, on peut dès lors facilement boucler sur les éléments du formulaire pour évaluer plus ou moins finement leur validité (input.validity / validityState) en suivant les API/méthodes natives du navigateur.
@jean-marcfraisse7191Ай бұрын
Intéressante vidéo ! 👍 Personnellement, j'ai utilisé les deux approches, sans préférence particulière. En revanche, usage systématique de l'event delegation (car il vaut mieux éviter d'ajouter un listener sur chaque champ d'un form surtout si le form en a beaucoup) et donc : evt . target systématique (logique). Et surtout, utilisation de "input.validity" (qui permet de gérer finement les choses : "patternMismatch", "tooLong", "tooShort", "rangeOverflow", ...) pour gérer les spécificités de chaque contrainte posée sur les champs. Et, pour faciliter les choses, un simple objet {"langue": {"type de validité" : "message", ...}, ...} pour la localisation des messages à afficher en fonction de la langue choisie par l'utilisateur (ou définie par défaut). Je ne pense donc pas qu'il faille éviter "required" (pas plus que les autres attributs de validation, comme "maxlength" ou "pattern"), mais juste qu'il faille bien connaître toutes les propriétés et méthodes mises à disposition par les API pour gérer ce type de problème une fois pour toute (au sein d'une application et même pour toutes les utilisations à venir, car les formulaires, on en a besoin souvent et un peu partout...)
@jean-marcfraisse7191Ай бұрын
Intéressante vidéo ! 👍 Personnellement, j'ai utilisé les deux approches, sans préférence particulière. En revanche, usage systématique de l'event delegation (car il vaut mieux éviter d'ajouter un listener sur chaque champ d'un form surtout si le form en a beaucoup) et donc : evt.target systématique (logique). Et surtout, utilisation de "input.validity" (qui permet de gérer finement les choses : "patternMismatch", "tooLong", "tooShort", "rangeOverflow", ...) pour gérer les spécificités de chaque contrainte posée sur les champs. Et, pour faciliter les choses, un simple objet {"langue": {"type de validité" : "message", ...}, ...} pour la localisation des messages à afficher en fonction de la langue choisie par l'utilisateur (ou définie par défaut). Je ne pense donc pas qu'il faille éviter "required" (pas plus que les autres attributs de validation, comme "maxlength" ou "pattern"), mais juste qu'il faille bien connaître toutes les propriétés et méthodes mises à disposition par les API pour gérer ce type de problème une fois pour toute (au sein d'une application et même pour toutes les utilisations à venir, car les formulaires, on en a besoin souvent et un peu partout...)
@jean-marcfraisse7191Ай бұрын
Désolé, j'ai dû soumettre mon commentaire 3 fois : KZbin n'aime manifestement pas du tout qu'on utilise des brackets dans les commentaires 😅