Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 灵活的字体大小,可固定宽度和高度_Javascript_Jquery_Css_Fonts - Fatal编程技术网

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";
  }
});