【发布时间】:2014-08-19 23:32:18
【问题描述】:
我在网页上有两个可见的框,一个浮动在左侧,另一个浮动在右侧。我希望这些框沿底部对齐。问题是,有一个盒子的高度会随着不同的屏幕宽度而改变,因为它包含文本并且当文本换行时高度会增加。另一个框没有任何文本,可以是任何高度,但它上面有文本,这将根据文本换行的数量改变框的 y 位置。
我想通过更改不包含文本的框的高度来使两个框底部对齐,或者增加其上方的填充/边距。我不想更改右侧框的高度,并且我希望左上角的文本和右框的顶部保持在顶部对齐。如果可能只使用 CSS,但 JavaScript 解决方案也是可以接受的,最好不要使用 jQuery 或其他插件。
我定义了一个外部div,其中width 设置为100% 和一些padding,以便页面上的内容从边缘插入。在这个外部div 内部是一个div,即floating left,width 设置为35%。在div 内部是一个包含文本的div,而div 的兄弟是另一个div,它是不包含文本的框,其height 是我可以更改的固定值。然后有一个框是外部div 的子框,即floating right 与width 设置为60%。由于此框包含的换行文本导致浏览器宽度减小,此框将在 height 中增加 - 我不希望修改其高度。
<div id="outerDiv" style="width:100%; padding:5%;">
<div id="leftContainer" style="float:left; width:35%;">
<div id="topText">some text here...</div>
<div id="bottomEmptyBox" style="width:100%; height:200px;"></div>
</div>
<div id="rightContainerBox" style="float:right; width:60%;">
<div id="containedText">some text here...</div>
</div>
</div>
【问题讨论】:
-
只是一个问题...设置
max-height和overflow:auto怎么样?我不确定这对您的情况是否有帮助。 -
也可能使用
position:absolute; bottom:0;left:0;和position:absolute;bottom:0;right:0;而不是浮点数。如果他们需要留在父容器中,只需给父容器position:relative; -
我可以试试@GaryStorey。我刚刚编辑了问题,指出我希望左上角的文本和右框的顶部也保持在顶部对齐。
-
在父 div 上设置
display:table-row并在每个子 div 上设置display:table-cell怎么样?
标签: javascript html css