Two simple layouts that work better with Grid

Поділитися
Вставка
  • Опубліковано 21 січ 2025

КОМЕНТАРІ • 95

  • @Loug522
    @Loug522 Рік тому +34

    Thank you for existing! I never had so much fun studying until I found your channel and decided to move on from learning Python to CSS(and a bit of Vue as well), which I used to have a really hard time learning.

  • @deatho0ne587
    @deatho0ne587 Рік тому +2

    @ 14:00
    flex-basis: calc(33.3% - 1rem) // might be missing a 2x 1rem there
    Then set-up 33.3% as custom property and 1rem as a custom property

  • @bsully75
    @bsully75 Рік тому +2

    Thanks for the info on grid and flex. I've slowly fallen in love with grid because it's so easy to configure the columns from the parent. It's especially powerful when using container queries!
    Also, calc does work very well for calculating the flex-basis in a flex layout. Especially when you use custom props for the flex-basis and gap.
    .card {
    flex: 1 1 calc(var(--basis, 33.3%) - var(--gap, 1rem));
    }

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

    Thanks a lot Kevin. This really makes a lot sense in just 2 lines of code.

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

    Thank you so much for sharing your knowledge. Always appreciate your content!

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

    Thank you very much for your videos. I've been using flexbox in every use case, but now I am more inclined to use grid because of your videos! Now, I regularly watch at least one of your videos every day before I start my day.

  • @manosmenexis3160
    @manosmenexis3160 Рік тому +5

    Awesome video once again. A little thing that I always forget and it trips me up from time to time, is that when using minmax() it is a good idea to use min() for the ideal size as it will cause overflow if the screen size is less that the ideal size. So I would just use something like this. grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));

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

    I was literally learning about grids and flex box in Codecademy today, this video has really helped me understand it even more. Thank you

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

    You are, by far, the best teacher around!

  • @paulhildmann8392
    @paulhildmann8392 Рік тому +2

    Thanks for making grid a little more understandable. The "auto-fit" looks like a winner for me! Thanks for the cheatsheet. 🙂

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

    Sir you're succesfully bring my interest in using grid again, thank you! This unlock a whole new potential and maybe made my workflow much faster

  • @crixcus
    @crixcus Рік тому +2

    thanks as someone just starting to learn web dev this is so helpful responsive design is something im not comfy with dealing with atm and this helps!

  • @missingsemi
    @missingsemi Рік тому +8

    2:40 reminds me of how exciting attr will be once it's new use cases are fully supported. In the future instead of making a selector for each potential column could, you could do something like
    --column-count: attr(data-columns integer, 3)
    which would take your data attribute and use it as an int with a fallback of 3.

    • @KevinPowell
      @KevinPowell  Рік тому +5

      Yeah, right now attr() is one of those niche things that can be pretty cool in the right situation... if it ever does what it's supposed to be able to do in the spec, it's going to be *incredible*.

    • @goodshiro10
      @goodshiro10 Рік тому +2

      more than incredible I'd say

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

    Thank you! This clarified all my questions for grid vs flex and when i want to use one over the over.

  • @Gary_Reid_Backing_Tracks
    @Gary_Reid_Backing_Tracks Рік тому +10

    The grid/flex shootout continues... Thanks, Kevin!
    Nearly a year into this, I'm learning as much from you as I am from my formal classes.

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

    My mentor ❤. Thanks to you I'm having a easy time in college.

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

    "Use the right tool for the job." The hard part is determining what/which tool is the right tool. These videos help with that

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

    Fantastic tutorial and demo!

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

    I've been using the auto-fit minmax trick for a while now after having seen it in one of your videos a few months ago. I usually use flex as my layout tool, but grid is very useful in situations too.

    • @radadadadee
      @radadadadee Рік тому +2

      I always feel a bias towards grid tho, not sure why lol. Kevin makes an excellent job to cover it ngl, which is good.

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

    Thanks, amazing as always! 😍

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

    The css king 👑 I know you have mentioned in other videos you do not like the name but like yo this video is amazing and you show the pros and cons of what you teach

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

    Thanks a lot, I've already used to grid autofit, but I have to admit that last flex behaviour can be really useful sometimes. And as always, missing the two thumbs up button!!!!!

  • @jasontravers6955
    @jasontravers6955 Рік тому +5

    I like this alot for how it can interact with JavaScript as well. Using JS to modify the data-columns property of the container element based on length of children array. Useful for when the content changes dynamically based on user interaction like "adding" or "removing" items from the DOM

    • @Killyspudful
      @Killyspudful Рік тому +2

      Once Firefox hurries up and implements it, you could use the new :has selector to automatically adjust that 'length-of-child' value via CSS, rather than in JS...

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

    Masterpiece, Thanks a lot
    Many Issues fixed. Loved

  • @lukas.webdev
    @lukas.webdev Рік тому

    Awesome video! Thanks for sharing. 😉🔥

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

    thanks, its been very helpful

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

    you are the best of all

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

    Super relevant for me rn making an ai news website and was having some problems with styling the home page

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

    useful comparison, thanks

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

    awesome! thank you sir.

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

    Honestly?
    If I need some new good things and tips and tricks and cutting-edge information about CSS specifically - I always go to Kevin.

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

    All hail Auto-Fit!!!! And minmax is pretty great too. ❤

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

    Thanks Kevin you make learning easy, plus you are a real-life saver 🫡

  • @r-i-ch
    @r-i-ch Рік тому +1

    This is great stuff (as always!), thank you so much.
    Thought for the future if you do give away more CSS cheatsheets - maybe include a simple box-graphic\diagram example next to the code to make it easier to visualize what you mean?

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

    Thanks you for your awesome videos

  • @MrKOHKyPEHT
    @MrKOHKyPEHT Рік тому +13

    Most common requirement for cards: aligned content

  • @Alex.Shalda
    @Alex.Shalda Рік тому

    wonderful content!

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

    Thx for video!

  • @hassan2868-u7q
    @hassan2868-u7q Рік тому

    Thank you.

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

    variables in css3. impressive!

  • @nicolaslarrode9273
    @nicolaslarrode9273 Рік тому +2

    Hi Kevin ! Amazing content as usual, you didn't use grid-auto-flow: column; ? Ih there a good reason ? (i'm french, sorry if i wrote mistakes).

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

    this is pretty nice with media queries and usually i use flex when there is flexibale flow in childs tbh

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

    Not sure if this has been mentioned but in your simple-grid-layout (apprecate that!) did you mean "grid-template-rows: auto 1fr auto;" over "grid-template-rows: rows 1fr rows;" for pushing the footer to the bottom of the page?

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

    hi Kevin! Could you please create a video about FORMS and how to nicely style them?

    • @KevinPowell
      @KevinPowell  Рік тому +2

      I've sort of touched on them at times, but yeah, a dedicated video on them would probably be a good idea

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

    Awesome! How do I make the last child justify-center using the grid?

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

    Is position sticky intended to work on CSS grid children? Is it possible to replicate the Excel behavior of freezing the rows and and column headers?

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

    Sir!
    . . . . . How to you learn css? Eeither books or videos.

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

    Hey Kevin, awesome video as always. I've seen a lot of your flexbox vs grid videos cause i was really struggling understanding the nature of both. Maybe i've missed it but i haven't really seen you use the combination of repeat(auto-fit, minmax(min-content, 1fr) with grid. Would this behavior be extremely similar to flex in the sense of having all columns be as small as possible to fit infinite number of columns(before overflow), but then be as big as possible just as with flex?

  • @Tony.Nguyen137
    @Tony.Nguyen137 Рік тому

    Why did you delete the video with the box shadow

  • @wfl-junior
    @wfl-junior Рік тому +1

    How do I make the columns have a max-width with the auto-fit grid? Because when there's only one card, the card would be 100% width.
    Let's say I want it to be max 50%, how could I do that?

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

      Use auto-fill instead

    • @wfl-junior
      @wfl-junior Рік тому

      @@pierzobad thank you very much, very useful 🙏

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

    I think flex is a bit better because 8n some cases we don't get to use row or column reverse in grid ... I had a situation working with grid when I needed to put the image before the content in mobile... It was hell, I had to change the entire css to use flex box so I can get the reverse function I needed

    • @clevermissfox
      @clevermissfox Рік тому +2

      You can reorder the children in grid too just like in flex. There isn’t a row-reverse/col-reverse but you can use the order: x; property on the child to move them around. Great for writing semantic html then reordering visually.

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

      @@clevermissfox Thanks

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

    How do you get those unsplash images?

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

    in the version with flex, can go well with container queries

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

    My CSS doesn't work well what should I do? It doesn't display in the live server.

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

    amazing

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

    the grid man :)

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

    Awesome

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

    It's safe use just "gap" instead of "grid-gap"?

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

    What you're saying is use the correct tool for the job. Use a hammer when you need a hammer and use a mallet when you need a mallet. The key is in understanding which tool best fits the job.

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

    I always found grid much easier to get my head around than flexbox 😂

  • @war-fare06
    @war-fare06 Рік тому

    I'm curious about creating a masonry grid with only vanilla js.
    Can you create a video on that? That would be very cool.

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

      I'm just holding out for when Safari and Chrome get around to implementing the CSS solution a few years after Firefox already did 🤣

    • @war-fare06
      @war-fare06 Рік тому

      Yeah, if the browser support is there, no need to calculate all the width and height unnecessarily.

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

    Kevin, I have a question for you as CSS Expert Developer.
    I am using rem units (62.5%, 10px = 1rem) in every project in order to decrease that root percentage until 50% and, potentially, make the project more responsive, than doing everything in px, changing every element of the page by hand. Is it a good practice and decision to make it for complex web applications (using rems, 10px = 1rem)?
    I have found that HRs are afraid to see that trick in my projects, and prefer more traditional decisions to use vh, vw, px, %. Are rems good for adaptive and responsive web design?

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

      Let's start with *never* use px, vh, or ce for font-size. They all have accessibility issues and shouldn't be used. There are ways with clamp/calc with viewport units where you mix in a rem value.
      The trick you mentioned is a bit old school, and has issues where if you bring in any 3rd party tool, it probably assumes you didn't touch the root font size.
      Generally, these days, leaving the html font size alone and just working in base 16 is considered best practice, and using rem for font size is 100% the right way to go. Or clamp, with something like clamp(3rem, 5vw - 0.5rem, 5rem); or something like that

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

      @@KevinPowell All right, thanks for your information. I am doing this trick for adaptive / responsive design only, is it normal to decrease the percentage of font-size rather than to do everything manually with every padding, margin, container etc.?

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

      @@KevinPowell I am asking you because found that trick is so useful for saving a lot of hours of pain but at the same time is weird to decrease don't size and in tablets projects will be almost the same as in desktop version. I have found that most of all use just px for everything and do responsive design, reducing all manually, that's kinda painful...

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

      @@KevinPowell and final thing is that found a correlation with HRs and front-end developers who hire others and see the quality of code. They are not happy with that trick and see everything was in rems and ems units.

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

    thank

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

    What happens when we we do grid auto columns : 1fr

  • @florentd.5817
    @florentd.5817 Рік тому

    Could you write correct html. Section, article, main,... !

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

      Good point! When focusing on other things, it doesn't excuse at least get the simple stuff down even if I don't talk about it during the video... my fault when I throw together a really fast draft and then just go in to record.

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

    Amazing video! But I like to keep my styles only in my .scss modules. When it comes to apply global class names in my markup this can become very confusing.

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

    Awesome, you're a myth , Actually, I turned off using Tailwind for the Grid and using pure CSS because of your videos !!!

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

    You could achive same simplicity with flex container and giving children a min-width attribute, its the same with grid auto-fit repeat minmax.... You can do everything simpler with Flex but you cant do one thing:
    Densely placing elements. You can not place elements of different height in a dense flow with flex (as of 24.05.2023) . You must use "grid auto flow row dense".

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

    well flex + clamp on the width of the children would be as nice as that grid

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

    Auto fit is so great. Grid>>>>>

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

    Display grid is just better display flex... change my mind.

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

    I noticed you seem to overuse grid

  • @charlie-george
    @charlie-george Рік тому

    I've been saying this for years! Grid all the way when building from designs.

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

    man i really hate this trend of collecting as many personal data as possible where it's not even needed.
    I thought at least you would be different here. Why do you need to send me an email containing the cheat sheet? Why not just make it downloadable?
    And of course the fine print "I will send you more emails after the cheat sheet".
    Man, real bummer

  • @AliJanahi-ki9lq
    @AliJanahi-ki9lq Рік тому

    Personally, I like the grid more

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

    I just want to use grid in my every layout it works best for me.

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

    document.querySelectorAll('.flex > div').forEach(div =>{
    div.parentElement.setAttribute('data-column',div.length)
    })

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

    If you want grid to behave like a singleline flexbox (dynamic number of columns, no wrap), you can use:
     display: grid;
     grid-auto-columns: 1fr;
     grid-auto-flow: column;
    Check codepen /Qwertiy/pen/PoyVJzx