Если вы хотите установить размер шрифта в процентах от ширины области просмотра, используйте vw
единицу:
#mydiv { font-size: 5vw; }
Другой альтернативой является использование SVG, встроенного в HTML. Это будет всего лишь несколько строк. Атрибут font-size для текстового элемента будет интерпретироваться как «пользовательские единицы», например те, в терминах которых определяется область просмотра. Таким образом, если вы определяете область просмотра как 0 0 100 100, тогда размер шрифта 1 будет составлять одну сотую размера элемента svg.
И нет, в CSS это невозможно сделать с помощью вычислений. Проблема в том, что проценты, используемые для font-size, включая проценты внутри вычислений, интерпретируются в терминах унаследованного размера шрифта, а не размера контейнера. CSS мог бы использовать bw
для этой цели единицу, называемую (ширина поля), можно сказать div { font-size: 5bw; }
, но я никогда не слышал, чтобы это предлагалось.