固定宽度和高度的灵活字体大小
Flexible Font Size for fixed width and height
我需要使我的每个<p>
都具有固定宽度和高度的灵活字体大小。
当前代码
CSS
p{
width:500px;
height:100px;
background-color:#F0F0F0;
margin:10px;
padding:5px;
font-size:24px;
}
HTML
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros. consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros.</p>
<br><br><br>
<br><br><br>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros, faucibus sit amet aliquet ac, varius id eros.</p>
<br><br><br>
<!-- This one is perfect -->
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis pharetra quis dui a laoreet. Proin nibh dolor, faucibus sit amet aliquet ac, varius id eros.</p>
检查并尝试jsfiddle 中的代码
http://jsfiddle.net/8GNAV/
这就是我想要到达的输出
http://jsfiddle.net/8GNAV/1/
一般的想法是获得overflow:hidden
,然后不断收缩文本,直到scrollHeight
小于offsetHeight
。像这样:
[].forEach.call(document.getElementsByTagName('p'),function(p) {
p.style.overflow = "hidden";
var f = 24;
while(f > 6 && p.scrollHeight > p.offsetHeight) {
f--;
p.style.fontSize = f+"px";
}
});
演示
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- ExtJS——在展开/折叠时调整面板高度
- 根据元素高度和宽度的百分比变化增加或减少字体大小
- 如何更改引导程序多选下拉列表的高度和字体大小
- Firefox和Chrome的字体高度不同
- 窗口宽度调整时更改字体大小,字体大小更改时更改文档高度
- 在 css/js 中为字体设置不同的宽度和高度
- 新偏移量更新字体大小后不计算高度
- 画布元素的宽度或高度更改后,其 2d 上下文的字体将设置为默认值
- Javascript-获取实际渲染的字体高度
- 固定宽度和高度的灵活字体大小
- 计算字体文件加载后容器的高度
- 将字体大小调整为容器大小(注意宽度和高度)
- 根据容器的高度/宽度改变字体大小
- HTML / CSS -调整字体大小以填充父元素的高度和宽度
- 根据容器高度创建动态字体大小:我做错了什么
- iOS textput高度相对于字体大小
- 根据容器宽度和高度设置字体大小
- 手风琴布局在改变字体大小时未使用 CSS calc() 填充可用高度