如何计算字体大小
How to calculate font-size?
我正在为我的网站使用HTML
标签。
我有一个具有固定高度150px
的 HTML <table>
。表格内容使用 JavaScript 动态填充。
我想为表格文本内容设置动态font-size
,如下所示。
我也有字符总数
.HTML
<table style="height:150px;width:350px;">
<tr>
<td>
bla....bla...bla... /* I want to set this font size dynamic*/
<td>
</tr>
<tr>
<td>
bla....bla...bla... /* I want to set this font size dynamic*/
<td>
</tr>
</table>
但问题是,我不知道我应该应用的公式。请帮助我 - 我根据长度计算字符总数,我应该应用哪个公式来设置font-size
,以便所有字符都应该适合表格,没有over lapping
也没有滚动。
谢谢
我推荐jQuery插件"FitText"。(http://fittextjs.com/)
$("table tr td").fitText();
它会根据宽度自动更改div 中的字体大小。
js小提琴:http://jsfiddle.net/vay0tf33/
这是一个解决方案,它不是很好,但会给你你想要的你想要的
首先,您需要创建一个以'visibility:hidden;display:inline;
为样式的元素(css 或内联,对于此示例无关紧要)。该元素需要要测量的文本。
<p id='hidden' style='visibility:hidden;display:inline;'>some thing here</p>
然后在您的脚本中:
var text = document.getElementById('hidden'); // id of hidden element
然后,如果您使用text.offsetWidth
您将获得元素的宽度然后,您可以在 javascript 中创建一个循环来增加字体大小,直到 offSetWidth 等于表格宽度。
以上不是一个很好的做事方式,但它会给你你想要的东西,无论字体类型或粗细等
您需要计算表格内字符的宽度。您可以使用将内容包装到跨度中并以像素为单位计算宽度的函数来执行此操作。然后将该函数的结果除以表的宽度。这应该会让你得到行。将高度(以像素为单位)除以行数应该会得到最大字体大小(以像素为单位)。
function calculateFontSize(width, height, content){
var area = width*height;
var contentLength = content.length();
return Math.sqrt(area/contentLength); //this provides the font-size in points.
}
重要提示:
此函数需要纯文本输入。正如@atmd所说,您只能近似字体大小。字体大小需要以磅为单位 pt
.
小提琴:http://jsfiddle.net/b5yebL0k/
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 根据元素和容器大小计算边距
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 用Javascript更改我网站上的字体大小
- 使用D3.js计算带有字母间距的文本长度
- 不同字体的字母间距不同
- 如何在谷歌字体加载时显示加载图像
- 使用CSS或JavaScript计算分页符的数量
- 可以't计算自定义谷歌地图的js
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- JavaScript计算帮助(乘以时间)
- 根据 js 中的分辨率计算字体大小
- 如何计算字体大小
- 新偏移量更新字体大小后不计算高度
- 用计算机上的字体列出
- 使用javascript/jquery计算文本输入的字体大小
- 是kindle阅读器应用程序's在浏览器应用程序中可能更改字体大小后重新计算页面内容
- 计算字体文件加载后容器的高度
- 如何显示没有安装在客户端计算机上而是安装在服务器上的网站字体
- 字体大小计算错误