Are you using the right CSS units?
Вставка
- Опубліковано 15 чер 2024
- There are a lot of different units that we can use when writing CSS, in this video I give some general rules of thumb of which ones are best suited for which situations.
Zell's article on media queries: zellwk.com/blog/media-query-u...
Em vs. Rem: • CSS em and rem explain...
Using clamp() for fonts: • min(), max(), and clam...
The issue with em with font sizes: • Why you shouldn't set ...
Viewport units: • CSS Units: vh, vw, vmi...
The ch unit: • The ch unit is the mos...
#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
---
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 UA-cam channel, make sure to follow me on Instagram and Twitter.
Instagram: / kevinpowell.co
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!
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 :)
Just I'm looking for this, thanks :D
Thank you!
Thanks ))
thanks mate
Thanks
This is such a solid channel. Literally my go-to for any and all things CSS. You da man Kevin.
Indeed 🔥
Second this
I concord
I agree
kevin you are the man!
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!
All the best man ❤
Love that you are trying to learn! That's the way to go. Just out of curiosity, why did you start learning?
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!
@@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
@@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.
Kevin thank you so much man - the clarity I get from these videos is unreal. Keep it up, my friend!
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
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!
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!
I've been looking for this kind of video for a long long time now. Thank you so much for this!
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.
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
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.
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!!
Amazing video as always. Super concise and well explained, thanks a lot!!
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.
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.
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.
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!
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.
This is so helpful! Thank you for sharing your knowledge, Kevin.
Realy nice example with the button where padding is defined using em! Good job and nice videos - thanks!
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
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!
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!
I really like that you add your face to your content. It makes things much more direct, so it's easier to learn. :)
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.
The CSS GOAT bringing everyone some very useful info. Appreciate you Kevin. See you soon!
this was extremely helpful. i’m pretty new to css so this gives me a lot of good stuff to think about. thank you!
Thank you so much Kevin for this particular video!, it really clarified a lot for me
Thank you so much! I learn so many little tricks and get so many great suggestions from your videos!
After watching this I improved my site by a lot, I think.
Such a big difference in just 6 minutes of video.
Many thanks.
Same!! made a new css which went from 1000 lines to 700 for my website
THANK YOU THANK YOU! I have been wondering about this as a beginner and this helped me termendously!
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.
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.
Excellent video - and something which needed a quick reference point to "flick back to". Thanks Big K :)
Sir .This is a ultimate web dev channel . Kudos to your hard work and love your videos ❤️☺️
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.
This is so useful for how short it is; I really appreciate this content.
You're the best tutor online Kevin. And somehow you have all the answers 😂. Thank you
Kevin ~ You are amazing . So much ambiguity yet you find clarity
Awesome! This is really very helpful, thank you!
Hey Kevin, your videos are awesome 👌, just wanted to ask you that is it a good practice to give margin top & bottom in vw?
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
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. ✌️
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…
You are making my job easier, Kevin. Thank you very much for that.
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.
Very helpful Kevin thank you so much!!
Brilliant and helpful advice. Thank you.
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❤🎉
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
I am not sure. But hopefully you will clear things up for me! :) Love your videos!
So clear. You've just won a new subscriber.
Welcome aboard!
Kevin has unparalleled skill of explaining highly complex concepts in very simple manner. Great Work!!!!
You are the man who learn me a lot of love with css
.kevin__coat {
display: flex;
justify-content: flex-start;
}
I think this has align-items: flex-end actually 😂
.kevin__tshirt:nth-child(even){
background: pink;
}
.kevin__tshirt:nth-child(odd){
background: whitesmoke;
}
.kevin__tshirt:nth-child(3n){
background: grey;
}
.kevin__coat {
align-items: space-between;
}
weird flex, but okay
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
Thanks so much for this I'm always insecure about what units to use
Hi! First of all thanks for this awesome video🙂.
I have a question that whether we should use percentage as a unit for margin and padding or rem?
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!!
Thank you so much... You channel is awesome
Just found Kevin last week. Wow… so awesome and easy to understand examples and tutorials and … just amazing.
So glad you're enjoying my content!
Extremely helpful, thank you.
Great video. Actionable and to the point
Video is gold, thanks so much!
Another great video topic! Thanks!
this cool person is the only one who making me enjoy his content , describe it as much as simple he can!
Awesome, like always!
I like the idea of px for html font size (can change with breakpoints), rem for components, and em for elements within those components.
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 :)
Really useful, thank you!
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.
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!
@@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.
This topic interested so much I liked before watching, I hope the algorithm gods noticed
css is the bane of my existence, you make it bareable!
Thanks man! Great video
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.
This is the video i needed right now
🙌🙌🙌👏.... You be CSS bossu 🥳🥳 😄Kudos from Ghana🇬🇭
@ 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.
Hi Kelvin, have been going through your channel and you are simply amazing
Thank you so much 😀
Great video! Thank you!
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
Cool video! I don't like CSS but you make me hate it less
I use pixels alot, thanks for sharing!
Hey Kevin,
Great round up!
I fail to understand why designers and frameworks are going so big on rem these days.
Rem are a fix unit base on root html?
I can understand for fonts for sure and to some extent padding and margin.
I see rem applied to width and max-width and I can't figure the logic of it.
Why lock a property like width on a fix root element? 16px x 32.5rem = 520px. Might as well use just px.
If a user changes the root size for vision purpose for example for the fonts, your layout will most probably be screwed!
22px x 32.5rem = 720px.
Keep on!
Thank you for the video!
Excellent as always... Side tracking a bit, I recently moved back part-time onto Windows machines (well Macs running windows). what I noticed is that Microsoft like to mess with the zoom on your screen, I.e. ignore your resolution and display stuff at say 150% normal size (or whatever). This can make small images, like profile pics look terrible so I’m making them about 75% bigger than what the img size is set at. This does get a bit annoying with performance testing on google chrome for example as it nags about image sizes not being the same as their display size. I know we can have different images for different resolutions etc. but does that take into account the zoom level set by the OS?
literally subbing because the "ch" explanation
Great explanation!
helped me very much. thanks
Hugely helpful for me as a newbie in CSS! Do we still use pixels to set dimensions of icons or position of absolute elements, the way I was taught in a course that I did?
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.
i thought tag isn't supported in HTML 5?
Hi ! Thanks for this useful video. What about clamp for the font-size ? Do you think it's useful to adapt without using a media query, or using units like em and doing media querries would be enough ?
You're awesome, Kevin!
THANK YOU SO MUCH MAN!
Just love this guy!
Hi kevin,
i use css for over a year now and i'm pretty good with most topics but i have problem with background images. Can you make a video about that...in general how to make them responsive and little about resizing on smaller screens because on big screens width is much larger than height (on mobile is different), and little about cover, contain and % width. Thanks for your free content :)
Top & Bottom: rem; horizontal measurements: percentage for width. Bootstrap for default gives already 15px of padding in its columns. What about using pixels for left and right?
Thanks a lot for this.
I'm new to html coding (like, a year or so) and I'm kinda used to just use rem and percentage plus some viewport relative position, these two makes life super easy when it comes to adaptive design, i don't know why would you what to hardcode absolute sizes, considering some devices are 720, others are 4K, you never know. :D
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.