Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
div填充剩余高度css_Css_Html_Height - Fatal编程技术网

div填充剩余高度css

div填充剩余高度css,css,html,height,Css,Html,Height,我有以下代码: HTML: 菜单div是一个水平菜单栏。 我希望主div填充整个页面(除了菜单)。此外,当需要它时,它应该填充更多的空间(例如:如果它有很多内容)。我不想使用任何javascript或CSS的calc()方法。 能做我想做的吗? 谢谢你抽出时间 是的,您可以在CSS中添加: html, body { height: 100%; } 并且,您的div将正确使用高度属性和%。可以添加底部、左侧、右侧和顶部属性: div#main { position: absolu

我有以下代码:
HTML:

菜单div是一个水平菜单栏。
我希望主div填充整个页面(除了菜单)。此外,当需要它时,它应该填充更多的空间(例如:如果它有很多内容)。我不想使用任何javascript或CSS的calc()方法。
能做我想做的吗?

谢谢你抽出时间

是的,您可以在CSS中添加:

html, body {
    height: 100%;
}
并且,您的div将正确使用高度属性和%。可以添加底部、左侧、右侧和顶部属性:

div#main {
    position: absolute;
    overflow: auto;
    bottom: 5px;
    top: 50px;
    left: 5px;
    right: 5px;
}
检查边距和衬垫

如果您可以使用javascript,那么使用它可能会很有趣

height: auto;
max-height: 300px; /*calculated value on resize and load*/

只有在div#main的内容不是太多的情况下,它才起作用。但是当它的内容需要比屏幕更大的空间时,内容就超出了div#main.Use overflow:auto的白色区域。或者您需要使用javascript。必须使用高度:自动和最小高度。但如果没有js或表达式,您就不知道它的值。我必须为div#main添加“position:absolute”。底部、顶部、左侧和右侧与溢流相结合效果很好,但这不是我想要的。我会等待更好的答案,但如果他们不来,我想做的是不可能的,我会改变问题,我会投票支持你。非常感谢。为什么需要填写完整的文档空间?例如,如果是关于背景的,则使用body的background属性。请更详细地向我描述你的案例。这更多是关于网页的风格。我不能使用背景属性,因为有颜色和形状。此外,如果我使用css3属性背景图像、大小等,形状(css中的边框半径)将无法很好地显示。以下是您的溢出建议的一个临时示例:。可能重复
div#main {
    position: absolute;
    overflow: auto;
    bottom: 5px;
    top: 50px;
    left: 5px;
    right: 5px;
}
height: auto;
max-height: 300px; /*calculated value on resize and load*/