La fusion des marges en CSS
8:12
8 ай бұрын
Coder un effet "Avant/Après"
27:46
Cours Complet Sass 🎁
4:48
10 ай бұрын
Пікірлер
@donatairesansvisage7100
@donatairesansvisage7100 Күн бұрын
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
@u.tassinari2916 Күн бұрын
Ah je pensais que c'était le contraire a faire, le parent en absolute et l'enfant en relative 😅
@kamalbourbia4350
@kamalbourbia4350 4 күн бұрын
Top les effets.
@cimgov-technologysolutions4668
@cimgov-technologysolutions4668 7 күн бұрын
♥️❤️♥️
@Mrchiken3
@Mrchiken3 8 күн бұрын
Magnifique je suis bluffé 💥🤩
@matthieuaubert9447
@matthieuaubert9447 9 күн бұрын
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 😉
@EcoleduWeb
@EcoleduWeb 9 күн бұрын
Très bonne idée !
@guillaumerobert1506
@guillaumerobert1506 9 күн бұрын
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
@EcoleduWeb
@EcoleduWeb 9 күн бұрын
Merci et en effet, on aurait pu faire ça 👍
@SlyRaider
@SlyRaider 10 күн бұрын
À 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. ^^
@EcoleduWeb
@EcoleduWeb 10 күн бұрын
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. 👍
@SlyRaider
@SlyRaider 10 күн бұрын
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 !
@EcoleduWeb
@EcoleduWeb 10 күн бұрын
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.
@TheTrampingPony
@TheTrampingPony 10 күн бұрын
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 !
@EcoleduWeb
@EcoleduWeb 10 күн бұрын
Merci beaucoup ! Tu mets des mots sur la structure de mes vidéos 🙏
@lmz-dev
@lmz-dev 10 күн бұрын
Ho c'est trop beau. J'ai la flemme de me demander comment t'as fait, je vais juste te laisser m'expliquer...
@vincentdubois107
@vincentdubois107 11 күн бұрын
Juste ce qu'il me fallait pour ajouter un peu de fun dans mon nouveau projet ! Merci 😊
@EcoleduWeb
@EcoleduWeb 11 күн бұрын
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-tha01
@Saya.misri_aussi-tha01 11 күн бұрын
super bien expliqué.Merci beaucoup
@FootTechBusiness
@FootTechBusiness 12 күн бұрын
J'aimerais faire le même type de menu mais horizontal
@MiliamuIrakiza
@MiliamuIrakiza 14 күн бұрын
Liked!
@Loupieur2
@Loupieur2 16 күн бұрын
c une liste ?
@bernadetkn
@bernadetkn 17 күн бұрын
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
@cocobibi5759
@cocobibi5759 18 күн бұрын
merciii
@henockmassamba3512
@henockmassamba3512 20 күн бұрын
React-router. Mon commentaire est un cadeau pour vous.
@tokyrandriambololonirinaMG
@tokyrandriambololonirinaMG 21 күн бұрын
merci! c'est très clair!
@OdamSVAY
@OdamSVAY 24 күн бұрын
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 ?
@Blackheis00
@Blackheis00 24 күн бұрын
Clairement la meilleure vidéo de KZbin tu m’as sauvé la vie merci 😁
@marielauredebeaune1780
@marielauredebeaune1780 25 күн бұрын
MERCI MERCI MERCI
@rickwarel9935
@rickwarel9935 25 күн бұрын
juste merci infiniment pour cette pépite.
@bernadetkn
@bernadetkn 25 күн бұрын
Salut je me demande si ce processus peut fonctionner avec des images à la place du texte ?
@gamernorman1987
@gamernorman1987 25 күн бұрын
Tu viens de me donner une très bonne information 🎉🎉🎉❤❤❤❤❤❤🎉
@inspiration3327
@inspiration3327 26 күн бұрын
Bje es ce qu on peut ajouter des prototype dans les objet natif
@marc-antoineisabey5816
@marc-antoineisabey5816 26 күн бұрын
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-antoineisabey5816
@marc-antoineisabey5816 26 күн бұрын
Visible sur le site du trail du mont d'or 🙂
@jeanyvesarnold3519
@jeanyvesarnold3519 28 күн бұрын
Vous êtes juste incroyable. J'ai tellement appris avec vos vidéos. Je suis aussi dans le groupe discord
@Entraideregime
@Entraideregime 29 күн бұрын
Coucou j’ai juste mon fond d’ecran pas d’images pas de texte comment on peut faire merci
@remigaborit2486
@remigaborit2486 29 күн бұрын
Merci 😀
@я19ьинсади
@я19ьинсади Ай бұрын
merci monsieur
@remigasnier5643
@remigasnier5643 Ай бұрын
L'extension Auto Rename Tag est très utile pour faire la même chose. 😉
@FatoumataBintaDiallo-u4u
@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
@tokyrandriambololonirinaMG
@tokyrandriambololonirinaMG 21 күн бұрын
je suis du même avis
@crash8dt
@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
@Timux405 Ай бұрын
navbar, merci beaucoup !
@Entraideregime
@Entraideregime Ай бұрын
quand je fait la fonction <UserContextProvider> entre le <App /> tout s'enleve de l'ecran est ce nrmal merci
@honoredk4175
@honoredk4175 Ай бұрын
Merci pour la video
@CNK_PRIME_YT
@CNK_PRIME_YT Ай бұрын
C'est également très utile pour créer des jeux en 2D. Merci à vous
@ytubeurun2200
@ytubeurun2200 Ай бұрын
merci super bien expliqué
@redaait9561
@redaait9561 Ай бұрын
A quoi sert la balise div
@davidvasseur-ng1yw
@davidvasseur-ng1yw Ай бұрын
Vive Yup !!! 😅
@jefhispanno.GmailCom
@jefhispanno.GmailCom Ай бұрын
c'est le CANVA du webdesign ce truc ;D
@SlyRaider
@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
@EcoleduWeb Ай бұрын
Très bonne remarque !
@gabrieltavernier
@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
@EcoleduWeb Ай бұрын
Très juste, je l’ai oublié, merci de le rappeler!
@jean-marcfraisse7191
@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
@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
@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
@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
@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
@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
@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 😅
@MrBonbatong
@MrBonbatong Ай бұрын
Très bon thème de vidéo