Are you using the right CSS units?

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

КОМЕНТАРІ •

  • @einfachnurlegendar7947
    @einfachnurlegendar7947 3 роки тому +1784

    Summary:
    font-size: rem
    width: % in combination with a max-width, ch
    height: question urself "do i rly need to set height" if yes -> use a min-height
    padding/margin: rem or em, kevin often uses em for padding of buttons
    media queries: em
    px only for little things like shadows, borders etc.
    Great Video :)

  • @TheBigCheez365
    @TheBigCheez365 3 роки тому +626

    This is such a solid channel. Literally my go-to for any and all things CSS. You da man Kevin.

  • @andreschavarria7091
    @andreschavarria7091 3 роки тому +381

    Ok so I’m 37 years young and decided to learn html/css with absolutely 0 experience and knowledge about coding or programming. Your channel has made things way easier for me to understand. So I guess I just want to say thank you and recognize the importance of sharing and the impact you’re making.... thanks!

    • @Yathavan5947
      @Yathavan5947 3 роки тому +7

      All the best man ❤

    • @samuelgoncalves5616
      @samuelgoncalves5616 3 роки тому +6

      Love that you are trying to learn! That's the way to go. Just out of curiosity, why did you start learning?

    • @rellison68
      @rellison68 3 роки тому +17

      Hi Andres. I am 52 and am returning to development after about 10 years off. I really appreciate channels like this to help out. Good luck!

    • @andreschavarria7091
      @andreschavarria7091 3 роки тому +3

      @@rellison68 thanks Robert, and good luck to you too! Agree with you, channels like this show some of the greatest benefits of platforms like UA-cam... sharing IS caring

    • @andreschavarria7091
      @andreschavarria7091 3 роки тому +6

      @@samuelgoncalves5616 thanks Samuel! My wife started doing volunteering at her job, but one requirement is that whoever they’re volunteering for, must have a website and must of them don’t have one... so I said to her... I can build them a website, I’m sure that’s easy! Ha, little did I know... lol. And so I started learning literally 32 days ago. It’s a win win situation, they get the website and I get to learn.

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

    I discovered this channel a few days ago, I learned more about mobile responsive design than anywhere else and feel more confident using CSS. Kevin, you're a real one

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

    Just wanted to thank you for your videos. I have largely avoided getting good with CSS over the last 7 years and default to writing custom javascript for everything, but your practical examples have me writing a lot more CSS over the last few months.

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

    After watching this I improved my site by a lot, I think.
    Such a big difference in just 6 minutes of video.
    Many thanks.

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

      Same!! made a new css which went from 1000 lines to 700 for my website

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

    The ironic thing, as newb, I've used pixels for most everything because? I haven't the slightest idea of the definition and proper usage of the units you mentioned... Which of course, calls out the immediate need for me to, learn them, and use them accordingly. Thanks for this Kevin. I'm enjoying your content very much.

  • @cmyk8964
    @cmyk8964 2 роки тому +20

    For basic HTML games, I define a custom variable in the root relative to the viewport width/height (e.g. min(4vw, 3vh)) and calc everything else relative to that

  • @arseniodeoliveira
    @arseniodeoliveira Місяць тому

    Awesome video, customer oriented, straight forward, assertive and accurate! Lots of bad answers out there I think it is because either 1) they don't really understand how units work. 2) They dont know how to convey a complex topic into simple words. 3) They dont understand that the point is to "answer" a question not convey your own belief about the subject.

  • @TheMatcap1
    @TheMatcap1 3 роки тому +6

    After deploying some sites on html and css i started watching your tutorials and i´m totally impressed, you really helped me a lot improving my css styling an writing. Thanks!

  • @VasilyPavlik
    @VasilyPavlik 3 роки тому +4

    Man, after your videos I started to use REMs. And it's marvelous. Because you can change only one font-size for body in media-query. And that's all. It works like variables even in IE.
    Now I'm thinking in REMs everywhere. Our body default font size is 10px, so it's quite easy to calculate. But it's also easy to scale layouts for any screen size depends on media.
    Thank you a lot!

  • @kiggi__
    @kiggi__ 3 роки тому +9

    I am playing catch up with everything HTML, CSS, Javascript. Your video's are fantastic at helping me get to grips with all that has changed, keep up the awesome content!

  • @CodingNuggets
    @CodingNuggets 3 роки тому +57

    The CSS GOAT bringing everyone some very useful info. Appreciate you Kevin. See you soon!

  • @rohitkf8474
    @rohitkf8474 2 роки тому +10

    Font size : use rem
    Width : coupled with max width, use ch unit(75 or less)
    Height : set min height
    Padding or margin : em(padding for buttons) or rem
    Medi queries : em

  • @erichobbs4042
    @erichobbs4042 3 роки тому +8

    I learned about Ch from one of Kevin's other video's last year. It's my go to unit for designing text layout now.

  • @Springfielde
    @Springfielde 3 роки тому +8

    I really like that you add your face to your content. It makes things much more direct, so it's easier to learn. :)

  • @maxwellandyaffanyi7499
    @maxwellandyaffanyi7499 3 роки тому +1

    🙌🙌🙌👏.... You be CSS bossu 🥳🥳 😄Kudos from Ghana🇬🇭

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

    Thankyou! I’ve very recently arrived at coding a website for a group of people, having managed to avoid html, css and Java since Sir Tim B-L invented it! (Odd as I’ve been in this business for 40+ years) and now I’m here! Wow…. Thank you so much for your vids, they have been superb at explaining principles … keep up the grand work…

  • @Coco-ii2pu
    @Coco-ii2pu Рік тому +2

    You're the best tutor online Kevin. And somehow you have all the answers 😂. Thank you

  • @ViorelMocanu
    @ViorelMocanu 3 роки тому

    My rules of thumb are:
    » % or vw for box widths
    » % or vh for box heights (indeed, rarely)
    » rem or em for font sizes, leadings, and other type-related dimensions (e.g. image sizes sometimes)
    » em for paddings and margins
    » px for border widths (especially when aiming for that 1px crisp) and media queries (will take a look at the article you recommended, but in principle, it worked well for me so far) and widths and heights (even if I override them in CSS in other units)
    » ch for paragraph max-widths

  • @aceandember
    @aceandember 3 роки тому

    So, today something clicked and I owe it all to you Mr Powell. I have been doing CSS/SCSS almost every day for a few years but I didn't grasp the concept of parent height affecting the height of children until I watched one of your videos (you do great btw, ty). I struggled with dealing with it for a long time and today I was tackling a typical challenge, one where a div dynamically pops up from the bottom and I had to size the content above so that it could handle a custom scrollbar etc. Anyway, due to your videos, I walked it through and it worked the first time! Often I'd struggled over this similar scenario with other elements and had to guess, refresh, and just sort of luck my way into it. Now I get it! TY TY TY!!

  • @theorycreative
    @theorycreative 3 роки тому +8

    Great video! It definitely gets confusing sometimes, especially if you’re hours into a project, getting tired and start making mistakes. I’m still a designer at heart, even though I’ve been writing code for decades, it’s not often enough to keep track of everything... and then throw math into the mix after a long day, d’oh!

  • @maitolehrer2613
    @maitolehrer2613 3 роки тому +1

    I've been looking for this kind of video for a long long time now. Thank you so much for this!

  • @jackr9122
    @jackr9122 3 роки тому +1

    Kevin thank you so much man - the clarity I get from these videos is unreal. Keep it up, my friend!

  • @dimitrys.2494
    @dimitrys.2494 3 роки тому

    i thought you had like a million plus followers. you are my go to guy if i don't understand something in css.
    let's try and bring you to at least half a mil.
    i'm sharing for sure all the time !
    you go man!

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

    @ 4:21 is my favorite of the tips... I'm a brand newbie to this stuff and this seems perfect for the site I'm making.

  • @KasumovMedia
    @KasumovMedia 3 роки тому

    Kevin after watching your channel religiously for 3 months I feel like I plugged into the matrix and downloaded some expert coder experience

  • @arceniocornejo6779
    @arceniocornejo6779 3 роки тому +1

    I'm trying to learn more about css "little tiny details" for many years. I know your videos will be helpful to learn the subtle details hidden in this languages. Thanks very much for your efforts to disseminate these important techniques. PD I am a retired professor from Panama.

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

    I love this man and his videos.
    You see immediately how experienced he is and still humble and willing to help. And the advices are always top, they greatly improved the way I use css.

  • @troelsrasmussen7457
    @troelsrasmussen7457 3 роки тому

    Realy nice example with the button where padding is defined using em! Good job and nice videos - thanks!

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

    this cool person is the only one who making me enjoy his content , describe it as much as simple he can!

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

    This is so useful for how short it is; I really appreciate this content.

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

    THANKS U SO MUCH❤😢WITH your videos, now I become understanding about front end working .the videos are right to the point and save time❤🎉

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

    Our designers want things to look consistent across sizes, fully responsive, and they also make very complex designs. This means the headings, boxes, margins, padding all needs to adjust to screen size. I find myself using Calc with VW quite often. I don't know of that's the best way, but it has been working for me. I do use REM for font size whenever I can though. Thanks!!

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

    Thank you so much Kevin for this particular video!, it really clarified a lot for me

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

    Excellent video - and something which needed a quick reference point to "flick back to". Thanks Big K :)

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

    This was the video I was looking for. I know how the units work, but where to use them busted my brain. For the most part I was using vh and vw to much. Also, I was using em for my font sizes, and the parents all the way up were using em as well. Also the whole concept presented here will stick. Thank you Kevin. Big fan.
    Update: I read the article regarding the media queries and I'm curios if it's still relevant today. It definitely was written a long time ago. I'm using Webflow and was surprised to see them using px for media queries.

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

    Thanks a lot, Kevin, your videos are awesome and very complete. This used to be super boring to me, and your content got me interested in actually learning SCSS.

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

    this was extremely helpful. i’m pretty new to css so this gives me a lot of good stuff to think about. thank you!

  • @penggunayoutube2580
    @penggunayoutube2580 3 роки тому

    I always check a video or two from this channel. All of them is really helpful in my road on web development learning
    Love your content

  • @nitkarshchourasia2406
    @nitkarshchourasia2406 11 місяців тому

    🎯 Key Takeaways for quick navigation:
    00:14 📏 *Choosing Font Sizes in CSS*
    - Choosing the appropriate unit for font sizes in CSS.
    - Rem units are preferable over pixels due to adaptability to user preferences.
    - Setting the base font size to 62.5% can simplify calculations when using rem units.
    01:54 📏 *Choosing Width Units in CSS*
    - Exploring various units for setting widths in CSS, including percentage, viewport width, and ch units.
    - Ch units are beneficial for controlling line lengths, especially for readability.
    - Utilizing ch units provides consistency and avoids arbitrary values for maximum widths.
    03:32 📏 *Selecting Height Units in CSS*
    - Considering alternatives to setting height, such as min-height, to prevent overflow issues.
    - Recommendations for using percentage, rem, or viewport height for height declarations.
    - Cautioning against potential issues with viewport height, especially on mobile devices.
    04:16 📏 *Setting Padding and Margin Units in CSS*
    - Advising the use of m or rem units for consistent or relative padding/margin, respectively.
    - Examples of using m for consistent spacing and rem for flexible adjustments based on font size.
    - Demonstrating how unit choices can impact visual hierarchy and design clarity.
    05:11 📏 *Handling Media Queries in CSS*
    - Preference for using m units in media queries for consistency across browsers.
    - Referencing an article highlighting differences in behavior between rem, pixels, and m in media queries.
    - Advocating for a balanced use of various CSS units, focusing on m, rem, percentages, ch, and occasionally viewport units.
    Made with HARPA AI

  • @tuomvii
    @tuomvii 3 роки тому

    In addition to awesome content you put out constantly, I also have to admire that your videos are CRISP! Love that not only your content is hiqh quality but your video quality too.

  • @nymusicman
    @nymusicman 3 роки тому

    Been a rem user for a long time and love it. First time learning about ch. I'm very excited to start using it in some of my websites.

  • @MasayaShida
    @MasayaShida 3 роки тому +12

    Thanks so much for this I'm always insecure about what units to use

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

    When ı wasn't know the difference between relative and absolute units ı used to the absolute units and because of that struggled with media queries. Thanks to Allah ı learned them and now my layouts even more responsive and ı don't use media queries too much.

  • @imluctor5997
    @imluctor5997 3 роки тому +1

    You can also make a function in scss to calculate the pixels to rem. I always use that and call the function px-to-rem() if you take this in use make sure you don't have to put a value with px at the end to make it faster to write it.

  • @Reckless917
    @Reckless917 3 роки тому +1

    Amazing video as always. Super concise and well explained, thanks a lot!!

  • @lieutenantlascivious1992
    @lieutenantlascivious1992 3 роки тому

    Thank you so much! I learn so many little tricks and get so many great suggestions from your videos!

  • @0the0ambient0
    @0the0ambient0 3 роки тому

    Kevin ~ You are amazing . So much ambiguity yet you find clarity

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

    css is the bane of my existence, you make it bareable!

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

    So clear. You've just won a new subscriber.

  • @TheMoonLayingLow
    @TheMoonLayingLow 3 роки тому

    This is so helpful! Thank you for sharing your knowledge, Kevin.

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

    the best CSS teacher in youtube.

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

    Kevin, I'm a dumbass, it's hard for me to pick up the simplest concepts, but idk how you do it. You just make my brain work with ur explanations. Currently following a Udemy course and alot of the properties etc are poorly explained, so I come here

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

    I am forever grateful for having such people like you,every time I am stuck with css I know you will be the solution to my problem may the Lord increase you more and more

  • @ru2979
    @ru2979 3 роки тому

    Sir .This is a ultimate web dev channel . Kudos to your hard work and love your videos ❤️☺️

  • @DrewBombard
    @DrewBombard 3 роки тому

    Just found Kevin last week. Wow… so awesome and easy to understand examples and tutorials and … just amazing.

    • @KevinPowell
      @KevinPowell  3 роки тому

      So glad you're enjoying my content!

  • @90kidsgamezone76
    @90kidsgamezone76 3 роки тому

    You are the man who learn me a lot of love with css

  • @doug7897
    @doug7897 3 роки тому +17

    Due to writing a lot of wordpress stuff, I've avoided using the 62.5% font-size trick since that breaks certain styles in the admin. Instead I have a SASS function called rem(), which just takes whatever pixel value I want to have, and devides by 16 to convert to rems. Definitely a few more characters to type (painfully so), but I've honestly gotten used to it and outside of the awkwardness using them in things like long padding declarations, it's been pretty nice.
    Untill the designer uses inspector to figure out size adjustments and gives me values in REMs that I have to convert back to pixel values. Then it's hell.

  • @cmdaltctr
    @cmdaltctr 3 роки тому

    THANK YOU THANK YOU! I have been wondering about this as a beginner and this helped me termendously!

  • @md.farukuzzaman3911
    @md.farukuzzaman3911 2 роки тому

    Kyle(WDS) said, you are the guru of css, i think you are also the guru in presentations.

  • @AnandKumarChaudhary
    @AnandKumarChaudhary 3 роки тому

    Kevin has unparalleled skill of explaining highly complex concepts in very simple manner. Great Work!!!!

  • @RahulKumar-jx5ku
    @RahulKumar-jx5ku 3 роки тому

    You are making my job easier, Kevin. Thank you very much for that.

  • @mrx-qi8th
    @mrx-qi8th 3 роки тому

    Nice,thanks for sharing your information. I've always clicked the like button even if i didn't have the time to watch it at the moment

  • @SalmanSharieff-One
    @SalmanSharieff-One 7 місяців тому

    I tend to use "em" for button padding, When text of my buttons are of different sizes, because if you are using fluid typography "em" will resize based on font size, much better alternative, since i use svg icons for my buttons.

  • @patriknordberg1259
    @patriknordberg1259 3 роки тому +15

    I think you missed out on CSS Grid and using fractions or fr. Which I think should be very relevant at this time. People really need to start embracing CSS Grid as it makes your layout so much cleaner and allows you to keep your HTML semanticly correct.
    Appreciated the comment about ch. I hadn't used that so much and it really makes sense for column sizes.

  • @timbittins
    @timbittins 3 роки тому +1

    If you would be a rapper, your name would be EmiRem

  • @creatorshorizon5125
    @creatorshorizon5125 3 роки тому

    Em: will the real slim unit, please stand up!

  • @lostcarpark
    @lostcarpark 3 роки тому

    That's really helpful.
    I occasionally need to design things for print, and sometimes for label printers, so need to be able to control exact size on the page. I generally use cm or mm with media queries for these.

    • @KevinPowell
      @KevinPowell  3 роки тому +1

      I come from a print background, and the idea of using fixed units like that in CSS scares me so much, lol. But it does the job!

    • @lostcarpark
      @lostcarpark 3 роки тому

      @@KevinPowell Absolutely. I think in most cases fixed units are to be avoid. There are just occasions when something needs go to a printer, and needs to fit precise measurements. Mostly this will be for admin pages that end users will never see.

  • @mountainslopes
    @mountainslopes 3 роки тому +1

    I like the idea of px for html font size (can change with breakpoints), rem for components, and em for elements within those components.

    • @KevinPowell
      @KevinPowell  3 роки тому

      For accessibility reasons, it's really important not to set the html font size with a pixel value. Assume the default is 16, and use a percentage. You can still scale that number up and down within breakpoints :)

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

    4:02 instead of vh one should use svh (or dvh if height should be dynamic)

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

    Very helpful Kevin thank you so much!!

  • @Brunoenribeiro
    @Brunoenribeiro 3 роки тому +105

    .kevin__coat {
    display: flex;
    justify-content: flex-start;
    }

    • @ivanberdichevsky5679
      @ivanberdichevsky5679 3 роки тому +3

      I think this has align-items: flex-end actually 😂

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

      .kevin__tshirt:nth-child(even){
      background: pink;
      }
      .kevin__tshirt:nth-child(odd){
      background: whitesmoke;
      }
      .kevin__tshirt:nth-child(3n){
      background: grey;
      }

    • @sumitpurohit8849
      @sumitpurohit8849 3 роки тому +3

      .kevin__coat {
      align-items: space-between;
      }

    • @arimcbrown
      @arimcbrown 3 роки тому +4

      weird flex, but okay

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

    Awesome, like always!

  • @dragonore2009
    @dragonore2009 3 роки тому

    Same here I don't use pixels as much anymore. For when I do use them, it's usually some margin left or right that needed 4px or something. The only big use I have for pixels is sometimes I will use them for min-widths where appropriate.

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

    Thank you so much... You channel is awesome

  • @snaydenoff
    @snaydenoff 3 роки тому +3

    Great video! As a product designer who has just started writing my own html/css, I find your videos really useful!
    It would be great for beginners if you could expand on the issues with examples, such as what issues using the viewport width would cause. ✌️

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

    You nailed the thumbnail on this one 😂

  • @kblyr
    @kblyr 3 роки тому

    Awesome! This is really very helpful, thank you!

  • @mechmaverick
    @mechmaverick 3 роки тому

    literally subbing because the "ch" explanation

  • @Andrei-xb1pz
    @Andrei-xb1pz 3 роки тому

    Cool video! I don't like CSS but you make me hate it less

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

    Noooooooooooo Why didn't I came across this channel earlier in my life.

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

    Brilliant and helpful advice. Thank you.

  • @tommy6322
    @tommy6322 3 роки тому +1

    I am not sure. But hopefully you will clear things up for me! :) Love your videos!

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

    Ah well, I just did a small self-paced course on HTML and CSS. I can do some stuff but the more I watch your videos the more I know that I don't know crap.

  • @williamboshi1855
    @williamboshi1855 3 роки тому

    This topic interested so much I liked before watching, I hope the algorithm gods noticed

  • @Football__Junkie
    @Football__Junkie 3 роки тому

    Great video. Actionable and to the point

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

    Trust me when I say Kevin is really underrated

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

    When setting the value of REM units, do you round or do you use full 3 or 4 decimal places? I mean for 21px on the front end, do you set 1.3125 rem, 1.313 rem, 1.31 rem, or 1.3 rem?

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

    4:30 where is here property padding in .btn selector?

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

    Thanks man! Great video

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

    The only place I use px still is border-radius and *occasionally* some min-width or min-height values.

  • @PlayRiteProductions
    @PlayRiteProductions 3 роки тому

    Video is gold, thanks so much!

  • @rfss1996
    @rfss1996 3 роки тому

    1:27 Can I use also "html {font-size: 10px}" ? Where is the difference?

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

    which book is that on your desk? can can you suggest some books for css beginners, because i'm confused in excution flow of a css with html and so on, i mean if i write "font-size:2rem; and padding:2em;" ,n matter wheather you write it inside inline css or in , or above or below to each other (padding and margin) ,2em always mutliply by 2rem, so does it ?css dont have any proper execution flow of code?

  • @sundayuchegbu2060
    @sundayuchegbu2060 3 роки тому

    Hi Kelvin, have been going through your channel and you are simply amazing

  • @nahuelleiva8460
    @nahuelleiva8460 3 роки тому +1

    I know this is a few months old but I have a question from my own experience.
    I have a component with "display: grid", the grid has 2 columns. Each column has data tables (not made in a traditional HTML-table way but using CSS grid as well) and I have a problem with the text inside of them. I have a font size defined in this case.
    - If I use rem units and I resize the browser, the table shrinks correctly but the text overflows, doesn't change its size.
    - I've tried using the clamp function with vw units. Using vw units while having the window at full-size the text shows correctly and it's readable but if I resize the window the text, although now it adjusts correctly, goes too small so for mobile screens (or tablet-size screens), everything becomes barely readable. I have a request that the screen shouldn't show scrolls, so I cannot use "display: block" to rearrange the columns in case the screen becomes too small, which is a big problem to solve IMO.
    What should I use in this case for the font size? One thing to note, I've tried avoiding using media queries, I don't want to do complex calculations and therefore adding too much CSS code in my stylesheet that later on will be harder to maintain.

  • @thewadegreen
    @thewadegreen 3 роки тому

    Another great video topic! Thanks!

  • @40ozTea
    @40ozTea Рік тому

    Great explanation!

  • @huynh4128
    @huynh4128 3 роки тому

    This is the video i needed right now