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+css高度自适应网页布局,子div含float,父div高度自适应,已经通过测试的浏览器:ie6、ie7、ie8、火狐、Chrome。 代码来源: http://www.positioniseverything.net/articles/onetruelayout/equalheight
在网页设计中,"div宽度自适应布局(左边自适应)"是一种常见的网页布局技术,它主要应用于响应式设计,使得页面在不同设备和屏幕尺寸下都能保持良好的视觉效果。这种布局方式强调左侧内容的宽度根据浏览器窗口大小...
通过上述讲解和示例,我们可以看出利用`div+css`实现高度自适应并非难事,关键在于合理运用CSS中的各种布局特性。在实际开发过程中,开发者还需要结合项目的具体需求和目标用户群体的特点,选择最适合的技术方案。...
在网页设计中,"div宽度自适应布局(右边自适应)"是一种常见的网页布局技术,它主要涉及CSS(层叠样式表)的运用,使网页内容能够根据不同的屏幕尺寸和设备进行适配,尤其是针对响应式设计。在这个布局模式下,通常...
本主题聚焦于"div+css菜单导航布局自适应宽度",这是一种确保导航栏在不同屏幕尺寸下都能良好展示的技术。这种技术在响应式网页设计中尤为重要,因为现代网站需要在手机、平板电脑和桌面电脑等不同设备上提供一致的...
本资源"脚本控制DIV三行三列布局自适应高度.rar"提供了一种解决方案,利用JavaScript(JS)来实现一个三行三列的布局,并且每个单元格(DIV)的高度能够自适应内容。这种布局方式尤其适用于响应式网页设计,确保在...
至于中间内容的自适应布局,我们可以使用`<section>`作为主要容器,并设置`margin`来创建上下两个固定元素之间的间距,同时利用`max-width`控制内容的宽度,确保在不同屏幕尺寸下都能良好展示: ```css section { ...
通过上述两种方法的结合使用,我们就可以解决在网页布局中常见的左右两侧DIV自适应高度以及DIV高度自适应屏幕的布局问题。这不仅有助于保持页面布局的整洁和一致性,而且能够提升网页在不同设备和屏幕尺寸上的适应性...
"2列左窄右宽高度自适应且未知高度底部平齐CSS模板"是一种常见的网页布局方式,这种布局通常用于创建内容丰富的网站,其中左侧栏提供导航或侧边信息,右侧栏展示主要内容。下面将详细介绍这种布局的实现原理和相关...
在网页设计中,CSS(层叠样式表)与HTML中的div元素一起被广泛用于构建页面布局。本主题探讨的是如何利用CSS和div实现网页内容的自适应窗口宽度,确保无论用户浏览器窗口大小如何,页面都能保持良好的显示效果。 ...
5. **Grid布局**:CSS Grid布局同样提供了一种方式让div自适应高度。设置`grid-auto-rows: auto;`可以让每一行根据内容自适应高度。如果需要JavaScript辅助,可以监控内容变化,然后重新定义grid的行高。 以上就是...
本知识点主要围绕"div+css模板布局 右侧固定,左侧自适应"这一主题展开。 在这样的布局模式中,右侧通常设置为一个固定宽度的区域,无论浏览器窗口大小如何变化,其宽度始终保持不变,常见于侧边栏、导航菜单等元素...
在本文中,我们将深入探讨 EasyUI 中的高度自适应布局(Height Auto-adaptation)及其应用场景。 1. Datagrid 的高度自适应 在 EasyUI 中,Datagrid 是一种常见的表格展示组件,用于显示大量数据。如果页面布局简单...
"DIV 高度自适应"是一个常见的需求,它指的是`<div>`元素的高度能够根据其内容自动调整,以确保内容完整显示,同时保持良好的布局效果。尤其在响应式设计中,高度自适应更是必不可少的特性,可以确保页面在不同屏幕...
在网页设计中,让一个`div`元素的高度自适应浏览器高度是一个常见的需求,尤其是在创建全屏背景、响应式布局或者动态内容填充时。这个需求看似简单,但有时却容易让人困惑,因为仅设置`div`的高度为`100%`并不总是...
利用CSS Flex布局也可以实现`<iframe>`的高度自适应。 ```html <div class="container"> <iframe name="right" id="center_cent" src="center/center0.html" frameborder="0"></iframe> </div> ``` ```css ....
1. CSS Flexbox:使用Flexbox布局模型可以轻松实现按钮的高度自适应。通过设置`.container`的`display: flex;`和`align-items: center;`,可以让容器内的按钮在垂直方向上居中,同时根据内容自动调整高度。 2. CSS ...
本篇文章将深入探讨`div`的一些进阶效果,包括圆角`div`、自适应宽度、背景色渐变、多行自适应高度以及固定高度与内容自动变高等CSS技术。 首先,让我们关注圆角`div`。CSS3引入了`border-radius`属性,使得我们...