我正在嘗試遍歷文本的一些範圍,並根據所需的最小字體大小調整文本以適合其包含的div。jQuery文本調整大小問題
<div id="preview">
<div id="test">
<section class="slide">
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br />
Nam in mauris a magna elementum ornare vel at velit.<br />
Nulla facilisi.<br />
Sed eu odio id urna fermentum imperdiet eget sit amet enim.</span>
</section>
<section class="slide">
<span>Cras cursus ante et tortor placerat sodales.<br />
Curabitur libero quam, cursus sit amet feugiat id, elementum at lectus.<br />
Integer volutpat aliquet massa at adipiscing.<br />
Vivamus purus leo</span>
</section>
</div><!--/ #test -->
</div><!--/ #preview -->
我的jQuery我必須這樣做,迄今
var fontSizeArray = [];
$('#test > .slide').children('span').each(function() {
var currentFontSize = parseInt($(this).css('font-size'));
do {
currentFontSize = currentFontSize + 1;
$(this).css('font-size', currentFontSize);
} while ($(this).width() < $('#test').width());
fontSizeArray.push(currentFontSize);
});
var smallest = Math.min.apply(null, fontSizeArray);
$('#test > .slide').children('span').each(function() {
$(this).css('font-size', smallest);
});
我創建了一個小提琴,以更好地說明這一點。
基本上所有的文字應該調整到專區內適合#TEST
是否所有的'span's都有* * * font-size'(所以你受到最長文本行的font-size限制)?或者是每個「跨越」單獨大小? 'font-size'是受父'div'元素垂直高度限制的,還是'div'允許垂直擴展? –
@DavidThomas是的所有跨度應該有相同的字體大小。是的,字體大小將受到垂直高度以及每個跨度的限制。只是試圖獲得排序的寬度,然後我將看看高度。但是,如果你有一個解決方案... – Stephen
這可能會有所幫助:http://stackoverflow.com/questions/2989950/auto-resize-text-font-size-when-resizing-window另外看看這裏,有可能是你需要做的事情:http://sixrevisions.com/javascript/jquery-plugins-typography/ –