Si desea establecer el tamaño de fuente como un porcentaje del ancho de la ventana gráfica, use la vw
unidad:
#mydiv { font-size: 5vw; }
La otra alternativa es usar SVG incrustado en el HTML. Serán solo unas pocas líneas. El atributo de tamaño de fuente del elemento de texto se interpretará como "unidades de usuario", por ejemplo, aquellas en las que se define la ventana gráfica. Entonces, si define la ventana gráfica como 0 0 100 100, entonces un tamaño de fuente de 1 será una centésima parte del tamaño del elemento svg.
Y no, no hay forma de hacer esto en CSS usando cálculos. El problema es que los porcentajes utilizados para el tamaño de fuente, incluidos los porcentajes dentro de un cálculo, se interpretan en términos del tamaño de fuente heredado, no del tamaño del contenedor. CSS podría usar una unidad llamada bw
(box-width) para este propósito, por lo que podría decir div { font-size: 5bw; }
, pero nunca escuché esta propuesta.