当前位置: 首页 > 知识库问答 >
问题:

更改字体大小以适应可变宽度容器

申屠涛
2023-03-14

我正在尝试使用jQuery TextFill灵活地缩放字体大小以填充其可变宽度容器。问题是,我认为这只适用于固定宽度的容器。我想在一个有响应网格的站点上使用这个。

下面是我的测试,它确认jQuery TextFill对可变宽度容器不起作用:http://jsfidle.net/9uqcjdpy/1/

如果您调整窗口的大小,您将看到底部的div大小,但文本没有缩放。如果您更改顶部容器的像素宽度,您将看到文本缩放,但div不能响应性地调整大小。

我还尝试在高度与宽度成比例的容器中使用这种填充方法:

width: 40%;
padding-bottom: 23%;
height: 0;

有什么办法能让这个成功吗?不需要使用jQuery TextFill,但这是我找到的最接近的东西。

共有2个答案

亢奇
2023-03-14

快速jQuery插件:
http://www.jQueryscript.net/text/jQuery-plugin-for-auto-resizing-text-textfill.html不错的演示:
http://www.jQueryscript.net/demo/jQuery-plugin-for-auto-resizing-text-textfill/

高恺
2023-03-14

variablewidthes类中删除height

您需要使用TextFill的WidthOnly选项,并在窗口Resize事件上更新:

$(window).resize(function() {
  $('.variablewidth').textfill({ 
    maxFontPixels: 250,
    widthOnly: true 
  });
});

$(window).resize();

null

null

null

null

您可以像这样使高度成为宽度的函数:

function updateTextFill() {
  $('.variablewidth')
    .height($('.variablewidth').width()/2)
    .textfill({
      maxFontPixels: 250
    });
};

但请注意,maxFontPixels中可能存在一个bug,如我们的注释中所述。

null

null

 类似资料:
  • 我一直在使用vanilla JavaScript创建一个音频播放器来操作HTML元素。 播放机的大小是动态的,所有元素都按比例调整以适应父div。 我已经应用了我能找到的所有方法来缩放字体,以适应父容器和组合解决方案,以一种看起来功能强大的方式,但我不能使字体强大的图标缩放以同样的方式。 图标的包含方式如下: 我的解决方案通过实现,其中函数定义如下: 我在CSS中设置、或元素的font-size,

  • 引用MultiLanguage.nsi的内容: ;NSIS Modern User Interface ;Multilingual Example Script ;Written by Joost Verburg ;-------------------------------- ;Include Modern UI !include "MUI.nsh" ;-------------------

  • 除了这个问题:更改超文本标记语言电子邮件正文字体类型和大小在VBA,我想知道如何才能改变字体大小 当我从代码中删除字体大小时,它确实改变了字体系列。 谢谢你的协助,

  • 我有定义了left、right和top约束的NSTextField(没有设置bottom约束)。我需要NSTextField增长,如果内容不能容纳在其中,并减少大小,如果有未使用的空间。 现在我有了:如果NSTextField有多行文本或太多内容,它会以奇怪的行为自动扩展,而且NSTextField在窗口调整大小时不会减小自己的大小。 在Swift上,我还没有找到任何简单的解决方案来解决这个问题(

  • 假设我有一个TextView,其layout_width设置为match_parent。有没有办法自动分配一个textSize值来尝试将文本放入那个宽度而不换行?我需要的文本在单行,但尽可能大。 非常感谢你

  • 因此,我正在努力为我的HTML文档设计一个响应更快的设计,我想要排序的第一件事是根据容器的高度和宽度缩放字体大小。现在我有以下内容: 我研究了一下,在css中找到了“VW”这个单位,它允许字体根据容器进行缩放,但我注意到它只在我调整浏览器宽度时才起作用,这会得到如下结果: 如图所示,如果我调整浏览器的宽度,文本确实会缩放。但是,我意识到当我调整浏览器的高度时,它根本不会缩放。 我如何确保文本是基于