I found the Hamburger mobile navigation menu tough to grasp. I read multiple articles, played around with codepens, watched videos etc. This is the only video that explained the whole thing in a truly beginner friendly way. And I appreciate the effort that you put into it Mr. Powell. Kudos and millions of thanks ❤❤
I just completed you “conquering responsive layout” course , it changed my mind completely on how I see html and css. Thank you for such quality content for free
This guy us one of the best content based programming markup language course tutor ever, so much valuable content in the last 3 years from you thanks for helping me being the css designer I am now.
I just finished the full course on scrimba and it was GREAT. A ton of information on proper workflow and good practices, and lots of pointers on useful things I need to learn more about. I've been trying to get better at building complete websites (instead of small challenges like hovercards etc) and learn some JS along the way, and I was a little overwhelmed and sometimes felt lost as to where to start and what's important. But with this course the picture became much clearer. It was exactly what I needed, so thank you!
Great video. I know you're the "CSS King", however, may I suggest that you create some very basic JS tutorials on the most common use-cases of said code? I've learned more about the basics of JS from you, as you touch on it in your videos, and how to implement them in my own projects than I have from people actually teaching straight up JS. You're very concise in how you create/explain those sections in your videos and I'm sure others would enjoy this as much as I would. Plus, it would be a bit of a change up for you to keep things fresh. Anyway, keep it up Kevin, you're one of my favourite RUclipsr!
Great video , only problem that you may come across , you should also put visibility:hidden to nav-links to avoid tabbing over the screen and also to get around transition issues adding simple delay to transform can do the trick!
3 года назад+1
I can hear both hope and pleading in that sentence that 'Internet explorer is dead' :) Great video as always.
Sometimes I get to do navbar, footer or any kind of layout components that I forget how to do. On those days, I come to Kevin Powell channel for ideas and you never disappoint! Truly a joy to watch someone as fascinated by CSS as you.
Thank you Kevin. This video showed me most of the fundamental that I need to start up my responsive web. other vids does not really explain how exactly how its done so they doesn't teach anything lol
6 months ago I wouldn't know how to do it, so I have subscribed to You. Actually I just have moved to end of video and after looking at final effect I can remake it from scratch. Thank You for the whole time which You are spending to teach us. Also still looking for front-end job but need to learn a lot more :D
This is so well explained. Love that you cover so many newer css properties, logical properties as well as best practices like aria. This is quality education.
So I started this tutorial a few months back as I thought it could be a fun project, got frustrated by the button for the nav not doing what it should be doing. Now my journey has only started earlier this year with little time but it seems that I had a . instead of a , in the js. So I wanted to come back and say, fantastic tutorial!
Certainly you are as good as a web-dev-youtuber can be. Your clarifications are awesome, your content is incredibly well structured, even your voice tone gets on really well with the content. Thx a lot!
an answer for my misery… just had my class and i got a homework to do and this is a life saver… either God listen to my misery or my ipad tired to listen to my frustration…
I’ve learnt SO much from this tutorial, it’s great to put knowledge into practice. Thanks! I wouldn’t mind watching a couple of ads if that help you whatsoever as a youtuber. Your content is priceless 😊
Kevin, I spotted something when implementing this in my project; if the mobile navigation is still in its expanded state, and the browser window is manually resized so that it passes into desktop view, then aria-expanded and data-visible will still remain set to 'true'. Additional JS logic can be added to ensure these attributes are set to 'false' if this scenario occurs.
Thanks for this tutorial Kevin. I’ve been watching you for a while and always enjoy learning from and watching you. This one helped me switch my default mobile navigation to use translate x instead of animating the left and right properties to show and hide my menus. A much better way of doing it. Thanks again.
This is a super awesome tutorial, with a couple caveats: 1.) when the menu is opened and you click on one of the nav links to navigate to a new page, the menu stays open on the new page. 2.) When window resizing, the menu suddenly opens and closes which I think is bad design 3.) If you want to animate the hamburger icon from the three horizonal lines to an 'X' shape, you're going to have to rework the css since he is using an animation on an image.
Could you tell me how can I get rid of this suddenly appearing menu when resizing the window? I've been thinking the whole day about it :((( Thank you!
@@irinaka4351 I had to re-work the css into a completely different implementation. Don't put the menu animation under the media query because you won't be able to prevent the menu from automatically appearing on page resize. Instead, make the menu appear or disappear on the hamburger button click using javascript. Use can use 'is-active' flags and toggle them on or off when the hamburger button is clicked with js and then use those in your css to manipulate the behavior.
Thank you so much for sharing your knowledge. Even though I don't know how to speak English, I managed to understand the whole concept to reach your final goal.
I was literally just looking for a video from you on this yesterday!! Did the responsive navbar on my own....time to see how bad I messed up ha thanks kevin youre the goat
Niiccee, I have been using this Space project to incorporate the navigation into my project this past weekend. You knew that I got a lil stuck and needed a quick push.
Great video! However, I would've really liked to see you go over the sr-only class you made; I've run into some issues with my button and I believe it's because there's some more information I'm missing
One note, in chrome the backdrop-filter blur is very bad for large blur values, and you get edge bleed. What works better is to use an SVG blur with URL value.
Oh Yes! What an excellent tutorial - you were on top form for this one Kevin. So helpful to see modern CSS rules in actual use cases like this where you can not only see how they work but also how they save time and effort.
I'm glad you dropped the "madly, deeply in love with CSS" for just "in love with CSS." it just sounds much less.. invasive? I don't know, but I think it was a good choice.
Love your show, Babe. Had to chuckle at your admission of time wasted troubleshooting a file that wasn't linked. My bane is editing the HTML, CSS and Javascript but NOT saving all three.
Oh man, I really need to upgrade my knowlege in css. A lot of atributes and selectors I'm not familiaryzed, I really stuck in time in some parts of front end ahuahuhauhaa. Your channel is so great, i'm not every time here but when I see one of your videos I'm always learn more, thx.
I love your work everything is so easy. I just love it, I thought you were the css king but really your the code king.🤴you make it very easy to follow and learn god bless you and please keep making content
I think Kevin just wanted to be more explicit and show how it works to people who might not be so familiar with JS. But you are right, I used the ternary operators too as I like how short and sweet they are for basic conditionals.
If you're going to use Javascript with a booleans for visibility just check if the attribute is there or not... if (primaryNav.hasAttribute('data-visible')) { primaryNav.removeAttribute('data-visible'); } else { primaryNav.setAttribute('data-visible', true); } or something like that.. without actually adding it to the html..
Nice tutorial, but i've spotted some issues. TranslateX to the right can cause issues when printing the page. About the javascript, you might want to avoid using global variables with something like a self-executing anonymous function.
Hey, liked your tutorial and your use of attributes for the nav toggle, although I'd like to point out that you can also access data-attributes with nav.dataset.visible instead of nav.getAttribute('data-visible') :)
Hi Kevin, really nice! I learned a couple of things along the way. I am spending some time with your videos, especially Fridays, it gives me something to do that feels like work but is more fun. Thanks
Thanks Kevin, this video helps me a lot! As an UI/UX designer who wants to expand his knowledge to manage his work better, this kind of easy-to-understand tutorial is really a gift!
You could also just add/remove a CSS class with Javascript via classList.toggle(). I for one much prefer writing class selectors over attribute selectors. It also reduces the code in the event listener to a one-liner :) -> primaryNav.classList.toggle('.is-visible') (not counting the setting of the aria-expanded though, but that can also be simplified)
Yup, I used to do that, but I find on bigger projects this is easier to maintain. When you have more people working on something, the more clear something is, the better, even if it's more lines of code. In this case, if JS is involved, data attributes are a pretty standard way of letting people know that 🙂 If it was a personal project, I'll be toggling classes for sure 🙂
I found the Hamburger mobile navigation menu tough to grasp. I read multiple articles, played around with codepens, watched videos etc. This is the only video that explained the whole thing in a truly beginner friendly way. And I appreciate the effort that you put into it Mr. Powell. Kudos and millions of thanks ❤❤
the tutorial everyone needed but no one asked for.
Dude...i watch your videos for almost 1 year now. This is my first comm and I wanted to say that I just LOVE THE WAY YOU TALK.
I just completed you “conquering responsive layout” course , it changed my mind completely on how I see html and css. Thank you for such quality content for free
The Navbar looks amazing. I like the idea.
This man is pure gold. The sheer number of informative videos on CSS instead of just blabbering is insane. Get this man a subscription.
This guy us one of the best content based programming markup language course tutor ever, so much valuable content in the last 3 years from you thanks for helping me being the css designer I am now.
I just finished the full course on scrimba and it was GREAT. A ton of information on proper workflow and good practices, and lots of pointers on useful things I need to learn more about. I've been trying to get better at building complete websites (instead of small challenges like hovercards etc) and learn some JS along the way, and I was a little overwhelmed and sometimes felt lost as to where to start and what's important. But with this course the picture became much clearer. It was exactly what I needed, so thank you!
Where are you along in your journey now? Good at JS?
That's so cool that you take your time and explain things well like with a friend. Really enjoyable to watch.
And you wonder why we call you king?
How you knew this is what I needed is beyond me
Great video. I know you're the "CSS King", however, may I suggest that you create some very basic JS tutorials on the most common use-cases of said code? I've learned more about the basics of JS from you, as you touch on it in your videos, and how to implement them in my own projects than I have from people actually teaching straight up JS. You're very concise in how you create/explain those sections in your videos and I'm sure others would enjoy this as much as I would. Plus, it would be a bit of a change up for you to keep things fresh. Anyway, keep it up Kevin, you're one of my favourite RUclipsr!
+1 - things like how to add a secure login, etc; I know these will require databases, but not sure how to approach this problem
I started following this guys 2 months ago, i can now say that i fell in love with CSS
Great video , only problem that you may come across , you should also put visibility:hidden to nav-links to avoid tabbing over the screen and also to get around transition issues adding simple delay to transform can do the trick!
I can hear both hope and pleading in that sentence that 'Internet explorer is dead' :)
Great video as always.
Sometimes I get to do navbar, footer or any kind of layout components that I forget how to do. On those days, I come to Kevin Powell channel for ideas and you never disappoint! Truly a joy to watch someone as fascinated by CSS as you.
Perfect timing Kevin,
Just as I started to look into navbars and js last 2-3 days
Thanks!
lol me too
Mr. Kevin you teaches the beauty of of html css & js in beast mode .
Thank you Kevin. This video showed me most of the fundamental that I need to start up my responsive web. other vids does not really explain how exactly how its done so they doesn't teach anything lol
6 months ago I wouldn't know how to do it, so I have subscribed to You. Actually I just have moved to end of video and after looking at final effect I can remake it from scratch. Thank You for the whole time which You are spending to teach us. Also still looking for front-end job but need to learn a lot more :D
more things like that wish you to be able to do🎉
This is so well explained. Love that you cover so many newer css properties, logical properties as well as best practices like aria. This is quality education.
agreed!
I just started my HTML CSS and JS studies and my first project is creating my own personal CV site.
This will help A LOT with that. Thanks!
So I started this tutorial a few months back as I thought it could be a fun project, got frustrated by the button for the nav not doing what it should be doing. Now my journey has only started earlier this year with little time but it seems that I had a . instead of a , in the js. So I wanted to come back and say, fantastic tutorial!
been learning css for 2 months and wow I learned alot from this vid
Learnt a lot of great stuff in 50 minutes. Thank you, Mr. Powell!
Thank you, as a MERN stack dev I'm always looking to learn more styling. Appreciate the content.
Man you are the bomb, i was almost giving up of programing but with your videos i finally got it, thank you
kevin, can't thank you enough for all the invaluable content you're consistently giving us. learning so much and enjoying every step along the way! ♥
🤣🤣🤣
@@joshuasteed899 what’s so funny?
I'm currently working on this project in ReactJS, great project with some interesting challenges. It's very handy to have the figma files.
Certainly you are as good as a web-dev-youtuber can be. Your clarifications are awesome, your content is incredibly well structured, even your voice tone gets on really well with the content. Thx a lot!
Thank you so much for the kind words!
#kevinPowell {
tone: inherit;
voice-tone: currentTone;
border-radius: 50%;
}
an answer for my misery… just had my class and i got a homework to do and this is a life saver… either God listen to my misery or my ipad tired to listen to my frustration…
You reall are CSS-king just like Kyle said. I have learned alot from you, thank you!
I am working on this project using scrimba platform
Great course
Doing this using reactjs
Till now best course for me to learn design system 👍
your videos are kind of a one stop solution. thanks for explaining so well
I’ve learnt SO much from this tutorial, it’s great to put knowledge into practice. Thanks! I wouldn’t mind watching a couple of ads if that help you whatsoever as a youtuber. Your content is priceless 😊
Kevin, I spotted something when implementing this in my project; if the mobile navigation is still in its expanded state, and the browser window is manually resized so that it passes into desktop view, then aria-expanded and data-visible will still remain set to 'true'. Additional JS logic can be added to ensure these attributes are set to 'false' if this scenario occurs.
Thanks for this tutorial Kevin. I’ve been watching you for a while and always enjoy learning from and watching you. This one helped me switch my default mobile navigation to use translate x instead of animating the left and right properties to show and hide my menus. A much better way of doing it. Thanks again.
Kevin is fantastic
CSS from another planet! Loved it!
This is a super awesome tutorial, with a couple caveats:
1.) when the menu is opened and you click on one of the nav links to navigate to a new page, the menu stays open on the new page.
2.) When window resizing, the menu suddenly opens and closes which I think is bad design
3.) If you want to animate the hamburger icon from the three horizonal lines to an 'X' shape, you're going to have to rework the css since he is using an animation on an image.
Could you tell me how can I get rid of this suddenly appearing menu when resizing the window? I've been thinking the whole day about it :((( Thank you!
@@irinaka4351 I had to re-work the css into a completely different implementation. Don't put the menu animation under the media query because you won't be able to prevent the menu from automatically appearing on page resize. Instead, make the menu appear or disappear on the hamburger button click using javascript. Use can use 'is-active' flags and toggle them on or off when the hamburger button is clicked with js and then use those in your css to manipulate the behavior.
Great lesson from a greater TechEducator
🥺🤤🤤🤤🤤🤤thankssss your channel is blessings for us🥺🥺🥺
I'm in super love with CSS 🤤🤤🤤🤤🤤
My god just in time when i have to make a responsive portfolio as a school project, thank you so much!!
Thank you so much for sharing your knowledge. Even though I don't know how to speak English, I managed to understand the whole concept to reach your final goal.
Great video, you are inspiring me to get in more depth touch and play around with CSS instead of using already done templates for my projects!
I was literally just looking for a video from you on this yesterday!! Did the responsive navbar on my own....time to see how bad I messed up ha thanks kevin youre the goat
the design is just so clean and beautiful!! glad i found this, thanks for the video :D
Niiccee, I have been using this Space project to incorporate the navigation into my project this past weekend. You knew that I got a lil stuck and needed a quick push.
New things I learned from this video :
gap
inset
min
@support
aspect ratio
Great video! However, I would've really liked to see you go over the sr-only class you made; I've run into some issues with my button and I believe it's because there's some more information I'm missing
It's really helpful explaining every attribute/property as you go along, thanks for that.
You Are So Amazing Kevin!! Thanks for your existing👼
Hi Kev, this is one of the most easiest and well explained videos on youtube. Well done. Thanks for making it. 💖💖
As usual, a great, informative, and wonderful video!! 👏👏👏👏 Now I have to change my site! 😁
Sir , your videos are full of useful contents, thanks a for your helping, big ❤️ from Iran
i really like how you explain the details in a simple and understandable way! great tutorial Big Thanks
Hey! Shouldn't the be closed by a tag?
yes...
Another great video! The site design and navigation looks so clean, I love it! Always learn a lot from watching your examples so thank you so much!
One note, in chrome the backdrop-filter blur is very bad for large blur values, and you get edge bleed. What works better is to use an SVG blur with URL value.
and firefox doesn't even support it
@@craigburton4447 using it in backdrop-filter: url(#svgBlur)
Would work as you would expect
@@oskrm Ah sorry, I thought you meant it replaced the backdrop functionality, my bad.
it's what I normally use as well
you are a sweet person, thank you so much for trying!
holy cow, i learned a lot of new and interesting css features today. Thanks!
Kevin, thanks man. I'm really improving m y CSS skills with your content!
Oh Yes! What an excellent tutorial - you were on top form for this one Kevin. So helpful to see modern CSS rules in actual use cases like this where you can not only see how they work but also how they save time and effort.
props for making this accessible
really elegant way of doing this. Well done!
I'm glad you dropped the "madly, deeply in love with CSS" for just "in love with CSS." it just sounds much less.. invasive? I don't know, but I think it was a good choice.
I love you Kevin. You are my secret mentor.
I just did first challenge time management UI . I m glad i was able to do it without figma files
Yay an updated navbar video!
Love your show, Babe. Had to chuckle at your admission of time wasted troubleshooting a file that wasn't linked. My bane is editing the HTML, CSS and Javascript but NOT saving all three.
Thank you for sharing so many useful HTML, CSS, and JS attributes, it really helped me a lot
Oh man, I really need to upgrade my knowlege in css. A lot of atributes and selectors I'm not familiaryzed, I really stuck in time in some parts of front end ahuahuhauhaa. Your channel is so great, i'm not every time here but when I see one of your videos I'm always learn more, thx.
I love your work everything is so easy. I just love it, I thought you were the css king but really your the code king.🤴you make it very easy to follow and learn god bless you and please keep making content
I learned some very usefil tip watching this, thank you!
for the test you could also do `primaryNav.setAttribute('data-visible', visibility === "true" ? "true" : "false")`
I think Kevin just wanted to be more explicit and show how it works to people who might not be so familiar with JS.
But you are right, I used the ternary operators too as I like how short and sweet they are for basic conditionals.
Cool video Kev. Just one correction, display: none doesn't remove element from the DOM, rather from the document flow. Keep up the good work.
Excellent tutorial! Great things were taught and you explained in a very clear way.
Wow, this came out right in I needed it. Thanks, you're awesome!
Is there any advantage in making the span for "Menu" instead of setting aria-label=”Open menu” directly on the button?
I have been practicing the flex box whole right now 👍🏼
Dude, this was awesome!! Hello from Brasil 😁
Just simply AWESOME! I love it!
This channel is really really useful
Great as always Kevin! I love your videos
If you're going to use Javascript with a booleans for visibility just check if the attribute is there or not...
if (primaryNav.hasAttribute('data-visible')) {
primaryNav.removeAttribute('data-visible');
} else {
primaryNav.setAttribute('data-visible', true);
}
or something like that.. without actually adding it to the html..
Thank you so much for all of your videos! Im learning so much!
Yesterday I watched your first ever video and it was about nav bars too
Hopefully this one was better 😂
Thank you for this video. I learned so many new things just watching it
Nice tutorial, but i've spotted some issues. TranslateX to the right can cause issues when printing the page.
About the javascript, you might want to avoid using global variables with something like a self-executing anonymous function.
Dude 🥺🥺🥺🥺, i needed this sooo much
Absolutely brilliant video, there's so much in it to go through and learn. Thank you, fantastic job!
Hello Kevin! i realy love what you are doing, great job.
Thanks for a cool video, but why don't you use the 'dataset' property of the element instead of 'getAttribute'?
Hey, liked your tutorial and your use of attributes for the nav toggle, although I'd like to point out that you can also access data-attributes with
nav.dataset.visible
instead of
nav.getAttribute('data-visible')
:)
Indeed, this is one benefit of data-* over other attributes… we have read/write access via the dataset property.
nav.dataset.visible = nav.dataset.visible == "true" ? "false" : "true";
Hi Kevin, really nice! I learned a couple of things along the way. I am spending some time with your videos, especially Fridays, it gives me something to do that feels like work but is more fun. Thanks
Thanks Kevin, this video helps me a lot! As an UI/UX designer who wants to expand his knowledge to manage his work better, this kind of easy-to-understand tutorial is really a gift!
You're awesome! And you have a nice voice! Keep up the great work!
These glasses look really good on you
Nice slick design. Well done 👍✅
You could also just add/remove a CSS class with Javascript via classList.toggle(). I for one much prefer writing class selectors over attribute selectors. It also reduces the code in the event listener to a one-liner :) -> primaryNav.classList.toggle('.is-visible') (not counting the setting of the aria-expanded though, but that can also be simplified)
Yup, I used to do that, but I find on bigger projects this is easier to maintain. When you have more people working on something, the more clear something is, the better, even if it's more lines of code. In this case, if JS is involved, data attributes are a pretty standard way of letting people know that 🙂
If it was a personal project, I'll be toggling classes for sure 🙂
@supports is rad! I have never used that before thank you!
Hey kevin :D Amazing vids mate, they are really helping me progress on my own website :D
Keep up the good work :)