FitText.js的非jQuery替代品?

我正在做一个小项目,我需要做的最后一件事就是创建一个很好的响应标题。

我找到了FitText.js ,这似乎是我喜欢的东西,也是我需要的东西。 唯一的问题是这个插件使用jQuery,我根本没有在项目中使用jQuery,也不想只使用一个小插件。 你有没有听过或使用类似的FitText.js插件,除了它不需要jQuery?

Jeremy Keith(@adactio)正在维护FitText的非jQuery替代方案:

https://github.com/adactio/FitText.js

这样的事情应该让你去,先彻底测试。 基本上,您可以根据元素的偏移宽度缩放文本的大小。 您可能想要设置最小和最大字体大小,但我没有看到这一点。

resize函数可以是大约两行代码。

   
Some text

OP,

jQuery压缩~94 KB。 Zepto压缩~9.7 KB。

简而言之,如果你改为包含Zepto,并将插件最后一行的jQuery引用更改为Zepto – 它就可以了 。 看到这个小提琴

 (function ($) { $.fn.fitText = function (kompressor, options) { // Setup options var compressor = kompressor || 1, settings = $.extend({ 'minFontSize': Number.NEGATIVE_INFINITY, 'maxFontSize': Number.POSITIVE_INFINITY }, options); return this.each(function () { // Store the object var $this = $(this); // Resizer() resizes items based on the object width divided by the compressor * 10 var resizer = function () { $this.css('font-size', Math.max(Math.min($this.width() / (compressor * 10), parseFloat(settings.maxFontSize)), parseFloat(settings.minFontSize))); }; // Call once to set. resizer(); // Call on resize. Opera debounces their resize by default. $(window).on('resize', resizer); }); }; })(Zepto); 

根据文件 :

Zepto是一个用于现代浏览器的极简主义JavaScript库,具有与jQuery兼容的API。

因此,如果有人想要使用jQuery插件*而不必包含整个jQuery库,那么Zepto似乎是一个合理的解决方法。

*虽然100%jQuery覆盖率不是设计目标,但提供的API与其jQuery对应物相匹配。

希望有所帮助。

我想这个问题现在已经解决了,但是我一直在寻找类似的解决方案。 我最终制作了自己的Fittext插件,因为我需要能够在特定的最小屏幕宽度之上切换它。 因此,如果有人遇到同样的问题,这就是我提出的解决方案:

https://github.com/dinealbrecht/fittext