提问者:小点点

如何根据容器大小设置字体大小?[副本]


我有一个容器有%的宽度和高度,所以它根据外部因素进行缩放。我希望容器内的字体是一个恒定的大小相对于容器的大小。使用CSS有什么好的方法可以做到这一点吗?font-size:x%将只根据原始字体大小(100%)缩放字体。


共2个答案

匿名用户

您可能可以通过CSS3使用计算来实现这一点,但是使用JavaScript可能更安全。

下面是一个示例:http://jsfidle.net/8trtu/

使用JS,您可以更改文本的高度,然后简单地将相同的计算绑定到一个调整大小事件,这样它就可以在用户进行调整时缩放,或者在您允许调整元素大小的情况下缩放。

匿名用户

如果要将font-size设置为视区宽度的百分比,请使用vw单位:

#mydiv { font-size: 5vw; }

另一种选择是使用嵌入在HTML中的SVG。就几行而已。text元素的font-size属性将被解释为“用户单元”,例如,视口定义的用户单元。因此,如果您将viewport定义为0 0 100 100,那么font-size为1将是svg元素大小的百分之一。

不,在使用计算的CSS中没有办法做到这一点。问题是,用于font-size的百分比(包括计算中的百分比)是根据继承的字体大小来解释的,而不是容器的大小。CSS可以为此使用一个名为bw(框宽)的单元,所以可以说div{font-size:5bw;},但我从未听说过有人提出过这种方法。