【问题标题】:css nested min-height layoutcss嵌套最小高度布局
【发布时间】:2020-08-31 00:18:38
【问题描述】:

我尝试使用嵌套的最小高度 div 和滑动页脚来实现布局。

问题当然是内部最小高度 div 没有扩展到外部 div 的完整高度,因为外部 div 的高度是用最小高度设置的。

这里是html:

<div class="container">
    <section class="pos-container">
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus, voluptates, qui eos dignissimos quae nobis at provident voluptatum dicta nesciunt possimus iusto vitae nihil hic assumenda aspernatur quos vel necessitatibus.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus, voluptates, qui eos dignissimos quae nobis at provident voluptatum dicta nesciunt possimus iusto vitae nihil hic assumenda aspernatur quos vel necessitatibus.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus, voluptates, qui eos dignissimos quae nobis at provident voluptatum dicta nesciunt possimus iusto vitae nihil hic assumenda aspernatur quos vel necessitatibus.</p>
    </section>
</div>

<footer>
    i'm footer
</footer>

和css:

body {
background-color: grey;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow-y: scroll; 
}

.container {
    z-index: 1;
    position: relative;
    width: 100%;
    min-height: 100%;
    background-color: pink;
    margin-bottom: 6em;
}

.pos-container {
    position: relative;
    width: 50em;
    min-height: 100%;
    margin: auto; 
    background-color: green;
}

footer {
    z-index: 0;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 6em;    
}

FIDDLE #1 在这个小提琴中,内部 div(绿色)的高度没有扩展到外部 div(粉红色)的高度。

FIDDLE #2 如果我将外部 div 的高度从 min-height 设置为 height 似乎是固定的,但如果内部 div 的高度超过 100%,正如您在FIDDLE #3中看到的那样,还有另一个问题@

这个问题有纯css解决方案吗?

提前致谢!

【问题讨论】:

  • 如果 divs height: 100% 不成功,是否同时制作两者?或者这不是你所追求的?
  • 不完全。如果我这样做并且内部 div 的内容高于 100%,则内容会溢出,但 div 不会扩展。 overflow: auto 属性没有帮助,因为它创建了第二个滚动条。

标签: html css layout


【解决方案1】:

删除body 的高度或使其成为height:auto; 检查此FIDDLE

CSS 变化

body{
  height:100%; // remove this and add below line
  height:auto; 
}

【讨论】:

  • 不幸的是,这也行不通。如果内容没有 100% 的高度,则外部和内部 div 将折叠到内容的高度,但它们必须至少具有 100% 的高度。如果您在我的 Fiddle #1 中将 body 的高度更改为 auto,您就会明白我的意思。不过感谢您的建议。
  • 所以你希望内部 div 的最小高度为 100%,即即使内容较少?
  • 是的。外部 div 和内部 div 的最小高度都应为 100%,如果内容较长,则展开。
猜你喜欢
  • 2010-09-06
  • 2023-03-26
  • 2014-10-10
  • 2012-10-24
  • 2011-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多