html - 在浏览器调整大小时收缩其他行之前完全收缩中间行

标签 html css

使用基本的三行布局:

<div class="EditorHeaderWrapper">
   <h1>Title</h1>
</div>

<div class="EditorMainRowWrapper">
 // Main row guts go here
</div>

<div class="EditorFooterWrapper">
</div>

我怎样才能做到,当浏览器高度降低时,中间行在页脚(或页眉)完全被压扁之前被完全压扁?

.EditorHeaderWrapper{
   position:absolute;
   top:0;
   left:0;
   right:0;   
   height:49px;
   background-image:url('blah');
   border-bottom:1px solid black;   
}

.EditorMainRowWrapper{
   position:absolute;
   top:49px;
   left:0;
   right:0;
   bottom:30px;
   background:#f9f9f4;
   overflow:hidden;
}


.EditorFooterWrapper{
   position:absolute;
   bottom:0;
   left:0;
   right:0;   
   height:30px!important;
   background:#3c3b37;
   border-bottom:1px solid black;   
}

这是一个使用上面代码的工作 fiddle : http://jsfiddle.net/ZaFp8/3/

但这就是问题所在:当您将代码放在真正的浏览器 (FF26) 中的 body 元素内(而不是在 fiddle 中),并且没有其他样式存在时,它不起作用!页脚首先被切断!所以 jsfiddle 正在添加一些东西来解决这个问题。

所以我假设我需要向正文、html 或可能具有某种格式的包装器 div 添加一些定义。但是什么,为什么?

最佳答案

因为您的页脚 div 是绝对定位的,所以您需要将 100% 的最小高度分配给 body 和 html 元素,以将它们“拉伸(stretch)”到窗口的整个高度。您实际上也不需要绝对定位其他两个 div - 它们会使用相对定位自动从上到下对齐。

在此处对您的代码进行了一些其他调整:http://jsfiddle.net/hoppergrass/ZaFp8/10/

HTML:

<div>
<div class="EditorHeaderWrapper">
   <h1>Title</h1>
</div>

<div class="EditorMainRowWrapper">
 // Main row guts go here
</div>

<div class="EditorFooterWrapper">
</div>
</div>

CSS:

 html {
    height: 100%;
}

.EditorHeaderWrapper{
   position:relative;  
   height:49px;
   background:#3c3b37;
   border-bottom:1px solid black;   
}

.EditorMainRowWrapper{
   position: relative;
   overflow:hidden;
}

h1 {
   margin: 0;
    padding: 0;
}
.EditorFooterWrapper{
   position:absolute;
   bottom:0;
   left:0;
   right:0;   
   height:30px!important;
   background:#3c3b37;
   border-bottom:1px solid black;   
}

body {
    min-height: 100%;
    margin: 0;
    padding: 0;
   background:#f9f9f4;
}

编辑:拼写错误

关于html - 在浏览器调整大小时收缩其他行之前完全收缩中间行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21542823/

相关文章:

javascript - 对预建表实现属性

带有变量的 Jquery 动画高度?

jquery - 在 CSS 轮廓上添加焦点和覆盖会导致轮廓消失

html - 在 svg 路径元素的末尾绘制半圆

html - Outlook 在表格上更改边框 css

html - 重叠 div 的动态/响应解决方案

html - 设置填充时 div 扩展到另一个 div

html - 如何垂直对齐图标字体

javascript - 提交表单时,HTML 输入复选框返回 'On' 而不是 'True'

javascript - 短信 iPhone html 链接无效