I\'m having a hard time getting my head around font scaling.
I currently have a website with a body font-size
of 100%. 100% of what though? This seems t
There is a big philosophy for this issue.
The easiest thing to do would be to give a certain font-size to body (I recommend 10), and then all the other element would have their font in em
or rem
.
I'll give you an example to understand those units.
Em
is always relative to its parent:
body{font-size: 10px;}
.menu{font-size: 2em;} /* That means 2*10 pixels = 20 pixels */
.menu li{font-size: 1.5em;} /* That means 1.5*20 pixels = 30 pixels */
Rem
is always relative to body:
body{font-size: 10px;}
.menu{font-size: 2rem;} /* That means 2*10 pixels = 20 pixels */
.menu li{font-size: 1.5rem;} /* that means 1.5*10 pixels = 15 pixels */
And then you could create a script that would modify font-size relative to your container width.
But this isn't what I would recommend. Because in a 900 pixels width container for example you would have a p
element with a 12 pixels font-size let's say. And on your idea that would become an 300 pixels wide container at 4 pixels font-size. There has to be a lower limit.
Other solutions would be with media queries, so that you could set font for different widths.
But the solutions that I would recommend is to use a JavaScript library that helps you with that. And fittext.js that I found so far.