我尝试获取html标签 <p>
的默认长度,它应该根据标签 <p>
的高度和宽度进行显示。
例如:
我有以下代码片段:
<p style="height:300px;width:200px;"> </p>
这里,高度是“300”,宽度是“200”。我如何在这个
标签中获取默认字符长度。
任何帮助都会受到赞赏。我尝试获取html标签 <p>
的默认长度,它应该根据标签 <p>
的高度和宽度进行显示。
例如:
我有以下代码片段:
<p style="height:300px;width:200px;"> </p>
标签中获取默认字符长度。
任何帮助都会受到赞赏。var $container = $('.container'),
height = $container.height(),
width = $container.width();
$('button').click(function() {
$container[0].innerHTML += random();
if (!checkFit($container)) {
alert(['overflow! max chars ', $container.text().length - 1]);
}
});
function checkFit($el) {
var $clone = $el.clone().addClass('clone').appendTo('body');
return $clone.width() <= width && $clone.height() <= height;
}
由于不是所有字符都具有相同的宽度,因此您无法获得精确的数字。 请参见示例每行有10个字符,但它们的长度不同。
您可以通过将总空间(200*300)除以字体大小(假设为20px)来估算您获得的空间,得到大约3000:200*300/20 = ~3000
<p>
abcdefghig<br />
0123456789<br />
!@#$%^&*()<br />
</p>
看看这个:示例2
你有20个1
和28个-
,它们都占用1行,因此精确的公式不现实。你只能估计它。如果你想得到最好的估计,可以尝试计算每个字符的概率(在此处查看链接),并考虑每个字符的宽度(根据字体和字号),从而估计出你所拥有的“空间”。
<p>
是一个块级元素,因此它将占据其容器的宽度。文档
<p>
被赋予宽度,会怎样? - codingrose<p style="height:300px;width:200px;"> </p>
- codingrose
<p>
标签中的字符根本没有被渲染出来。p
元素中的字符可能会被渲染,但示例中只有一个空格。不清楚问题是否与p
元素有关。而且,“默认字符长度”这样的概念是不存在的。如果您指的是平均字符宽度,那么答案取决于字体和平均概念(哪种平均值?)。 - Jukka K. Korpela