当前位置:  开发笔记 > 编程语言 > 正文

即使没有内容,如何强制DIV块扩展到页面底部?

如何解决《即使没有内容,如何强制DIV块扩展到页面底部?》经验,为你挑选了4个好方法。

在下面显示的标记中,我试图让内容div一直延伸到页面的底部,但只有在显示内容时它才会拉伸.我想这样做的原因是,即使没有任何内容要显示,垂直边框仍会显示在页面下方.

这是我的HTML:


    

我的CSS:

body {
    font-family: Trebuchet MS, Verdana, MS Sans Serif;
    font-size:0.9em;
    margin:0;
    padding:0;
}
div#header {
    width: 100%;
    height: 100px;
}
#header a {
    background-position: 100px 30px;
    background: transparent url(site-style-images/sitelogo.jpg) no-repeat fixed 100px 30px;
    height: 80px;
    display: block;
}
#header, #menuwrapper {
    background-repeat: repeat;
    background-image: url(site-style-images/darkblue_background_color.jpg);
}
#menu #menuwrapper {
    height:25px;
}
div#menuwrapper {
    width:100%
}
#menu, #content {
    width:1024px;
    margin: 0 auto;
}
div#menu {
    height: 25px;
    background-color:#50657a;
}

Jason Hernan.. 109

你的问题不是div不是100%的高度,而是它周围的容器不是.这对我怀疑你正在使用的浏览器有帮助:

html,body { height:100%; }

您可能还需要调整填充和边距,但这将使您获得90%的路径.如果您需要使其适用于所有浏览器,您将不得不使用它.

这个网站有一些很好的例子:

http://www.brunildo.org/test/html_body_0.html
http://www.brunildo.org/test/html_body_11b.html
http://www.brunildo.org/test/index.html

我还建议你去http://quirksmode.org/



1> Jason Hernan..:

你的问题不是div不是100%的高度,而是它周围的容器不是.这对我怀疑你正在使用的浏览器有帮助:

html,body { height:100%; }

您可能还需要调整填充和边距,但这将使您获得90%的路径.如果您需要使其适用于所有浏览器,您将不得不使用它.

这个网站有一些很好的例子:

http://www.brunildo.org/test/html_body_0.html
http://www.brunildo.org/test/html_body_11b.html
http://www.brunildo.org/test/index.html

我还建议你去http://quirksmode.org/


此解决方案对滚动页面不友好.
CSS中的min-height属性可以帮助他...我猜

2> Gima..:

我将尝试直接在标题中回答这个问题,而不是一直坚持将页脚粘贴在页面底部.

如果内容不足以填充可用的垂直浏览器视口,则将div扩展到页面底部:

演示(拖动框架手柄以查看效果):http://jsfiddle.net/NN7ky
(上行:干净,简单.缺点:需要flexbox - http://caniuse.com/flexbox)

HTML:



  
div1
div1
div1
div2
div2
div2

CSS:

* { padding: 0; margin: 0; }

html, body {
  height: 100%;

  display: flex;
  flex-direction: column;
}

body > * {
  flex-shrink: 0;
}

.div1 { background-color: yellow; }

.div2 {
  background-color: orange;
  flex-grow: 1;
}

ta-da - 或者我太困了


我们中的一些人有幸只支持"现代"浏览器,所以这对我来说非常有用.谢谢吉马.我试过几种方法来做这样的事情,但总是以各种微妙的方式打破.这要好得多.仍然不完全理解为什么它以这种方式工作.
flex技术它并不适用于所有前现代浏览器.

3> Kevin Read..:

尝试使用以下css规则:

#content {
    min-height: 600px;
    height: auto !important;
    height: 600px;
}

更改高度以适合您的页面.对于跨浏览器兼容性,提到两次高度.



4> Owen..:

你可以用min-height声明来破解它

stuff

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有