Flexbox or grid - How to decide?

  Переглядів 690,914

Kevin Powell

Kevin Powell

День тому

Flexbox and grid are two fantastic layout tools. It can be hard to know which one to pick, but when you focus on the strengths of each one, it becomes a lot easier.
🔗 Links
✅ The easiest way to get started with Grid: • Learn CSS Grid the eas...
✅ The easiest way to get started with Flexbox: • Learn flexbox the easy...
✅ Using the Grid inspector: • The grid inspector: ma...
✅ Why I love grid-template-areas: • Why CSS grid-area is t...
⌚ Timestamps
00:00 - Introduction
01:13 - Comparing their behaviors
09:54 - When you should use flexbox
13:40 - When you should use grid
17:23 - Mixing flexbox and grid
#css
--
Come hang out with other dev's in my Discord Community
💬 / discord
Keep up to date with everything I'm up to
✉ www.kevinpowell.co/newsletter
Come hang out with me live every Monday on Twitch!
📺 / kevinpowellcss
---
Help support my channel
👨‍🎓 Get a course: www.kevinpowell.co/courses
👕 Buy a shirt: teespring.com/stores/making-t...
💖 Support me on Patreon: / kevinpowell
---
My editor: VS Code - code.visualstudio.com/
---
I'm on some other places on the internet too!
If you'd like a behind the scenes and previews of what's coming up on my UKposts channel, make sure to follow me on Instagram and Twitter.
Twitter: / kevinjpowell
Codepen: codepen.io/kevinpowell/
Github: github.com/kevin-powell
---
And whatever you do, don't forget to keep on making your corner of the internet just a little bit more awesome!

КОМЕНТАРІ: 468
@drawingfever7
@drawingfever7 2 роки тому
If we want a FLEXIBLE layout (the layout adapts to fit the content), we use flex. If we want a more fixed layout (the content adapts to fit the layout), we use grid.
@kevinwaag9976
@kevinwaag9976 Рік тому
and if we don't know which one it will be ? ^^ do both ^^ ?
@arshadsiddiqui9071
@arshadsiddiqui9071 Рік тому
If I can picture the grid I use grid. If I can't I just use flex cuz it's easier.
@revi925
@revi925 Рік тому
But isnt grid also flexible if you use minmax?
@lucidattf
@lucidattf Рік тому
@@revi925 that's more for adapting a fixed grid to any screen size than having it be flexible to any content, though sometimes it works for either
@GooseGumlizzard
@GooseGumlizzard Рік тому
nah fam absolute positioning for everything masterrace
@jackfrosch
@jackfrosch 11 місяців тому
As a mostly backend developer, every time I have to use CSS, it feels like I'm starting over. Your videos are my go-to resource to refresh and add to my CSS understanding.
@KevinPowell
@KevinPowell 11 місяців тому
Thanks so much!
@userhenrolwest
@userhenrolwest 6 місяців тому
As an inspiring backend developer, please can you refer me on the material that will guide me becoming a backend?
@27sosite73
@27sosite73 5 місяців тому
@@userhenrolwest Hey! the inspiring backend developer hasn't replied yet. Are you still waiting or have you started working on something, Henrol West? if you are curious, how I know you're from India? Typically, only people from India ask questions in that manner.
@userhenrolwest
@userhenrolwest 5 місяців тому
@@27sosite73 I'm still waiting.
@Detonat0r
@Detonat0r 2 роки тому
I prefer to use grid for the whole page layout, while flex for smaller scale things as you showed in the last example.
@boukhadc
@boukhadc 2 роки тому
This is the way
@Waruto
@Waruto 2 роки тому
This is the way
@drwho9319
@drwho9319 2 роки тому
Like a bantha. I have spoken
@BboyHotshot
@BboyHotshot 2 роки тому
Same. This is the way.
@prateek5019
@prateek5019 2 роки тому
Thank god, i am not alone😄
@milos018
@milos018 2 роки тому
This is probably the best summary of Flex vs Grid, the pros and cons and how they can work together. Great job!
@vibonacci
@vibonacci 2 роки тому
My rule: if I can't achieve it easily with flex, I'll pivot to grid. Flex is the go-to choice. But I have to admit that I have less experience with grid than with flex, so that definitely plays a role in the decision. And simply by the amount of choices you have, you can conclude that grid is quite a bit more complex.
@HarshRajAlwaysfree
@HarshRajAlwaysfree 2 роки тому
same, i had tried grid once it was so traumatic, I never did it again
@sourandbitter3062
@sourandbitter3062 Рік тому
grid-template-areas gives great results. Grid really isn’t too bad.
@turolretar
@turolretar Рік тому
grid is actually op
@offgridvince
@offgridvince Рік тому
@@HarshRajAlwaysfree 😁😂
@WyzrdCat
@WyzrdCat Рік тому
Grid feels like JS not CSS. It's poorly implemented and doesn't belong in the language, but no going back now. Basically grid was their prototype at trying to get away from floats, then with flex they actually did it right.
@marcelijankowski9593
@marcelijankowski9593 2 роки тому
I tend to use grid for overall layout of the web page or for larger components. While Flexbox often helps me with Individual components, basically I use it on the smaller scale.
@shoxruxraximov1018
@shoxruxraximov1018 2 роки тому
yes
@ahndeux
@ahndeux 2 роки тому
I do the same, except grid for the overall page design and if there is one grid where there is a complex layout (ie: a main page), I would use flexbox... NOT! I use a sub-grid instead. Flexbox is strictly for when I don't care about position exactly. I spent way too much time on flexbox to find out it still doesn't do what I want as the screen size changes.
@bradpirochta9293
@bradpirochta9293 2 роки тому
exactly.
@MrBrancomusic
@MrBrancomusic 2 роки тому
I do exactly the same thing.
@gabriellundmark
@gabriellundmark 2 роки тому
This is the old adage, but it isn't how you should look at Grid in my opinion. I use Grid within button elements and all sorts of tiny things.
@VV-wl8gb
@VV-wl8gb 2 роки тому
Amazing demonstration! Kevin is the undisputed MVP! These clicked for me: - in flexbox each row/column is independent of the others - use flexbox when intrinsic sizes are important or useful - use grid when you need a rigid structure (e.g. some card archive, say a blog, shop or events)
@perkin524
@perkin524 2 роки тому
You have made quite a few videos recently on flexbox and grid but I find the repetition enormously helpful. The basic principles are getting hammered in and I find I can now use them much more confidently. Keep on going and thank you!
@theyreMineralsMarie
@theyreMineralsMarie 2 роки тому
Grid template areas are a lifesaver when scaffolding apps in a team environment. It's easy to teach other developers and makes it easy to maintain the layout as you add features.
@codexaeterna
@codexaeterna Рік тому
You did a way better explanation of flex vs. grid than my college professors. CSS is so awesome, I enjoy working with it more than any other languages, probably because of my artistic background.
@lamthaotran19
@lamthaotran19 2 роки тому
I'm binge-watching your videos to teach myself CSS during my 30-min breaks at work. Thanks a ton.
@ShariLynnSmith
@ShariLynnSmith 2 роки тому
Kevin, thank you for showing each of these as you did. I believe I now have a much better understanding of what each is good for in a way I never have & I've tried. Thank you!
@Gocks92
@Gocks92 Рік тому
It's not very often I find one simple, concise video that answers the exact questions I have. Thank you!
@unblemished_
@unblemished_ 2 роки тому
You sir, are a real hero. Making these kind of videos for totally free is an honorable work!
@terryg4415
@terryg4415 2 роки тому
Thank you so much for these videos. This is the first time I've explored using flex for something, so this is invaluable.
@aydanwessels761
@aydanwessels761 Рік тому
That was an awesome tutorial! I love the energy you bring to helping me learn these concepts. Thanks so much!
@reflectionethio9662
@reflectionethio9662 2 роки тому
I am using grid for the outer structure and flex for positioning items in certain layout inside the container. It holiday today in Ethiopia and am still viewing this tutorial because its kev . Thank you
@Emily-yb3pd
@Emily-yb3pd 2 роки тому
I always used to read about 'learn flex there, learn flex here' when I was learning css and I thought that grid was some outdated feature but it's not. It's good to know, amazing content
@batuhanbatur7409
@batuhanbatur7409 Рік тому
the way you explain things is great man. as a person who gets distracted by the simpliest things, i can watch your videos without losing my focus for hours. much appreciated.
@mohammedjelidi05
@mohammedjelidi05 2 роки тому
It's crazy how it's highly unlikely that I would have known any of this if I hadn't found this video. Thanks, Kevin.
@cipherxen2
@cipherxen2 2 роки тому
Flex : asks children their size, tells their location Grid : tells children their size and location both Flex for lists Grid for tables
@hugefriend514
@hugefriend514 Рік тому
This video came to me exactly while i was struggling to learn the differences between flexbox and grid, and explained that everything so clearly. Thank you for this amazing content.
@weshorrocks7554
@weshorrocks7554 Рік тому
I’m so glad I watched this. I’ve been trying to figure out a problem on a site where a list of logos wasn’t working as I expected. Finally got it to work thanks to the mention of grid children and a flex/grid combo.
@kalle4526
@kalle4526 2 роки тому
Absolutely great explanation of flex and grid. Loved it! :)
@juansebastian6463
@juansebastian6463 Рік тому
kevin's videos quality out league every other content creator. He explains every detail of the subject so smooth and clear.
@zachjensz
@zachjensz 2 роки тому
Obviously floats are the best layout tool
@c__beck
@c__beck 2 роки тому
Dem be fightin' wordz!
@marcelijankowski9593
@marcelijankowski9593 2 роки тому
floats? Bro they aint supported in IE, better stick with inline and blocks
@c__beck
@c__beck 2 роки тому
​@@marcelijankowski9593 🤣🤣🤣🤣🤣🤣
@jscode6330
@jscode6330 2 роки тому
Obviously you are from the future. How did you leave a comment the day before the video came out?
@b1mind
@b1mind 2 роки тому
@@jscode6330 patron, but he is from the future
@AdamLeis
@AdamLeis Рік тому
Great video, Kevin. I like the benchmark of asking what determines the column widths: items or parent. That's a helpful way to conceptualize when to choose either. Bravo 👏
@floverdevel
@floverdevel 2 роки тому
Wow ! Thank you Kevin :) This video is great. It's so well explained. You really helped me understand the differences between Grid and Flexbox.
@HarishChouhan
@HarishChouhan 2 роки тому
I recently got back into this as I was working with a WordPress theme and now realize how in some cases flex is easy to use. One area would be a website header with the logo, menu and maybe social icons all aligned in a neat with with just few lines of code.
@eumm11
@eumm11 2 роки тому
thank you so much Kevin, your lessons are always invaluable!
@GildwareTechnologies
@GildwareTechnologies 9 місяців тому
Flexbox and Grid are two powerful layout systems in CSS, each with its own strengths and use cases. Let's compare them to understand when to use Flexbox and when to use Grid: Flexbox: One-dimensional Layout: Flexbox is designed for one-dimensional layouts, either in rows or columns. It excels at distributing items along a single axis, making it ideal for creating flexible and responsive layouts. Content Ordering: Flexbox allows you to easily change the order of flex items without modifying the HTML structure, which is useful for responsive designs or reordering elements in different screen sizes. Alignment and Justification: Flexbox provides precise control over alignment and justification of flex items along the main axis and cross axis. Complexity: It is relatively easy to understand and implement, making it a good choice for simpler layouts. Grid: Two-dimensional Layout: Grid is designed for two-dimensional layouts, allowing you to create complex grid-based structures with rows and columns. Grid Items Control: It provides fine-grained control over the placement and sizing of grid items. You can define explicit sizes for rows and columns and position items anywhere on the grid. Responsive Layouts: Grid excels at creating responsive layouts where elements reflow based on available space, providing a powerful solution for complex responsive designs. Alignment and Spacing: Grid offers powerful alignment and spacing capabilities along both axes. Complexity: Grid may have a steeper learning curve compared to Flexbox, especially for complex layouts. When to Use Flexbox: For one-dimensional layouts, such as navigation menus, card layouts, or vertically stacked elements. When you need to distribute items along a single axis with flexible sizing. For aligning or justifying items within their container. When to Use Grid: For two-dimensional layouts, like complex grids, magazine-style layouts, or multi-column forms. When you need precise control over the placement and sizing of items in both rows and columns. For creating responsive layouts with automatic reflow and resizing. In many cases, Flexbox and Grid can be used together to create more sophisticated and responsive layouts. It is common to use Flexbox inside Grid cells to further control the alignment and ordering of elements within the grid. In summary, use Flexbox for simpler one-dimensional layouts and flexible content distribution, while Grid is best suited for more complex two-dimensional layouts and fine control over grid items. Understanding both Flexbox and Grid will give you the tools to create versatile and responsive web designs efficiently.
@Niksorus
@Niksorus 7 місяців тому
This is the most useful video about CSS I've ever watched! Thank you so much, Kevin :D
@MrVurtan
@MrVurtan Рік тому
Thanks for the comparison of both. This will help me in future! I tend to forget how / which layout I should use due to not regulary using it. What me personally drives me crazy is the flex-direction. There I always think the opposite.
@gauthamnookala1776
@gauthamnookala1776 Рік тому
Always wondered why Flex was considered 1D when we could lay it out in a 2D matrix like manner. Your video has clarified and cleared my doubts. Thank you.
@sep1ol
@sep1ol 2 роки тому
i just love your videos man, so helpful! keep up this awesome work of yours! thanks :)
@11gallery36
@11gallery36 2 роки тому
Great video! You explained the pros and cons so perfectly! Thanks!
@aCitizenJOSerased
@aCitizenJOSerased 2 роки тому
Kevin, really thank you, you are such a magnificent teacher! All the best!
@ntnurobert218
@ntnurobert218 Рік тому
Fantastic video with very clear examples . I finally understand the differences. You are awesome. Thank you so much 😊
@paulofernando78
@paulofernando78 Рік тому
Can't thank you enough for this. It's one of the best explanations who's struggling to understand that.
@CyrilNeko
@CyrilNeko 2 роки тому
your videos are so smooth and chill
@michaeltan7855
@michaeltan7855 2 роки тому
Thank you so much. Your videos have been a blessing to helping me start off and helping my fathers business grow.
@dshl21
@dshl21 11 місяців тому
exactly what i was looking for. Thank you!
@luiseduardovieira3982
@luiseduardovieira3982 Рік тому
clarified quite a lot for me, thanks my men, definitely will subscribe
@arnaud_b42
@arnaud_b42 8 місяців тому
Really great content! Coming from software then backend, all too often i have felt like CSS is a nightmare. In only 20min you just gave me the explanations i needed to fix my layout (i switched from grid to flex) and now it looks great and it is responsive. Keep doing what you do. Big thanksss!
@lorenainfanter.3099
@lorenainfanter.3099 Рік тому
Thank you! It really helps me to have a better understanding about this topic.
@TheSoulCrisis
@TheSoulCrisis Рік тому
Thanks for this, it's just what the doctor ordered! I'm holding a web developer position now for a Financial Technology company and doing a lot of research and practice with CSS and JavaScript. I was looking to spice up my skills on Flex and Grid, I will be watching your other videos on them too!
@-Wust-
@-Wust- 2 роки тому
Fantastic video. Love the "focus on intrinsic sizing" approach.
@britti73
@britti73 2 роки тому
This was so useful! Awesome video 😃 thank you Kevin
@optimat4
@optimat4 Рік тому
the best material about Grid and Flexbox I have evere found. Thanks!
@datkumar1024
@datkumar1024 2 роки тому
Thank you!! I really needed this explanation💯
@hjmnoguera
@hjmnoguera 11 місяців тому
Thank you!! I really needed this explanation.
@deadalnix
@deadalnix 2 роки тому
Thanks man. I've been a webdev ~15 years ago, when we got to fight with IE6, and recently gettign back into it. Your content is super helpful to get back up to speed.
@jtinz74
@jtinz74 2 роки тому
And nowadays we fight with IE11. How the world has changed.
@deadalnix
@deadalnix 2 роки тому
@@jtinz74 It's nowhere near as bad as it used to be.
@Flash-bq5ts
@Flash-bq5ts Рік тому
On-point explanation, thank you!
@cleanclothes
@cleanclothes 2 роки тому
Clear explanation and examples. Superb teaching!
@rodrigoniveyro9763
@rodrigoniveyro9763 2 роки тому
dude, thanks a lot for your work, its really useful and appreciated here.
@vikram87in
@vikram87in 2 роки тому
whenever you speak about css, it's sounds like a beautiful story. totally loved the video 😍
@KojiKazama
@KojiKazama Рік тому
Great video, thanks. This is the first time I am seeing your channel. Something about you reminds me of Fox Mulder, but I'm now subscribed.
@ecospider5
@ecospider5 14 днів тому
I was researching flexbox and came across this. It’s really great to know that grid is available
@MO-dg4wr
@MO-dg4wr 9 місяців тому
Thanks, simplified illustration, yet thoroughly grasped the concept better now...
@omidiw1124
@omidiw1124 Рік тому
thank you so much on the explanation i was wondering what the heck is grid and now i know i can rely on both i was fighting with flex so much
@michaborzdynski7932
@michaborzdynski7932 2 роки тому
I just watched you’re old video about this topic form 2019 and thought: “It would be nice if you posted an updated version”. What the heck man, your read my mind 😂
@worldclasscode1847
@worldclasscode1847 2 роки тому
Nice vid! I love Flexbox. It's so useful. I use it on each and every web page, multiple times.
@romankrytski8687
@romankrytski8687 2 місяці тому
Wow, I love your content, man! That's awesome 😮
@wpeasy
@wpeasy Рік тому
Brilliant and simple as always.
@arcosd63
@arcosd63 2 роки тому
Very cool! And great demo! Thank you
@michaelkuhn6328
@michaelkuhn6328 Рік тому
Thanks for a great explanation of this!
@ruskasielu6261
@ruskasielu6261 5 місяців тому
Thanks for this, you convinced me to start using more grid display instead of going for flexbox as my default option!
@i_am_ergo
@i_am_ergo Рік тому
Incredibly well explained!
@jarrodverhey8563
@jarrodverhey8563 11 місяців тому
Thank you so much for this video!
@webapple1
@webapple1 2 роки тому
thank you so much! I'm studying my diploma in web development and Im designing a website with HTML/CSS for an assignment , so this helps a lot!!
@eastquack3342
@eastquack3342 2 роки тому
really useful thanks; also, your demeanor is highly appreciated
@halitturanarican3434
@halitturanarican3434 5 місяців тому
Thank you Kevin, this cleared some things on my mind.
@broken_diesel
@broken_diesel 11 місяців тому
I've watched quite a few videos on flex grid trying to understand were and how to use them. i can truthfully say with out any doubt that this was by far the easiest and best video of the topic for many reasons. I could have also gone to a bootcamp and payed a few $$$$ for this same information. But i highly doubt that it would have been as effective to get to explain the topic as well as this video.
@muhammadamir4964
@muhammadamir4964 7 місяців тому
I have learned a lot you. My deeper understanding of css is due to you. I am comfortable using vanilla css than any css framework. Grateful to you.
@flowi84
@flowi84 9 місяців тому
This is a great summery of flex and grid. I used alredy Booth. But never felt comfortable with it. this video is realy helpful to understand this two systems
@erril8285
@erril8285 Рік тому
Thank you! Very helpful!
@teemos2732
@teemos2732 Рік тому
Thank you - you're explainers are great.
@fogaamos6822
@fogaamos6822 Рік тому
Thank you very much Kevin, you made me to fall in love with CSS, by simplifying some concept which are hard to understand
@lukas.webdev
@lukas.webdev 11 місяців тому
If you also want to fall in love with the CSS Framework "Tailwind CSS": I will post a video about it next week on my channel ... 😉
@jamessummers5936
@jamessummers5936 Рік тому
I've been using flex for years and love it, but I recently needed a way to layer a container above another container without using z-index and position properties, grid worked phenomenally with being able to tell 2 containers to be on the same row and column. I will admit that it's a bit more complex than flex, but I'm slowly comprehending it the more I use it, as with anything in life.
@shreyasgosavi9647
@shreyasgosavi9647 5 місяців тому
Woww got different perspective for the flex-box with its intrinsic property !! thankss
@fullStackInKannada
@fullStackInKannada 8 місяців тому
Thank you! Very nice explanation!
@user-eh9li5tx7h
@user-eh9li5tx7h 2 місяці тому
This is a wonderful video. Thank you so much.
@michaelmann9090
@michaelmann9090 Рік тому
freaking really good video my guy!
@magnoid
@magnoid 2 місяці тому
Great stuff Kevin!
@ameregame4805
@ameregame4805 6 місяців тому
Intrinsic sizing vs extrinsic! Love it!
@sabinovelasquez
@sabinovelasquez 2 роки тому
Great stuff man, kudos from Chile :)
@stevenwilson5556
@stevenwilson5556 Рік тому
thank you so much. this really helped
@simmzzzz
@simmzzzz 5 місяців тому
So a grid is griddy and flex is flexy :p On a serious note, this is a great video that explains the differences really well. Amazing
@JohnPepp
@JohnPepp Рік тому
I look at it this way - Grid says to Flexbox "Hold my beer, I'll handle this". 🤣
@araibebe
@araibebe Рік тому
GREAT video! easy to understand. Thanks a lot.
@Bluukeson
@Bluukeson Рік тому
Use grid if you want the parent to specify the columns and rows and use flex if you want the chrildren to do it. I find grid a lot easier to work with and it's a real godsend that saved a lot of time for me. Flex and flex-wrap however are still really nice if you want floating behavior with added features like justify: center, and without all the clearfix hassle.
@enzocecillon1452
@enzocecillon1452 2 роки тому
I started with flex as a beginner (I’m still) and tried to learn grid. I find it way more intuitive and easier to use overall. Just my newbie opinion 🤷‍♂️.
@Six5
@Six5 2 роки тому
Exactly grid is just simpler to pick up and starting building with.
@charxcx_Purr
@charxcx_Purr 2 роки тому
I totally agree
@lonleybeer
@lonleybeer 2 роки тому
YOOO everytime I'm starting on a project for college wondering what i could use the css king himself comes on my subscription with answers!
@benvsantos
@benvsantos 2 роки тому
this is so helpful. thank you
@VishalTheK
@VishalTheK Рік тому
Well explained. Thanks 👍
@ziddy_mk
@ziddy_mk Рік тому
Great vid, thank you!
@HocineKamikaz
@HocineKamikaz Рік тому
Great job thanks a lot... That was a great explanation
@Chiaros
@Chiaros Рік тому
Excellent visualization and explanation. You're like the Adam Ragusea of programming :D
@BlakeT87
@BlakeT87 2 роки тому
This is really helpful, I'm just getting started and I am struggling with the CSS portion. I know in my head how I want it to look, I just don't know how to get it there.
@everyonecanbefascist
@everyonecanbefascist 2 роки тому
Awesome tutorial just subscribed
Learn CSS Grid the easy way
37:04
Kevin Powell
Переглядів 859 тис.
Learn flexbox the easy way
34:04
Kevin Powell
Переглядів 669 тис.
😨Новая Война в GTA 5 Online #shorts
00:40
King Dm
Переглядів 1,7 млн
skibidi toilet 73 (full episode)
09:41
DaFuq!?Boom!
Переглядів 21 млн
Excited Dog Zooms In and Out of Sliding Door!
00:18
The Pet Collective
Переглядів 16 млн
Lecture 1: Introduction of Web Development || What is HTML
1:03:20
Stack Soft Academy أكاديمية ستاك سوفت
Переглядів 61
Flexbox or Grid challenge // which would you use to solve these?
25:27
Kevin Powell
Переглядів 52 тис.
Flexbox vs. CSS Grid - Which is Better?
4:18
Layout Land
Переглядів 296 тис.
Incredible scroll-based animations with CSS-only
32:23
Kevin Powell
Переглядів 317 тис.
Use these instead of vh
6:06
Kevin Powell
Переглядів 435 тис.
How to take control of Flexbox
16:01
Kevin Powell
Переглядів 77 тис.
Flexbox vs. CSS Grid: Which Should You Use and When?
17:16
Envato Tuts+
Переглядів 60 тис.
A flexbox trick to improve text wrapping
5:02
Kevin Powell
Переглядів 92 тис.
23 CSS features you should know (and be using) by now
31:31
Kevin Powell
Переглядів 48 тис.
😨Новая Война в GTA 5 Online #shorts
00:40
King Dm
Переглядів 1,7 млн