DEV Community

Medea
Medea

Posted on

Responsive Text - Without @media queries

Once upon a time, I had a website where it looked great on laptop, but when I switched to phone, the text was SO TINY!!!.


So I started messing around with @media queries and found them a bit too hard to use.


Then I searched my problem in Google and found this StackOverflow post.
It had the answer to my problem!


The answer is pretty simple actually. You use the calc() function in CSS, and use rem and vmin units to write this code:

body {
  font-size: calc(0.75em + 1vmin);
}
Enter fullscreen mode Exit fullscreen mode

I made responsive text with just 3 lines of CSS and without @media queries!

Top comments (11)

Collapse
 
pierrewahlberg profile image
Pierre Vahlberg

A reflection and some background for less senior frontend devs that I think could be useful;

Responsive as in responsive website generally means that content like images, menus, overflows and other layout elements adapts primarily to device width, since we have different desktop screen resolutions but also tablets and different size phones nowadays.

This snippet makes text size adapt in relation to the smallest of the viewport width or viewport height values, just so people who wants to understand can do so :)

Most times font size is expected to be set in relation to the design and layout and using this COULD break the design since font size now is depending on how wide/high a screen is. Using a fixed rem and scaling it using breakpoints, as your responsive layout might already do, is way more predictable and gives you less cases to assess visually when you are making changes :)

Pros and cons - gotta whey them all in 😊

Collapse
 
ahmeds189 profile image
Ahmed Said

Try clamp function you can set a min value and max value so the text doesn't grow if the screen gets really big and vice versa

Collapse
 
vulcanwm profile image
Medea

I’ll try that thanks!

Collapse
 
lico profile image
SeongKuk Han

Oh!! I didn't know vmin and vmax, thanks for the article!

Collapse
 
vulcanwm profile image
Medea

np! glad you learnt something new!

Collapse
 
icyybee profile image
Beatrice Egumandi

Nice… will definitely use this

Collapse
 
vulcanwm profile image
Medea

Glad it helped!

Collapse
 
azad77 profile image
Dr. Azad Rasul

A good solution!

Collapse
 
vulcanwm profile image
Medea

Thanks!

Collapse
 
smsp profile image
Sobhan Mowlaei

Greate

Collapse
 
vulcanwm profile image
Medea

Thanks!