JavaScript / jQuery:是否可以更改字体大小以填充设定的宽度?

发布于 2024-08-26 15:44:29 字数 160 浏览 7 评论 0 原文

我正在编写一个应用程序,在其中,我想要一些具有可变字体大小的 h1 元素。

我使用 div 的全宽度 (1000px) 作为限制器,并使用一个脚本自动设置 h1 元素的字体,使其适合 div 的宽度而无需换行。

使用 php GD 很容易做到这一点,但我想我想做这个客户端。

I am writing an application, and in it, I would like to have some h1 elements with variable font size.

I use the full width (1000px) of a div as a limiter, and a script that automatically sets the font of the h1-element so that it fits the width of the div without line break.

This is quite easy to do with php GD, but I thought I wanted to do this client side.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

别再吹冷风 2024-09-02 15:44:29

请参阅作为 TextFill jQuery 插件://stackoverflow.com/questions/687998/auto-size-dynamic-text-to-fill-fixed-size-container">自动调整动态文本大小以填充固定大小的容器

See the TextFill jQuery plugin that was created as part of the answer to Auto-size dynamic text to fill fixed size container

初与友歌 2024-09-02 15:44:29

我认为没有为此预先构建的功能。我猜你别无选择,只能运行一个循环并调整元素的大小直到它适合。

它可以像这样工作:

  • 使用 jQuery 创建 DIV 的克隆,例如 element = $('element_id').clone()

  • 将克隆的 font-size 设置为 1

  • 构建一个循环

    1. 字体大小增加一个像素
    2. 检查是否达到所需的宽度
    3. 如果有,则中断循环

中的 font-size克隆的元素将是最接近您所需宽度的匹配项。

更新:@Pär 的答案中引用的插件正是这样做的。

I don't think there is a pre-built function for this. I guess you'll have no choice but to run a loop and resize the element until it fits.

It could work like this:

  • Create a clone of the DIV, with jQuery e.g. element = $('element_id').clone()

  • Set the clone's font-size to 1

  • Build a loop that

    1. Increases font-size by one pixel
    2. Checks whether the desired width has been reached
    3. If it has, breaks the loop

the font-size in the cloned element will then be the closest match for your desired width.

Update: The plugin referenced in @Pär's answer does exactly this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文