【发布时间】:2015-04-13 15:41:38
【问题描述】:
我在 div 内有一个 span,div 必须保持 200px 宽,并且文本必须适合 div 内的一行。跨度内的文本是动态生成的,所以我不可能知道哪些内容会换行,哪些不会。
<div style="width:200px">
<span style="font-size:12px;">This sentence is too large to fit within the div.</span>
</div>
如果我使用 CSS 属性 white-space:nowrap;,字会溢出到 div 的外部,这当然是我们不希望的。
如何根据是否换行来减小字体大小(或缩放)?我更喜欢 CSS 答案,但我知道这是否超出了 CSS 的能力。
【问题讨论】:
-
想把它全部放在一条线上的原因是什么?
-
您可能想查看第三方库,例如 fittext fittextjs.com。作为替代方案,您可以使用
overflow: hidden; text-overflow: ellipsis强制文本有省略号并且不会溢出到 div w3schools.com/cssref/css3_pr_text-overflow.asp -
它必须在一行上,这样才不会与@ShanRobertson 页面的设计相混淆。
-
所有文本都必须完全可见,因为这是@floribon 用户的关键信息。一个插件是不行的,页面加载的时间已经超过了我想要的时间,所以我不想再调用任何库了。
标签: javascript jquery html css