[英]How to adjust font-size and reflow text to fit the width and height of a parent div with html tags
[英]HTML / CSS - adjust font-size to fill parent height and width
我有一个<div>
元素,可以在浏览器窗口调整大小时调整大小。
在<div>
里面我有一段文字:
<div style="width:80%; height:80%; margin:10%;">
<p>Paragraph of text. Paragraph of text. Paragraph of text.</p>
</div>
我希望文本在我调整<div>
font-size
更改font-size
,以便文本占用100%的可用空间。
我怎样才能达到这个效果?
是否使用百分比字体大小?
我必须使用Javascript吗?
提前致谢!
这里有一个jquery插件: http : //fittextjs.com/
查看css中的vw属性
你需要的是vw
。 CSS示例: font-size: 80vw;
。 vw
表示viewerport宽度, 80vw
=设备屏幕宽度的80%
HTML
<div id="change" style="margin:10%;">
<p>Paragraph of text. Paragraph of text. Paragraph of text.</p>
</div>
CSS
#change {
width: 80%;
height: 80%;
border: 1px solid black;
overflow: hidden;
font-size: 1em;
}
JAVASCRIPT
$(function() {
while( $('#change div').height() > $('#change').height() ) {
$('#change div').css('font-size', (parseInt($('#change div').css('font-size')) - 1) + "px" );
}
});
fittext.js
对我来说不正常(jQuery的插件,以及派生的jquery-free版本),也没有使用compress属性,所以我找到了另一个解决方案:
http://www.dhtmlgoodies.com/?whichScript=text_fit_in_box (某人的另一部作品)
这对我来说非常适合 - 较长的文本和较短的文本。
它只是不响应窗口的大小调整(它只在加载页面时工作一次),所以我编写了这个简短的代码,在每个窗口调整大小后自动运行它(它适用于我):
<script>
function calculate_font_sizes()
{
fitTextInBox('login-h1');
fitTextInBox('subtittle');
}
calculate_font_sizes();
window.addEventListener('resize', calculate_font_sizes);
</script>
我希望它对某人有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.