私はいくつかの同様の投稿を見て、与えられた答えを試しましたが、これを機能させることができないようです(とにかく私にとって)。
基本的に、テキストを自動的にサイズ変更(拡大または縮小)して、設定された幅divが複数行に収まるようにするものを探しています。1行目が最大、2行目が小さく、3行目が最小のテキストサイズであり、(うまくいけば)テキストが進むにつれてテキストを正当化する場合。
どんな助けでもいただければ幸いです!:)
編集:設定されたdiv幅が286pxの場合、最大で2〜3行しか実行されないことを忘れました。
私は次のコードを試しました:
;(function($) {
$.fn.textfill = function(options) {
var fontSize = options.maxFontPixels;
var ourText = $('span:visible:first', this);
var maxHeight = $(this).height();
var maxWidth = $(this).width();
var textHeight;
var textWidth;
do {
ourText.css('font-size', fontSize);
textHeight = ourText.height();
textWidth = ourText.width();
fontSize = fontSize - 1;
} while ((textHeight > maxHeight || textWidth > maxWidth) && fontSize > 3);
return this;
}
})(jQuery);
$(document).ready(function(e){
$('.testimonial').textfill({ maxFontPixels: 36 });
});
固定サイズのコンテナを埋めるための動的テキストの自動サイズ設定
$( '.testimonial' ).each(function ( i, box ) {
var width = $( box ).width(),
html = '<span style="white-space:nowrap"></span>',
line = $( box ).wrapInner( html ).children()[ 0 ],
n = 100;
$( box ).css( 'font-size', n );
while ( $( line ).width() > width ) {
$( box ).css( 'font-size', --n );
}
$( box ).text( $( line ).text() );
});