【发布时间】:2015-05-20 08:09:08
【问题描述】:
是否可以根据窗口尺寸让文本填充页面?
例如,我想要以下内容: 屏幕左侧的文本填充了它所在的 div。如果我要重新调整窗口大小,“ExampleText”的行数应该会改变。
很遗憾,我没有任何代码可以显示,因为我不知道如何开始。我想我必须使用 JS 来完成其中的一些,但我不确定如何让 JS 收集窗口的尺寸。
非常感谢。
【问题讨论】:
标签: javascript html css dimensions
是否可以根据窗口尺寸让文本填充页面?
例如,我想要以下内容: 屏幕左侧的文本填充了它所在的 div。如果我要重新调整窗口大小,“ExampleText”的行数应该会改变。
很遗憾,我没有任何代码可以显示,因为我不知道如何开始。我想我必须使用 JS 来完成其中的一些,但我不确定如何让 JS 收集窗口的尺寸。
非常感谢。
【问题讨论】:
标签: javascript html css dimensions
您可以通过以下方式在 javascript 中获取窗口的高度:
var h = window.innerHeight;
如果您知道“ExampleText”的行高(您可能已经在 CSS 中设置了它,或者您可以尝试使用 document.getElementById('div_name').style.lineHeight 获取它),然后将窗口高度除以行高。这应该会为您提供适合窗口的行数。
或者,在 CSS 中,您可以将 div 设置为 height: 100%(假设所有父元素的高度为 100%),然后将内部 div 设置为 position:absolute;bottom:0;,以便文本从底部开始计数到顶部。您将不得不选择是否显示滚动条,因为文本将不可避免地大于包含的 div。
【讨论】:
windowHeight除以lineHeight得到x。然后我运行了一个 for 循环,它写了textToWrite = textToWrite + 'ExampleText<br>';x 的次数。然后我把textToWrite 用document.getElementById("left-bar").innerHTML = textToWrite; 展示出来