`

DIV上中下布局高度自适应的研究

阅读更多
DIV上中下布局高度自适应的研究
一、背景
    在采用基于DIV+CSS的布局开发时,经常需要考虑各种浏览器版本的兼容性问题。
    常用的布局模式主要包括:左中右、上中下,以及两种模式的结合。
    在早期的开发,一般都采用Table标记的方式实现。
    当尝试采用基于DIV的模式,发现一切都变的似乎没那么简单了。特别是浏览器的兼容性问题,更加突出了。
二、需求
    本文只讨论上中下布局模式的实现,关于左中右模式的实现,相比较来说要简单得多了。如果时间充,我会另文详述。
    1.上部(top)Div高度固定100px,宽度100%;
    2.下部(footer)Div高度固定100px,宽度100%;
    3.中部(middle)DIV高度根据屏幕高度,自适应充满,宽度100%;
    4.用纯DIV+CSS实现,不采用脚本计算高度的方式;
    5.调整浏览器大小时,中部DIV能随着屏幕高度自适应。
三、HTML部分
    本部分非常简单,只是定义了三个DIV,分别对应:top、middle、footer
    <div id="header">
        抬头</div>
    <div id="middle">
        1页中<br />
        2页中<br />
        3页中<br />
        4页中<br />
        5页中<br />
        6页中<br />
        7页中<br />
        8页中<br />
        9页中<br />
    </div>
    <div id="footer">
        页脚
     </div>
四、CSS实现
    为了便于理解实现原理,分两部分说明:
    1.IE6下的实现
<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{
padding:100px 0;  
width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
#middle{
position: relative;
top:-100px;
height:100%;

bottom:100px;
width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>  
    2.IE7、IE8下的实现
<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{
width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
}
#middle{
position: absolute;
top:100px;
height:auto;
bottom:100px;
width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>
五、全部CSS代码
<style type="text/css">
*{
margin:0;
padding:0;
}
html,body{

padding:0 !important;

padding:100px 0;

width:100%;
height:100%;
overflow:hidden;
}
#header{
position:absolute;
top:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
#middle{

position: absolute!important;
top:100px!important;
height:auto!important;

position: relative;
top:-100px;
height:100%;

bottom:100px;
width:100%;
background:#ffc;
text-align:center;
overflow: auto;
}
#footer{
position:absolute;
bottom:0;
width:100%;
height:100px;
background:#ccc;
line-height:100px;
text-align:center;
}
</style>
分享到:
评论

相关推荐

    子div含float,父div高度自适应的div+css布局写法

    div+css高度自适应网页布局,子div含float,父div高度自适应,已经通过测试的浏览器:ie6、ie7、ie8、火狐、Chrome。 代码来源: http://www.positioniseverything.net/articles/onetruelayout/equalheight

    div宽度自适应布局(左边自适应)

    在网页设计中,"div宽度自适应布局(左边自适应)"是一种常见的网页布局技术,它主要应用于响应式设计,使得页面在不同设备和屏幕尺寸下都能保持良好的视觉效果。这种布局方式强调左侧内容的宽度根据浏览器窗口大小...

    div+css高度自适应

    通过上述讲解和示例,我们可以看出利用`div+css`实现高度自适应并非难事,关键在于合理运用CSS中的各种布局特性。在实际开发过程中,开发者还需要结合项目的具体需求和目标用户群体的特点,选择最适合的技术方案。...

    div宽度自适应布局(右边自适应)

    在网页设计中,"div宽度自适应布局(右边自适应)"是一种常见的网页布局技术,它主要涉及CSS(层叠样式表)的运用,使网页内容能够根据不同的屏幕尺寸和设备进行适配,尤其是针对响应式设计。在这个布局模式下,通常...

    div+css菜单导航布局自适应宽度

    本主题聚焦于"div+css菜单导航布局自适应宽度",这是一种确保导航栏在不同屏幕尺寸下都能良好展示的技术。这种技术在响应式网页设计中尤为重要,因为现代网站需要在手机、平板电脑和桌面电脑等不同设备上提供一致的...

    脚本控制DIV三行三列布局自适应高度.rar

    本资源"脚本控制DIV三行三列布局自适应高度.rar"提供了一种解决方案,利用JavaScript(JS)来实现一个三行三列的布局,并且每个单元格(DIV)的高度能够自适应内容。这种布局方式尤其适用于响应式网页设计,确保在...

    html上下固定中间自适应div+css布局

    至于中间内容的自适应布局,我们可以使用`&lt;section&gt;`作为主要容器,并设置`margin`来创建上下两个固定元素之间的间距,同时利用`max-width`控制内容的宽度,确保在不同屏幕尺寸下都能良好展示: ```css section { ...

    关于div自适应高度/左右高度自适应一致的js代码

    通过上述两种方法的结合使用,我们就可以解决在网页布局中常见的左右两侧DIV自适应高度以及DIV高度自适应屏幕的布局问题。这不仅有助于保持页面布局的整洁和一致性,而且能够提升网页在不同设备和屏幕尺寸上的适应性...

    2列左窄右宽高度自适应且未知高度底部平齐CSS模板

    "2列左窄右宽高度自适应且未知高度底部平齐CSS模板"是一种常见的网页布局方式,这种布局通常用于创建内容丰富的网站,其中左侧栏提供导航或侧边信息,右侧栏展示主要内容。下面将详细介绍这种布局的实现原理和相关...

    css+div自适应窗口宽度

    在网页设计中,CSS(层叠样式表)与HTML中的div元素一起被广泛用于构建页面布局。本主题探讨的是如何利用CSS和div实现网页内容的自适应窗口宽度,确保无论用户浏览器窗口大小如何,页面都能保持良好的显示效果。 ...

    JS控制DIV自适应高度

    5. **Grid布局**:CSS Grid布局同样提供了一种方式让div自适应高度。设置`grid-auto-rows: auto;`可以让每一行根据内容自适应高度。如果需要JavaScript辅助,可以监控内容变化,然后重新定义grid的行高。 以上就是...

    div+css模板布局 右侧固定,左侧自适应

    本知识点主要围绕"div+css模板布局 右侧固定,左侧自适应"这一主题展开。 在这样的布局模式中,右侧通常设置为一个固定宽度的区域,无论浏览器窗口大小如何变化,其宽度始终保持不变,常见于侧边栏、导航菜单等元素...

    EasyUI布局 高度自适应

    在本文中,我们将深入探讨 EasyUI 中的高度自适应布局(Height Auto-adaptation)及其应用场景。 1. Datagrid 的高度自适应 在 EasyUI 中,Datagrid 是一种常见的表格展示组件,用于显示大量数据。如果页面布局简单...

    DIV 高度 自适应

    "DIV 高度自适应"是一个常见的需求,它指的是`&lt;div&gt;`元素的高度能够根据其内容自动调整,以确保内容完整显示,同时保持良好的布局效果。尤其在响应式设计中,高度自适应更是必不可少的特性,可以确保页面在不同屏幕...

    怎样让一个div高度自适应浏览器高度

    在网页设计中,让一个`div`元素的高度自适应浏览器高度是一个常见的需求,尤其是在创建全屏背景、响应式布局或者动态内容填充时。这个需求看似简单,但有时却容易让人困惑,因为仅设置`div`的高度为`100%`并不总是...

    iframe高度自适应

    利用CSS Flex布局也可以实现`&lt;iframe&gt;`的高度自适应。 ```html &lt;div class="container"&gt; &lt;iframe name="right" id="center_cent" src="center/center0.html" frameborder="0"&gt;&lt;/iframe&gt; &lt;/div&gt; ``` ```css ....

    button自适应高度和自动换行

    1. CSS Flexbox:使用Flexbox布局模型可以轻松实现按钮的高度自适应。通过设置`.container`的`display: flex;`和`align-items: center;`,可以让容器内的按钮在垂直方向上居中,同时根据内容自动调整高度。 2. CSS ...

    DIV进阶效果集(圆角div、div自适应宽度、背景色渐变等)

    本篇文章将深入探讨`div`的一些进阶效果,包括圆角`div`、自适应宽度、背景色渐变、多行自适应高度以及固定高度与内容自动变高等CSS技术。 首先,让我们关注圆角`div`。CSS3引入了`border-radius`属性,使得我们...

Global site tag (gtag.js) - Google Analytics