我正试图在网页上制作一种“新闻栏”。 该栏使用CSS动画,并使用ajax在每次迭代时刷新文本内容以从RSS源检索数据。
我的问题是内容长度可能会有所不同,所以我想设置用于显示文字的字体大小,以便显示所有内容。
然后我使用此函数调整文本内容的大小:
function resize(content /*content div*/, maxHeight/*bar height*/, maxWidth /*bar width*/) {
content.parentNode.style.fontSize = maxHeight + 'px';
var totalwidth = content.offsetWidth;
if (totalwidth > maxWidth) {
content.parentNode.style.fontSize = (maxHeight * maxWidth / totalwidth) + 'px';
}
}
它有时适用于第一次迭代,但在它返回完全错误的值(如36)之后为totalWidth。 如果我在'if'行放置一个断点,调试器会为content.offsetWidth显示一个相干值(如4320)。
我该如何解决这个问题?
答案 0 :(得分:1)
我找到了解决方案。 我必须将内容设置为" inline-block"。 如果内容显示设置为"阻止"它的offsetWidth随着css动画而变化。