gpt4 book ai didi

javascript - 使用 CSS/jQuery 的响应式字体大小

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:45 24 4
gpt4 key购买 nike

我想在 div 中创建响应式文本。

我试过了 jquery-textfillFlowType ,但它们根本不适合我。

FlowType 不使用所有可用空间,仅使用其中的一部分 ( demo ),而 textfill 不考虑高度 ( demo )。

我是不是没有正确使用它们,或者我想要的东西太难实现了?

我的 HTML:

<body>
<div class="external">
<div class="internal">Example</div>
</div>
</body>

我的 CSS:

.internal{width:100%;height:100%}
.external{width:400px;height:50px;}

附言。目前对视口(viewport)的支持还不够。

最佳答案

编辑:更新为 resize事件监听器。更新 fiddle .

据我了解,您希望文本尽可能大,同时仍适合包含 <div> 的内容, 正确的?我的解决方案是放一个 <span>文本周围,符合文本的正常大小。然后计算容器尺寸与 <span> 之间的比率的尺寸。以较小的比例(宽度或高度)为准,使用该比例放大文本。

HTML:

<div class="container">
<span class="text-fitter">
text here
</span>
</div>

JS(jQuery):

textfit();
$(window).on('resize', textfit);

function textfit() {
$('.text-fitter').css('font-size', 'medium');
var w1 = $('.container').width()-10;
var w2 = $('.text-fitter').width();
var wRatio = Math.round(w1 / w2 * 10) / 10;

var h1 = $('.container').height()-10;
var h2 = $('.text-fitter').height();
var hRatio = Math.round(h1 / h2 * 10) / 10;

var constraint = Math.min(wRatio, hRatio);

$('.text-fitter').css('font-size', constraint + 'em');
}

这是一个 fiddle .调整.container CSS 中的尺寸以查看其实际效果。

关于javascript - 使用 CSS/jQuery 的响应式字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25742441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com