当前位置: 首页 > 面试题库 >

如何使用CSS放置固定高度可变的标题和可滚动的内容框?

邹星火
2023-03-14
问题内容

我正在尝试制作一个带有固定标题和可滚动内容区域的网页。当集管具有已知高度时,这是微不足道的,但是我正在努力寻找集管处于流动状态的解决方案。

我想要的布局是:

--------------
head
--------------
content
--------------

其中“头”是其内容所需的高度,“内容”没有最小高度,但在变为可滚动状态之前将达到视口底部的最大高度。

这些天来使用纯CSS可能吗?我的目标是IE8 +。

<!DOCTYPE html>
<html>
    <head>
        <style type="text/css">

body {
    margin: 0;
}

#head {
    background: yellow;
    height: 20px; /* I can't rely on knowing this. */
}

#content {
    background: red;
    position: absolute;
    top: 20px; /* here also */
    bottom: 0;
    width: 100%;
    overflow: auto;
}

        </style>
    </head>
    <body>
        <div id="head">some variable height content</div>
        <div id="content">
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
            scrollable content<br/>
        </div>
    </body>
</html>

问题答案:

假设您position:fixed所说的“固定” ,我认为在纯CSS中是不可能的,因为position:fixed元素会脱离文档流。

但是,只需花一两行JavaScript即可获得所需的内容。这样的事情(未经测试,仅出于示例目的,将需要调整语法以使其实际工作):

var height = document.getElementById("head").offsetHeight;
document.getElementById("content").style.marginTop = height + 'px';

诸如此类的东西可以使您获得固定的渲染高度,<div>并相应地设置内容<div>的边距。您还需要在固定对象上显式设置背景色<div>,否则滚动时内容似乎会渗入固定对象。



 类似资料:
  • 已解决的检查答案如下... 因此,我正在尝试为我的Android应用程序创建一个评论功能,我想在recyclerview中显示评论,然后在recyclerview下面有一个按钮和textview来添加评论。我想让recyclerview有一定的高度,如果有很多评论,它就可以滚动,因为我不想让用户不得不向下滚动屏幕才能找到add按钮。 我不能让它工作,所以我想知道是否有人有这个问题。 我的XML(滚

  • 问题内容: 我想固定表头。表格位于可滚动div中。下面是我的代码。 以下是我用于以上div的CSS: 问题答案: 怎么做这样的事情?我从头开始… 我所做的是使用2个表,一个表用于标题,该表始终是静态的,而另一个表呈现单元格,我使用固定高度的元素包装了这些单元格,并启用了滚动 还要确保使用固定宽度的元素,以便在使用不带字符串的情况下不会断线,以便在使用时断开该字符串

  • 我将页眉和页脚设置为Position:Fixed。但如果是可滚动的内容,则文本将转到页眉/页脚区域:下面是我的完整代码:http://jsfidle.net/kaqz1km2/6/ 在这种情况下,我不想使用background-image或background-color。 下面是CSS: null null

  • 我有一个定位在网页左侧的上,包含菜单和导航链接。它没有css设置的高度,内容决定高度,宽度是固定的。问题是,如果内容太多,将大于窗口的高度,并且部分内容将不可见。(滚动窗口没有帮助,因为位置是并且不会滚动。) 我尝试设置,但这也于事无补,div似乎没有注意到它的一部分在窗口之外。 如果挂在窗外,那么如果需要,我如何使其内容仅可滚动?

  • 问题内容: 我想固定表格的标题。表格位于可滚动div中。下面是我的代码。 以下是我用于以上div的CSS: 问题答案: 怎么做这样的事情?我从头开始… 我所做的是使用2个表,一个表用于标题,该表始终是静态的,而另一个表呈现单元格,我使用固定高度的元素包装了这些单元格,并启用了滚动, 还要确保您使用固定宽度的元素,以便在使用不带字符串的情况下不会断线,以便在使用时断开该字符串

  • 我有一个解决方案,通过它,我可以使用minor jQuery和CSS创建带有固定页眉/页脚的可滚动表,但我正在寻找一种方法,使其成为唯一一个跨浏览器兼容的CSS解决方案。 明确地说,我想要做的是只使用一个标记(它是有效的子标记,,,,,,,,),但采用一组满足以下条件的CSS规则: 必须在页眉/页脚/内容行之间保持列对齐 必须允许页眉/页脚在内容垂直滚动时保持固定 必须不需要任何jQuery或其他