Resizing/Scaling 内部容器中的字体

Resizing/Scaling fonts in inner container

我希望能够增加默认字体大小,但只能在一定范围内 DIV。

显然,这似乎完全 ems 所针对的那种情况。我的问题是我 想增加字体大小,而不影响其他用 em 调整大小的东西,比如填充和边距。

这可能看起来像是一个奇怪的用例,或者我可能只是 "doing it wrong™"。我这里的用例基本上如下:

我有一个显示包含表格数据的图表的网站。图表可以两种模式查看,摘要模式和完整模式。摘要模式显示较小版本的图表,省略了许多数据。 "full" 版本显示了所有内容,几乎占据了浏览器 window 的宽度。

我希望能够对两个版本使用相同的样式 sheet。但是 "full" 版本可能应该有更大的字体大小。但是,"full" 版本(以及几乎所有在屏幕左侧对齐的模块)都有一定的左填充,这使所有文本与屏幕左边缘的距离保持相同。

如果我把"full"版本的图表包在一个DIV里面,这样只会增加base em,它也会增加padding,从而使得图表中的数据不剩- 与屏幕上的其他所有内容对齐。

所以...

  1. 在不增加填充的情况下增加字体大小的解决方案有哪些?
  2. 我 "doing this wrong" 不知何故 - 将 em 单位用于填充或边距之类的东西是错误的吗?

例如在您的情况下,对于 paddings 使用 rem 而不是 em,因为它不受页面中其他元素变化的影响,因为它基于在页面的根字体大小上(html 如果我没记错的话)。

阅读这里很好:https://j.eremy.net/confused-about-rem-and-em/