How To Create Advanced CSS Dropdown Menus

Поділитися
Вставка
  • Опубліковано 27 сер 2024

КОМЕНТАРІ • 353

  • @BarisPalabiyik
    @BarisPalabiyik 2 роки тому +626

    Imagine entering a website, seeing a regular dropdown, and close the browser with anger. :D

    • @luukbrugge
      @luukbrugge 2 роки тому +37

      Turn customers away LOL

    • @dancarter6044
      @dancarter6044 2 роки тому +17

      I really can't imagine that.

    • @IdleAtre
      @IdleAtre 2 роки тому +22

      Yeah that was a pretty weird intro.

    • @NoelLeeman
      @NoelLeeman 2 роки тому +8

      I'd love to see the evidence. Citation needed ;)

    • @simosenpai2685
      @simosenpai2685 2 роки тому +2

      Haha. Nice

  • @woofiewill
    @woofiewill 2 роки тому +47

    13:30 max-content does not mean that things will "be as wide as they possibly can be". Max-content will make it as large as it needs to contain the content without wrapping.

  • @bokwoon
    @bokwoon 2 роки тому +174

    The best dropdown is a simple dropdown. You don't need anything more than that, if you care about user accessibility.

    • @minglee5249
      @minglee5249 2 роки тому +30

      Also if javascript is disabled for any reason then this dropdown solution will not work

    • @sicfxmusic
      @sicfxmusic 2 роки тому +26

      @@minglee5249 Ahh yes those damn IE6 users 😂

    • @voidemon490
      @voidemon490 2 роки тому +13

      yeah doesnt support terminal based browsers. disliked...

    • @baczek40
      @baczek40 2 роки тому

      totally agree

    • @astrotecn
      @astrotecn 2 роки тому

      @@sicfxmusic why supporting such a old ass fucking browser is still a must is beyond me
      who the fuck uses this shit

  • @aCitizenJOSerased
    @aCitizenJOSerased 2 роки тому +113

    Hey Kyle, thanks for your awesome video.
    Here's my sole remark:
    - Use semantically correct HTML tags wherever possible. E.g. use and instead of s everywhere.

    • @pdsnpsnldlqnop3330
      @pdsnpsnldlqnop3330 2 роки тому +6

      And no css variables. Also using pixels.

    • @CyberTechBits
      @CyberTechBits 2 роки тому +14

      My $0.02.. I like that he uses divs doesn't bother me at all and makes perfect sense since you can use this anywhere... say a slide in forms in a different container.

    • @akzual50
      @akzual50 2 роки тому +3

      Or use code to generate your elements like a sane individual.

    • @fayth7199
      @fayth7199 2 роки тому +1

      Im starting up Web dev, sorry if this sounds dumb, but why is this important?

    • @harmonicresonanceproject
      @harmonicresonanceproject 2 роки тому +18

      @@fayth7199 Because properly formatted web pages are what search robots need to index the site. Look into the changes that Google have made recently in terms of web page structure and indexing eg. It's very much related to correct html structure and useage at the core. A podcast I recommend is 'HTML All The Things Podcast'.

  • @CyberTechBits
    @CyberTechBits 2 роки тому +17

    I modified your code a bit and can place the content anywhere on the page to perform the desired animation (not just under the "dropdown"). In my case I am sliding a menu from the left to the right in a container located below my header/menu... very cool! Looks fantastic on mobile devices! Super user friendly! Thanks Kyle!

    • @tate2697
      @tate2697 2 роки тому +1

      that’s actually exactly why I clicked on it lol

    • @mlungisisidu7653
      @mlungisisidu7653 Рік тому

      I'd Love to see ya code

  • @nate1988
    @nate1988 2 роки тому +24

    I felt like I had a pretty good grip on CSS and rudimentary JS for DOM manipulation but man do I learn a ton from these videos. Using data selectors, target in JS, handling CSS -- you're very talented with this stuff, and I very much appreciate it because I'm here to learn and I definitely am doing just that.

    • @ayazaslam1362
      @ayazaslam1362 2 роки тому

      u dont learn u get brainwash so u watch his videos more. at 3:10 no need to use calc but he will so people get curious. i give u one more example he will make videos and talk fast so people watch again and again.
      in short he f**k smartly with your brain. i hate him now more than ever. unsubscribe. why he dont make videos with normal talking speed and eassy examples so we dont go to google and calculate rem to px and in multiply etc. In short smart business man bad or shall i say worst teacher. unsubscribe. hope u understand my point.

    • @nate1988
      @nate1988 2 роки тому +2

      ​@@ayazaslam1362 I understand how you feel (if I read that correctly), but part of my self-teaching journey is not buying any products and not paying any tuition. I've been doing fine thus far and while I appreciate this guy, I am not spending money on courses. That doesn't exclude donating to a good creator (like WDS) though.
      If concepts seem scattered and/or fast, that's fine for me. The trick to teaching myself is knowing how to piece myriad resources together. This channel is but one resource of many.

    • @ayazaslam1362
      @ayazaslam1362 2 роки тому +1

      @@nate1988 I am also doing self study .
      Covid = lost job lol. I get furistate by these things. I feel u self study is hard specially when u r doing practice and do silly mistake. Good luck if need self study partner I am available 24/7 now a days.
      I know little bit html css Js and php.

    • @nate1988
      @nate1988 2 роки тому +1

      @@ayazaslam1362 Early 30s here and in a similar situation to you. Its a tough time right now, I feel that. I just try to focus on the positive of things, like the videos here for free, because it's easy to get lost in negativity in this world.
      Best of luck to you in your studies 👍

    • @watwoot9020
      @watwoot9020 2 роки тому

      @@ayazaslam1362 lol, salty much. maybe you should try learn some more fundamentals, if you can't follow the code. Also, you can play the video at lower speeds. I really don't get why you are so mad about it, its free anyway and very decent code =/

  • @Pilosofia
    @Pilosofia 2 роки тому +13

    I have a suggetion , You could added index-tab to the dropdown div (the div will have ability to focus and blur ) , then use somthing like this .dropdown:focus > dropdown-menu {...}.

  • @Nicolas5095
    @Nicolas5095 2 роки тому +1

    This tutorial was super useful to me as I was trying to make these dropdowns close when clicked outside, the thing is every time I would click on the content of the dropdown it would close, so my workaround was getting the ID of every element inside the dropdown div and setting it to not close when clicked, of course I knew this wasn't ideal but couldn't make it work otherwise, thank you for this video!

  • @CyberTechBits
    @CyberTechBits 2 роки тому +12

    Great tutorial Kyle! I was doing something very similar with a "slide in" menu, but was using click events on the menu buttons. I love the use of data attributes and the event listener! I was doing something "creative" to call the correct menu to "slide" based on IDs etc... This is much cleaner and I will be moving my design to use data attributes and a simple event listener to production! Thanks Kyle!!!

  • @srymisclick
    @srymisclick 2 роки тому +44

    The accessibility of this solution is horrendous.

    • @iquahs
      @iquahs 2 роки тому +2

      I was losing track at around 4 minutes in with that many selector combinators lol

    • @tomasz9429
      @tomasz9429 2 роки тому +4

      Gotta flex on them plebs ;)

  • @thatsalot3577
    @thatsalot3577 2 роки тому +1

    I can't express how thankful I am to you Kyle.

  • @robertkaminski1781
    @robertkaminski1781 2 роки тому +30

    You could remove js by using :focus-within selector.

  • @aurobindobhuyan2107
    @aurobindobhuyan2107 7 місяців тому

    Thanks, UA-cam for recommending this video. This is exactly what I want now.

  • @threeone6012
    @threeone6012 2 роки тому

    Just read the article on using data attributes instead of classes and it's gold. It's my new method.

  • @OnePieceWonPeace
    @OnePieceWonPeace 2 роки тому +21

    How about a pure CSS solution: use nested s & s while leveraging pseudoclass :focus-within, :focus, and :hover. Focus Within should do the heavy lifting, but you may want the Hovers, and also .sibling:pseudo ~ .sibling-or-child, depending on how you want to put it together. If this doesn't makes sense to you, good. Go explore. It's 2021. You don't need JavaScript (which is great) to make amazing, solid, scalable dropdown menus, megamenus, popovers, etc.

    • @rafalpotasz
      @rafalpotasz 2 роки тому +3

      Very sensible advice imo. I do think that if JS isn't needed, it shouldn't be used and there is a plethora of solutions waiting to be explored.

    • @theosdinoysios4350
      @theosdinoysios4350 2 роки тому +4

      Avoid JS as much as you can.

    • @mitetoOoOoO
      @mitetoOoOoO 2 роки тому +1

      When he said he needed JS to "unfocus" the buttons, I immediately thought of checkboxes, because they can be easily unchecked, so I gave it a try. I made the exact same menu and it worked. However when I hit the Tab key on my keyboard it goes through my sub-links even if the box is not checked. What did I do wrong?

    • @davivify
      @davivify 2 роки тому +2

      Hey OnePieceWonPeace, I'd say if you figured out how to do it we'd love to see an example.

    • @cobra02411
      @cobra02411 2 роки тому +1

      Maybe I'm lacking in my CSS kung fu but how do you handle toggling an attribute? You need aria-expanded to convey the state of the control to a screen reader to be accessible. So aria-expanded needs to be toggled between true / false and the only way I know how to do that is with JS.
      Also, you have to be careful with pseudo elements because screen readers only read what's in the DOM.
      I'd have to see an example but I'd be very concerned about the accessibility of it.

  • @siriusFish1
    @siriusFish1 2 роки тому

    Switching this over to a react component has been fun.

  • @rayyan-munassar
    @rayyan-munassar Рік тому +1

    You are talented in delivering the information. May Allah guide to way of truth brother. You are a treasure.

  • @christopherreif3624
    @christopherreif3624 Рік тому

    You have some of the best front-end content I've seen yet, thank you!

  • @thecyrusj13
    @thecyrusj13 2 роки тому

    You're superhuman. Anyone who wants to make petty criticisms is jealous. Thanks for your videos.

  • @HarshKapadia
    @HarshKapadia 2 роки тому +6

    What a good tutorial! Well done, Kyle!

  • @karlsgarage6477
    @karlsgarage6477 2 роки тому +4

    Thank you for all of your videos. I’m not sure if you’ll get this reference, but you’re the ChrisFix of making websites

  • @colindante5164
    @colindante5164 2 роки тому +30

    The method outlined here is visually appealing and the code (having finally figured it out with slight modification to my CSS) is a keeper.
    However, using the tab key to navigate through the menu items one has to cycle through the contents of the drop down menus and this stems by toggling opacity as opposed to display.
    Even though it looks great the downside is folks that are visually impaired shouldn't have to go through this mundane process.
    It's one thing to disregard Internet Explorer when selecting your target audience but quite another not to take the visually handicapped into consideration. Please cater to them by using Wai-Aria.
    Thankyou for this block of code.

    • @williamlindsayiii824
      @williamlindsayiii824 2 роки тому +1

      Do u think there is away too make this type of menu accessible for all? Good analysis

    • @colindante5164
      @colindante5164 2 роки тому +4

      @@williamlindsayiii824 To answer your question directly use aria-expanded when creating drop down menus. There's quite a bit to learn using Wai-Aria. But why stop there; if we are using accessibility in the navigation bar we should implement it throughout our HTML document.
      Try and refrain from using div's and use schematic tags like nav, article, aside, section, figure, figcaption and obviously the h1 through h6 tags.
      Use the 'Outline Algorithm' to reflect as how you intended your page to be displayed (Notice how I phrased this sentence). Use hgroup to hide tags so they don't show up in the Outliner Algorithm Tool. This is used by screen readers and web crawlers to interpret your content.
      With respect to SEO, it's the content that gets ranked so take advantage of 'google search console'.
      I hope this helps and sheds some light on where you need to focus on learning these technologies.

    • @photofrode
      @photofrode 2 роки тому +1

      Add visibility: hidden; to actually hide the content (supports transitions), add aria-expanded for context and set .focus() when opening.

    • @Dev-zr8si
      @Dev-zr8si Рік тому +2

      @@colindante5164 This is a video about dropdown menus, not accessibility. You people love shoving BUT THATS NOT ACCESSIBLE everywhere as if that makes you a better person than everyone else.

    • @colindante5164
      @colindante5164 Рік тому

      @@Dev-zr8si you have issues and fortunately I'm not a shrink so I don't have to deal with them.))

  • @siddarthd9774
    @siddarthd9774 Рік тому

    You are really a life saviour for many candid like me... You are really a pure soul....Thanks a lot ❤️... pls do more tasks like these...

  • @dansanger5340
    @dansanger5340 Рік тому +3

    Did you know that you can copy and paste the text directly from the video? It's built into Safari. Just pause the video, select the text you want with your mouse, and copy and paste. Other browsers might support it as well. If not, there are plug-ins available. I discovered this by accident.

  • @rogerpence
    @rogerpence Рік тому

    Superb! Thank you very much. Beyond the big picture presented, there are so many cool little nuggets to glean here.

  • @natb007
    @natb007 8 місяців тому

    Great video! Nice voice and pace, pleasant to follow! Thank you very much!

  • @dakotaridge
    @dakotaridge Рік тому

    Here's what I notice on this video: 1) a voice created specifically for narration; can't get any better. 2) knowledge of the material that probably exceeds most people on Earth. 3) A distinct lack of groping around for words: umm, uh, etc. ... doesn't happen. I couldn't conceive of how a channel could get better than this.

  • @septimusforster
    @septimusforster 9 місяців тому

    About bringing in those customers in my life, Kyle, you've done incredibly so well. Much thanks.

  • @evelynakow6771
    @evelynakow6771 7 місяців тому

    Thank you so much for creating this video, through explanations which I appreciated and was able to customize it to my website!

  • @techshab9060
    @techshab9060 2 роки тому +3

    CSS is very powerful language 👍👍👍

  • @jserr9682
    @jserr9682 Рік тому

    Just when I think I have my css and html down I get taken to school Damm IT lol. Thank you bro you rock!!!

  • @scyllado3769
    @scyllado3769 2 роки тому

    wow, you taught me a way to toggle active class of a group of items
    "click item 1 to toggle active class, and remove active class from other items in the group"

  • @Renodarkholes
    @Renodarkholes 2 роки тому +4

    Love what you do on UA-cam...nice videos.
    Is it possible to make a video to show how make this dropdown menu responsive?

  • @nixonlim4715
    @nixonlim4715 2 роки тому +11

    would love to see you making it responsive.

    • @watwoot9020
      @watwoot9020 2 роки тому +1

      it basicly is responsive, you just need to copy paste the dropdown, change the absolute position and hide/show at certain viewports. That said, thanks for the video :)

  • @z4ckfytc777
    @z4ckfytc777 2 роки тому

    Thank you so much! I love your videos and I'm always checking my YT notifications to see if you uploaded a new vid!

  • @YellowManPsypeople
    @YellowManPsypeople 2 роки тому

    You are amazing. AS usual. Very helpful, clear and in time..
    Good work. Appreciate.

  • @mysterbirdtrooper6516
    @mysterbirdtrooper6516 2 роки тому +1

    I gotta say the cheatsheet is very helpful.
    I’m going back to web dev after a break and that cheatsheet is definitely speeding things up.

  • @jakobo5521
    @jakobo5521 2 роки тому +2

    That was really helpful, thank you for all your work! :)

  • @TechOasis101
    @TechOasis101 Рік тому

    Just the tut I was searching for thanks 🙏

  • @VivekTR
    @VivekTR 2 роки тому

    Thank you for these tutorials. They are really helpful and you're doing a wonderful job.🙂

  • @Shulkerkiste
    @Shulkerkiste 2 роки тому +2

    Well, the first example looks clearer to me.

  • @lorenainfanter.3099
    @lorenainfanter.3099 2 роки тому

    Thank you very much!!! Always learning something new from you!

  • @lucienchu9649
    @lucienchu9649 2 роки тому

    Thanks, now I know a better way to dismiss dropdown properly.

  • @BMikel
    @BMikel 2 роки тому

    This is gem. There is not that much advanced tutorials on plain html / css drop down menus. What they usually do is simply copy-paste Bootstrap component, write some jQuery and pretend to make super multi-level menu tutorial. But your video is awesome.
    Could you make a close to a real-life advanced responsible multi-level HTML/CSS/JS mega menu tutorial?

  • @TheNormMan
    @TheNormMan 6 місяців тому

    I would be happy being able do the boring dropdown

  • @itdept6121
    @itdept6121 Рік тому

    Hey!! Thanks for this and for the Cheat Sheet it was Awesome!!! 😍

  • @peterschmitt2735
    @peterschmitt2735 2 роки тому

    Very good video. I will use this way t build navigation in the future.

  • @stefan.astrand
    @stefan.astrand 2 роки тому +2

    Suggestion, make use of the details element. Will remove the need for JS.

    • @OnePieceWonPeace
      @OnePieceWonPeace 2 роки тому

      Checkout :focus-within. You can also leverage Generic and Adjacent Sibling Selectors if necessary.

  • @davivify
    @davivify 2 роки тому +2

    Hi Kyle. I've been writing JS for over 10 years and thought I knew it pretty well. But I guess there's been a ton of stuff added to JS and CSS when I wasn't looking. So I'm astounded at how much stuff you use that I've never heard of. Your videos contain a conucopia (since we're now in fall) of cool tips. However, I notice that whenever you go to wrap an element in HTML, you do so manually. Not that it takes that long, but I thought you'd appreciate the opportunity to save yourself a few steps. I had been using the wrapWithAbbreviation command, but am now using a plugin called 'htmltagwrap', which I've assigned to alt + W, which I find works really well. Anyway, thanks for all the great videos.

  • @Fachuro
    @Fachuro 2 роки тому +19

    This is really poor UX - creating similar-looking elements with completely different behavior is confusing for the user and should be avoided. Also if you need to organize that much information into a single dropdown on you header, maybe its better to rathet consider how your information architecture is laid out. This is basically how websites used to be made in the late 90s, early 2000's and theres a reason why this sort of navigation has been shunned by UX designers - its not user friendly...
    You're a great guy Kyle, and have some good advice sometimes - so keep up what you're doing with this channel, but this video was not so much your classic developer tips as jumping into the UX field without doing proper research first, I would recommend anyone to read research done by NNG on the subject as a starting point...

    • @slstyt
      @slstyt 2 роки тому +4

      If you could link about the research you're taking it would be helpful. Thanks.

    • @master0fnone
      @master0fnone 2 роки тому

      Completely agree. This is so wide of the mark.
      For those curious as to why it is just wrong, go and have a look at the websites you frequent most often and show me an example of where this exists in the real world.

    • @martinh4982
      @martinh4982 2 роки тому +1

      This is a very common pattern used all over the web, not some relic of the distant past (and fun fact - back in the late 90's early 2000s doing stuff like this was a real job in and of itself. I was there, yes I'm old!). It's used by very large organisations (eg Amazon, Apple, Microsoft) as well as smaller entities. I do agree that there should be something that indicates to the user the thing drops down (a dropdown symbol of some sort) to distinguish the dropdown menus from regular links, but otherwise I wouldn't call it bad UX per se.

    • @master0fnone
      @master0fnone 2 роки тому

      ​@@martinh4982 The way that other companies use this is incomparable to this abomination.

    • @AmodeusR
      @AmodeusR 2 роки тому +1

      I think he is focusing on the practical stuff, no the conceptual one. It's up to us to apply it properly considering UX Design or whatever, since what he is trying to teach us is how to make a pleasing and functional dropdown menu, not a advanced and UX Friendly Interface.

  • @groovebird812
    @groovebird812 2 роки тому +5

    Hi, what is the advantage of using javascript over building the dropdown with pure css?

    • @OnePieceWonPeace
      @OnePieceWonPeace 2 роки тому

      None! Other than potentially using the CPU instead of the GPU, if that's actually what you want.

  • @krtirtho
    @krtirtho 2 роки тому +23

    "How To Create Advanced CSS -Dropdown- Popover Menus"
    Fixed the title

    • @AmodeusR
      @AmodeusR 2 роки тому +6

      But isn't it dropping down?... 🤔

    • @michaelc234
      @michaelc234 2 роки тому

      @@AmodeusR lol

    • @Johan.A02s
      @Johan.A02s 2 роки тому

      😂

    • @cobra02411
      @cobra02411 2 роки тому

      I call them flyout menus.
      Some folks call it a Sling-blade, I call it a Kaiser Blade. Mmm hmm. :)

  • @mahmoud-bakheet
    @mahmoud-bakheet 2 роки тому

    it’s nice .. welcome back 😍

  • @user-oj3rm9lw7n
    @user-oj3rm9lw7n 5 місяців тому

    The first one was good and will collect people in website.

  • @shervinmokthari1251
    @shervinmokthari1251 2 роки тому

    absolutely awesome tutorial sir!

  • @Vega004
    @Vega004 2 роки тому +3

    Btw you are awesome brother ❤️

  • @plantnt489
    @plantnt489 6 місяців тому

    Id love to see a version of this for react

  • @leannezilka9355
    @leannezilka9355 Рік тому

    Thank you for this tutorial!

  • @paupang781
    @paupang781 2 роки тому

    You're awesome! Thank you for sharing your knowledge :)

  • @lolguy-x9n
    @lolguy-x9n 2 роки тому

    wow. that great. now please save me time i just download.with thanks.

  • @bboydarknesz
    @bboydarknesz 2 роки тому

    Man, how could you talking so fast but keep typing fast too xD
    But glad we still able to follow

  • @alenachuyankova
    @alenachuyankova 2 роки тому

    Thank you! You are very talented!

  • @Happy_Shaikh
    @Happy_Shaikh 2 роки тому

    Love your tutorials man😍😍😍
    Can you please tell the name of the video editor and screen recorder you are using🙏🙏🙏

  • @MrGarysjwallace
    @MrGarysjwallace 2 роки тому

    Dev you are good at Java- impressed- very

  • @bogdogun5675
    @bogdogun5675 Рік тому +1

    Playing the video on .75 helped a lot

  • @simonprice2350
    @simonprice2350 2 роки тому

    If you have learning disabilities I highly recommend speed x0.75 in player. No offense bud I can't dart around that fast lol and great tutorial

  • @AlexAnder-fk2yg
    @AlexAnder-fk2yg Рік тому

    Thx, interresting example instead of using standart ul li way

  • @serenestrolls-d7b
    @serenestrolls-d7b 2 роки тому +2

    Great tutorial, But the only problem with this video is, that the dropdown is not accessible. It will be great for beginners if you teach them how to build completely accessible custom input elements.

    • @bmerigan
      @bmerigan 2 роки тому +2

      I agree and came to the comments to mention the accessibility issues of not using DIVs instead of standard LI elements.
      Also it won't fail gracefully if there's no CSS or JS for some reason.

    • @bmerigan
      @bmerigan 2 роки тому

      @Vladimir Peter for everyone - that's what accessibility is about.
      Regarding the no JS, maybe CDN issues. Who knows.

    • @serenestrolls-d7b
      @serenestrolls-d7b 2 роки тому

      @Vladimir Peter you would be surprised how many disabled people are there in the world who could be your potential customers. Making web accessible isnt just our duty. Its also generates more revenue because it can be accessed by a larger audience.

  • @ashleygahl3638
    @ashleygahl3638 2 роки тому +2

    Amazing as always. Wish Kyle can do a crash course on the arcgis javascript api

  • @marvinfok65
    @marvinfok65 2 роки тому

    Great lesson!

  • @DaJungleDred
    @DaJungleDred 2 роки тому

    This is awesome thank you for sharing👍👍👍👍

  • @elegance1802
    @elegance1802 2 роки тому

    thank you Kyle!

  • @leifflor7062
    @leifflor7062 5 місяців тому

    :focus-within is a good alternative now that you can now use instead of having to implement the logic with JavaScript.

  • @ritambanerjee3668
    @ritambanerjee3668 2 роки тому +12

    But why use javascript? maybe we could have used the :focus-within pseudo-class and it would handle the active state. Also, maybe we could have animated the max-height property like setting it to 0 initially with overflow hidden and then on hover/focus set it to fit-content and animate that using transition. Let me know what you think :)

    • @siddiqahmed3274
      @siddiqahmed3274 2 роки тому

      If you're looking to be a web developer and trying to avoid js it us simply not possible... Also i don't think height is gonna animate from 0 to fit content. Try yourself

    • @Jeppelelle
      @Jeppelelle 2 роки тому +5

      @@siddiqahmed3274 "If you're looking to be a web developer and trying to avoid js it us simply not possible" absolutely not true...turn off javascript in your browser and you will see that plenty of websites still works without it, alot of developers still implement fallbacks for non js users, so javascript is mostly for "flair" not for usability. So one could easily develop websites without js, most js implementations are overused anyway

    • @logicdonkey
      @logicdonkey 2 роки тому +9

      @@Jeppelelle Just because we provide fallbacks doesn't mean we are able to avoid the JavaScript portion. You still need to be a solid JavaScript developer to get 99% of jobs on the market these days.

    • @MrMudbill
      @MrMudbill 2 роки тому +1

      @@logicdonkey In addition, while many websites will _work_ without JavaScript, they may lose a lot of functionality. A JS-less website is not competitive in today's market (unfortunately).

    • @mortent877
      @mortent877 2 роки тому +3

      Imao, it's not about avoiding JS all together because you can't use it, but rather if there is a CSS solution for it, skip the JS. It simplyfies the web app as it gets more complex. For instance, by using CSS instead of JS when you can, you don't have to reinitialize UI JS code every time the DOM changes. Take it from someone with more than 20 years of web dev experience 😉

  • @captain_finn
    @captain_finn 2 роки тому

    this rules! Thanks man

  • @dzlifestyle1434
    @dzlifestyle1434 Рік тому +1

    thnx for usefull video
    how we can use it with reactjs i mean js code

  • @AlmasyAlliances
    @AlmasyAlliances 2 роки тому

    For my dropdowns I've been using the 'details' and 'summary' tag with a z-index of 1000 on the 'on' state. You might look into that, save you a ton of JS code.

    • @RodrigoMendoza7
      @RodrigoMendoza7 2 роки тому

      Wouldn't that be more suitable for information-revealing purposes than navigation menus?

    • @woofiewill
      @woofiewill 2 роки тому

      Might work for you, but is likely very non-accessible.

    • @stelatasheva4993
      @stelatasheva4993 2 роки тому

      not very accessibility friendly, since it's purpose is deferent. Better be wrapped in if you do this for some reason...

  • @behindthescene2727
    @behindthescene2727 2 роки тому

    will have to try this

  • @musicforyou4444
    @musicforyou4444 2 роки тому

    Thank you for helping me.

  • @jozsefszabados1183
    @jozsefszabados1183 2 роки тому

    Thank you bro!

  • @euanblack5959
    @euanblack5959 2 роки тому +1

    Why does my visual studio 2019 not recognise the data attributes (data-dropdown) it just treats it like a class

  • @osmangonisufy629
    @osmangonisufy629 2 роки тому

    Boss, You are awesome

  • @mswondo
    @mswondo 10 місяців тому

    I try to use focus-within to replace the javascript. But we must click on it to appear the pulldown/drop down. And using left, right, top, bottom; I try to control the direction of the dropdown. It's may be : drop down to left, drop down to right, drop up to left, drop up to right.

  • @geb2
    @geb2 2 роки тому

    Love the video. If you have a transition on opacity but not on the pointer-events, will the non-transitioned properties change at the end of the transition or at the beginning? (I'm guessing effectively at the beginning, since it'll respond immediately to the new ':focus' status?)

    • @MrMudbill
      @MrMudbill 2 роки тому

      The pointer events will enable as the animation begins when opening. They will disable when it animates out. So if you're quick, you can click something within it just before it opens, but you can't when it closes.

  • @jaceborg
    @jaceborg 2 роки тому +2

    Love your channel but saying 'basic dropdowns turn users away from your site' is a bit of a reach :)

  • @ashfordyt
    @ashfordyt 2 роки тому +2

    You're not on a timer, take a breath

  • @andrewchalimbanakanyinji5434
    @andrewchalimbanakanyinji5434 2 місяці тому

    Thank you so much

  • @mahabub-sunny
    @mahabub-sunny 2 роки тому

    You are always great...

  • @viktordotcom8924
    @viktordotcom8924 2 роки тому

    beginner here, just finished creating my basic dropdown... was really proud of it until I saw this video :D

  • @FilipCodes
    @FilipCodes 2 роки тому +1

    Awesome 🤩

  • @Aalok464
    @Aalok464 2 роки тому

    Feel good to be in first 10 comments awesome video

  • @doctorartiste2905
    @doctorartiste2905 2 роки тому

    RESPONSIVE PLEASE!!! u the man!

  • @Hitman1978
    @Hitman1978 2 роки тому

    Love all the keyboard warriors here who have the courage to critique Kyle's content, but not the courage to post their own...
    Keep making the great videos!!

  • @me_manish_prajapati
    @me_manish_prajapati 2 роки тому +4

    What do you think about focus-within? We can use that to achieve same via css only.

  • @jamshediqbal7936
    @jamshediqbal7936 2 роки тому

    Very impressive. Good job!

  • @shivamsahil3660
    @shivamsahil3660 2 роки тому +2

    I thought it as the drop-down in the sense of select tag in html... Btw you could definitely try using focus-within that will take away all sort of javascript thing you did there... Please also make a tutorial on creating something like react-select widget... With Multi select option and it's styling. I get frustrated while styling react select height.

  • @karstenthurfjell-scholz6065
    @karstenthurfjell-scholz6065 2 роки тому

    What about your guitar? Maybe some simplified Zappa riffs in a follow-up video? Even though it‘s no SG 🙂

  • @vktor_raso
    @vktor_raso 15 годин тому

    .dropdown:focus-within > .dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    }
    and you wont need a js script

  • @njf0523
    @njf0523 2 роки тому

    666k subscribers. i'm subbing simply to try and push you across the line...

  • @elultimopujilense
    @elultimopujilense 2 роки тому +1

    That’s great, but it lacks semantic html and accessibility.