Two simple layouts that work better with Grid

Поделиться
HTML-код
  • Опубликовано: 27 дек 2024

Комментарии • 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

  • @brianriback6285
    @brianriback6285 Год назад

    You are, by far, the best teacher around!

  • @kunal007216
    @kunal007216 Год назад +1

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

  • @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

  • @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));
    }

  • @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.

  • @herbowenby4357
    @herbowenby4357 Год назад +1

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

  • @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

  • @GR_BackingTracks
    @GR_BackingTracks Год назад +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.

  • @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

  • @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

  • @hamoodhabibi7026
    @hamoodhabibi7026 Год назад

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

  • @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!

  • @securefolder4548
    @securefolder4548 Год назад

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

  • @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.

  • @CyberTechBits
    @CyberTechBits 7 месяцев назад

    Fantastic tutorial and demo!

  • @MrSurfsAlot
    @MrSurfsAlot Год назад

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

  • @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. ❤

  • @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!!!!!

  • @VarunPats
    @VarunPats Год назад +1

    Thanks, amazing as always! 😍

  • @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...

  • @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

  • @MrKOHKyPEHT
    @MrKOHKyPEHT Год назад +13

    Most common requirement for cards: aligned content

  • @sorasitsuprapoch5921
    @sorasitsuprapoch5921 Год назад

    thanks, its been very helpful

  • @lukas.webdev
    @lukas.webdev Год назад

    Awesome video! Thanks for sharing. 😉🔥

  • @Salmancreationbd
    @Salmancreationbd Год назад

    Masterpiece, Thanks a lot
    Many Issues fixed. Loved

  • @rem2764
    @rem2764 Год назад +1

    useful comparison, thanks

  • @neoweiter
    @neoweiter Год назад

    you are the best of all

  • @javyjoshua4394
    @javyjoshua4394 Год назад +1

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

  • @mannuelf
    @mannuelf Год назад

    awesome! thank you sir.

  • @kaneel36
    @kaneel36 Год назад

    variables in css3. impressive!

  • @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

  • @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).

  • @hassan2868-u7q
    @hassan2868-u7q Год назад

    Thank you.

  • @fai6702
    @fai6702 Год назад

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

  • @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.

  • @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?

  • @aleksandr95
    @aleksandr95 Год назад

    Thx for video!

  • @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

  • @eronorbi
    @eronorbi Год назад +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

  • @Alex.Shalda
    @Alex.Shalda Год назад

    wonderful content!

  • @usmanqayyum109
    @usmanqayyum109 Год назад +1

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

  • @dhanbirsunwar6374
    @dhanbirsunwar6374 Год назад

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

  • @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?

  • @KelseyThornton
    @KelseyThornton Год назад +1

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

  • @rem2764
    @rem2764 Год назад

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

  • @johny962
    @johny962 Год назад

    amazing

  • @TheMetalMag
    @TheMetalMag Год назад

    the grid man :)

  • @jorgegamboa5408
    @jorgegamboa5408 Год назад

    Awesome

  • @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?

  • @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 🙏

  • @pgarou
    @pgarou Год назад

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

  • @JimKernix
    @JimKernix Год назад

    How do you get those unsplash images?

  • @serychristianrenaud
    @serychristianrenaud Год назад

    thank

  • @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.

  • @anthonyokonkwo3493
    @anthonyokonkwo3493 Год назад

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

  • @SimonChikezie
    @SimonChikezie 9 месяцев назад

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

  • @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>>>>>

  • @twd2
    @twd2 Год назад

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

  • @bryku
    @bryku Год назад +1

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

  • @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".

  • @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.

  • @charlie-george
    @charlie-george Год назад

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

  • @AliJanahi-ki9lq
    @AliJanahi-ki9lq Год назад

    Personally, I like the grid more

  • @shonuff4323
    @shonuff4323 Год назад

    I noticed you seem to overuse grid

  • @iajaykumarsharma
    @iajaykumarsharma Год назад

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

  • @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

  • @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