Let's talk about units
There is a life beyond pixels and percentages. Using px
units is fine in certain cases, the real mistake is using absolute instead of relative units.
Bad example
p {
font-size: 16px;
line-height: 20px;
margin-bottom: 8px;
}
What is the problem and how to fix it
- Using relative units ensures that the website scales proportionally according to your choice of font, and according to the users' choice of screen size and zoom level.
- The formula to calculate the rem value is
desired-size / root-font-size
, in short8 / 16 = 0.5
, this means that1rem
equals the font size of thehtml
element (which for most browsers has a default value of 16px). - If you don't want to grab a calculator every time you need a new unit, use Sass and create mixin. CSS Tricks has a pretty good article about how you can achive this.
Good example
p {
font-size: 1rem;
line-height: 1.25;
margin-bottom: 0.5rem;
}