【发布时间】:2014-04-08 18:41:35
【问题描述】:
我有一个包含文本的容器元素 (div)。此文本有时会非常大 - 不是段落大,但它可能会超过文本的宽度。
显然,在大多数情况下,它只会将部分文本敲到下一行,但我想看看是否可以在 font-size 上使用 calc() 来更改字体大小以确保它始终适合它所在的div 的范围内。可以这样做吗?
.name { width: 500px; font-size: 64px; }
<span class="name">Sometimes it is short</span>
<span class="name">Sometimes it is going to be really long, and people put long names</span>
我可以限制人们可以使用的名字的字母数量 - 在某种程度上我会这样做,但我很想知道这是否可以实现。
我发现这篇文章是用 Javascript 来做的,但那是很久以前的事了,我认为 CSS3 有很多新东西可以让这在没有任何脚本的情况下完成。 AutoFill
【问题讨论】:
-
这不能在纯 CSS 中完成。
calc()是用于根据不同的单位(即100% - 400px)生成CSS 属性值,而不是这种东西(CSS 是表示层,它对文本内容没有任何透视,也没有个人的宽度任何给定字体中的字符)。有一系列易于使用的 jQuery 插件(fitText 等)可以让这一切变得轻而易举。 -
这不是真的。使用 javascript 无法检测一段文本将占用多少像素大小。 fitText is bullshit。它只会在您提供的最小值和最大值之间生成一个字体大小值
标签: css