нет правильного решения CSS, о котором я знаю. Вы можете определить размер шрифта в%, но это займет% пикселей шрифта родительских элементов.
Вы можете использовать медиазапросы, но они будут увеличиваться шаг за шагом.
.p {
font-size: 20px;
}
@media screen and (max-width: 600px) {
.p {
font-size: 12px;
}
}
@media screen and (max-width: 800px) {
.p {
font-size: 14px;
}
}
@media screen and (max-width: 1000px) {
.p {
font-size: 16px;
}
}
@media screen and (max-width: 1200px) {
.p {
font-size: 18px;
}
}