编辑:好的,所以我走近这个问题的错误方式:做我意,我只是需要检查是否有溢出。
下面是代码(如果它可以帮助任何人):
<script type="text/javascript">
function textfit(){
var spans = document.body.getElementsByTagName("span");
for(var i = 0, l = spans.length; i < l; i++){
var span = spans[i];
var font = window.getComputedStyle(span, null).getPropertyValue('font-size');
var fontSize = parseInt(font);
do {
span.style.fontSize = (fontSize --) + "px";
} while (span.scrollHeight > span.clientHeight || span.scrollWidth > span.clientWidth);
}
}
$(document).ready(function() {
textfit();
});
</script>
旧文章:
我的问题很简单:我有很多跨度,但不是所有的HTML页面具有相同的内容。 关于这一点,我要适应每个内容的字体大小,以适应其完美的跨度; 请注意,我不希望削减的TextContent,或加点,如果它太长了,我只是想修改的中文字体。
JS:
function = textfit(){
var spans = document.body.getElementsByTagName("span");
for(var i = 0, l = spans.length; i < l; i++){
var maxHeight = spans[i].offsetHeight;
var maxWidth = spans[i].offsetWidth;
var textHeight = $(spans[i].textContent).height();
var textWidth = $(spans[i].textContent).width();
var fontSize = spans[i].style.fontSize;
do {
fontSize = fontSize - 1;
} while (textHeight > maxHeight || textWidth > maxWidth);
}
}
$(document).ready(function() {
textfit();
});
HTML / CSS:
<style>
span{
display: inline-block;
width: 100px;
height: 100px;
font-size: 20pt;
}
</style>
......
<body>
<div>
<span>SMALL</span>
<span>MEEEEEEEEEEEEEDIUM</span>
<span>HUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUGE</span>
</div>
</body>
正如你可以看到,我使用的是“为”通过每一区间运行,一个“做......而”调整它们各自的字体大小。
我的问题:
- 它看起来像我不能得到的TextContent尺寸(得到一个“零”,而不是)
- 与字体大小相同的事情(我发现了一个空字符串)
或者,也许我接近问题的错误的方式,我需要以不同的方式做到这一点...
注意 :JS都有点“新”,我很抱歉,如果我做了错误的菜鸟