首页 / 知识
关于html:如何放置DIV以填充页眉DIV和页脚DIV之间的所有可用空间?
2023-04-15 00:17:00

How to position a DIV to fill all available space between a header DIV and a footer DIV?假设我有一个父母DIV。内部有三个子DIV:页眉,内容和页脚。标头附加到父级的顶部,并水平填充。页脚连接到父级的底部,并且也水平填充。内容应该填充页眉和页脚之间的所有空间。 父级必须具有固定的宽度和高度。内容DIV必须填充页眉和页脚之间的所有可用空间。当内容DIV的内容大小超过页眉和页脚之间的空间时,内容DIV应该显示滚动条并允许适当的滚动,以使页脚内容不会被遮盖,也不会使页脚遮盖内容。 现在来了困难的部分:您事先不知道页眉和页脚的高度(例如,页眉和页脚是动态填充的)。不使用JavaScript如何定位内容? 例:
为了进一步阐明此事件,我要实现的目标布局将在商业Web应用程序中使用。父DIV将具有固定但未知的大小(例如,它将恰好是浏览器视口的大小,并由用户自行调整浏览器窗口的大小)。让我们将父DIV称为"屏幕"。 标头将包含一组过滤控件(如文本框,下拉列表和"过滤器"按钮),如果水平空间不足(因此其高度可以随时更改以适应换行),它们应换行到下一行。标头应始终可见,并附在"屏幕"顶部。 页脚将包含一组按钮,例如在对话框窗口上。如果水平空间不足,这些也可以换行。页脚必须连接到"屏幕"的底部,以便始终可以访问和看到。 内容将包含"屏幕"内容,例如对话框字段等。如果字段太少,则其余内容将为"空白"(在这种情况下,页脚不应紧随内容之后立即开始,但仍应附加到固定尺寸的"屏幕"的底部)。如果字段太多,则内容DIV将提供滚动条来访问隐藏的控件(在这种情况下,内容DIV不能将自身扩展到页脚下方,因为滚动条将被部分隐藏)。 我希望这能进一步澄清问题,因为我的代表人数太少而无法对您的意见发表评论。 我将为此感到沮丧,但这听起来像是一张桌子的工作。 您想要做的是将三个连续div的总高度设置为一个单位,而高度为100%的1x3表格实际上是一种更干净的解决方案。 纯CSS解决方案1-Flexbox:
您可以使用CSS3
使用包装器,您可以使用
关于浏览器支持的注意事项-尽管大多数现代浏览器都支持flexbox,但仍有一些限制(请参阅:http://caniuse.com/#feat=flexbox)。我建议使用 工作示例:请参见以下代码片段和此jsfiddle。
有关如何使用flexbox的更多信息,请参见以下指南:
纯CSS解决方案2-显示表格[旧解决方案]:
这也可以通过使用CSS HTML:
CSS:
对于CSS表格元素及其子元素来说,overflow属性是不可靠的,因此我不得不嵌套内容。在这种情况下,我被迫嵌套两次并使用 这是一个起作用的jsfiddle。 警告:这在Opera 12中似乎不起作用! content div占用了父级的高度的100%,这导致行溢出表(就像在Firefox中一样)。 如果可以不用滚动主要内容就可以摆脱困境,那么最好使用footerStickAlt方法来确保页脚停留在屏幕底部或内容底部(如果内容超出屏幕底部) )。 您是否需要更改div的中心尺寸?如果您只是想确保其背景(#8080ff)出现在页眉和页脚之间,为什么不只将包含div的背景设置为#8080ff。页眉和页脚背景将覆盖该位置,而div的其余背景将是正确的。 父母需要保持固定的身高吗?
如果父母的身高是固定的,这是我所知道的最接近的方式-如果这些色块(相对于文本而言)确实很重要,而不仅仅是用于说明,那还是不完全正确DIV的边界:
绝对的定位使您感到困惑。尝试这样的事情: HTML:
CSS:
编辑:也许我误会了,您是否希望所有内容都适合200x200px的框,还是希望框增加其高度以适合内容? |
最新内容
相关内容
linux查内存空间命令?
linux查内存空间命令?,系统,情况,信息,数据,内存,工具,命令,表示,方法,内容,Linux命令行查看内存1、cat /proc/meminfo查看linux系统内存大小linux空间分配命令?
linux空间分配命令?,系统,数据,情况,分区,图片,地址,位置,软件,管理,信息,linux怎么分配系统空间1、系统分区 系统分区是指存放操作系统和启动linux最小空间命令?
linux最小空间命令?,系统,情况,信息,设备,管理,命令,装备,单位,较大,磁盘,如何查看Linux磁盘空间大小1、linux怎么查看硬盘的容量呢,下面就让我linux系统空间命令?
linux系统空间命令?,系统,情况,单位,信息,服务,命令,磁盘,剩余,空间,终端,linux系统怎样查看空间占用linux查看空间占用打开linux系统,在linuxlinux命令空间大小?
linux命令空间大小?,系统,信息,情况,单位,命令,设备,公司,地址,大小,空间,如何查看Linux磁盘空间大小1、linux怎么查看硬盘的容量呢,下面就让我linux看剩余空间命令?
linux看剩余空间命令?,情况,系统,信息,命令,单位,服务,地址,终端,硬盘,磁盘,linux下查看硬盘大小的命令是什么?1、使用命令“df -lh”,可以更详linux空间管理命令?
linux空间管理命令?,情况,系统,信息,管理,单位,命令,对比,增长,定期,地址,linux磁盘空间不足怎么办,磁盘清理方法遇到磁盘空间不足的报错时候,Python命名空间实例解析
Python命名空间实例解析,异常,名字,空间,代码,培训,观察,地方,情况,变量,函数,Python的命名空间是Python程序猿必须了解的内容,对Python命名空Python的命名空间和作用域
Python的命名空间和作用域,智能,代码,名字,名称,培训,变量,局部,空间,赋值,函数,变量是拥有匹配对象的名字(标识符)。命名空间是一个包含了变Python名称空间规则
Python名称空间规则,名称,名字,地方,异常,培训,空间,变量,模块,全局,局部,名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对python命名空间和作用域
python命名空间和作用域,异常,代码,第一,第三,培训,名称,名字,空间,作用,模块,命名空间表示标识符(identifier)的可见范围,当前命名空间主要是Python 命名空间的访问
Python 命名空间的访问,名字,培训,模块,空间,函数,示例,变量,局部,全局,语句,1、局部命名空间可以locals()BIF来访问。locals返回一个名字/值