Javascript 灵活的字体大小,可固定宽度和高度
我需要使我的每个Javascript 灵活的字体大小,可固定宽度和高度,javascript,jquery,css,fonts,Javascript,Jquery,Css,Fonts,我需要使我的每个具有固定宽度和高度的灵活字体大小 现行代码 CSS HTML Lorem ipsum Door sit amet,是一位杰出的领导者。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯。Lorem ipsum dolor sit amet,是一位杰出的献身者。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯。献祭精英。两个是
具有固定宽度和高度的灵活字体大小
现行代码
CSS
HTML
Lorem ipsum Door sit amet,是一位杰出的领导者。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯。Lorem ipsum dolor sit amet,是一位杰出的献身者。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯。献祭精英。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯
Lorem ipsum dolor sit amet,是一位杰出的献身者。两个是法雷特拉,一个是拉奥里特。Proin nibh dolor,faucibus sit amet aliquet ac,varius id eros,faucibus sit amet aliquet ac,varius id eros
Lorem ipsum dolor sit amet,是一位杰出的献身者。两个是法雷特拉,一个是拉奥里特。在尼布·多洛的笔下,福西布斯坐在阿米特·阿利奎特·阿利奎特·阿利奎特·阿利奎特·阿利乌斯·艾罗斯
检查并尝试JSFIDLE中的代码
这就是我想要达到的输出
一般的想法是获得
溢出:隐藏,然后继续缩小文本,直到滚动高度
小于离视高度
。像这样:
[].forEach.call(document.getElementsByTagName('p'),function(p) {
p.style.overflow = "hidden";
var f = 24;
while(f > 6 && p.scrollHeight > p.offsetHeight) {
f--;
p.style.fontSize = f+"px";
}
});
您能为我们再澄清一点吗?“灵活的字体大小”是什么意思?你是在问如何创建固定大小的“盒子”和可变长度的字体,但你总是想让字体完全填满盒子吗?@DA。我想使字体大小适合p的宽度和高度,选中此链接,我想获得此输出因此,是的,我想您希望类型“扩展以适合”边界框。这有一些插件。这里有一个:@DA。“哦,别让我们发现你在段落文本上使用FitText。这只适用于巨大的显示文本!”:我会让你决定是否遵守他们的设计建议。;)非常感谢您的回答,我有一个关于性能的问题,这个解决方案是否会影响页面性能(使用while)?,假设我将在页面上的最大30p上应用此函数,很抱歉,如果这个问题很愚蠢,我是JavaScript的新手,在首次加载页面时可能会导致轻微延迟,但没有明显的问题。
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros. consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros.</p>
<br><br><br>
<br><br><br>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros, faucibus sit amet aliquet ac, varius id eros.</p>
<br><br><br>
<!-- This one is perfect -->
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros.</p>
[].forEach.call(document.getElementsByTagName('p'),function(p) {
p.style.overflow = "hidden";
var f = 24;
while(f > 6 && p.scrollHeight > p.offsetHeight) {
f--;
p.style.fontSize = f+"px";
}
});