- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
css经典布局——头尾固定高度中间高度自适应布局
下面说下要求:
1 头部固定高度,宽度100%自适应父容器;
2 底部固定高度,宽度100%自适应父容器;
3 中间是主体部分,自动填满,浏览器可视区域剩余部分,内容超出则中间部分出现流动条;
4 整个内容填满浏览器可视区域,并且不超出此区域!
先看下效果图:
?
相信,做过两年前端的同学,拿到这个需求,都有一个感觉——这挺简单的!
是的,本来就挺简单!
方法一:position:absolute定位,不设高,并改变包含块的尺寸渲染
从我脑海崩出来的第一个念头就是定位布局——position
而我也是这么做的,因为要固定头尾,所以,至少头和尾要用到position定位。因为浏览器大小是可以调节的,而且不同尺寸,不同分辨率的浏览器可视区域的高度是不固定的,
这就决定是中间主体部分的高度不固定。所以真正的问题核心也正在此。解决了这个问题,整个布局也就解决了一多半。
上代码,相信这也是符合大部分思路的实现方式:
!DOCTYPE HTML
html
head
meta charset=gb2312
title头尾固定中间高度自适应布局/title
style
html, body {
height:100%;
margin:0;
padding:0
}
#dHead {
height:100px;
line-height:100px;
background:#690;
width:100%;
position:absolute;
z-index:5;
top:0;
text-align:center;
}
#dBody {
background:#FC0;
width:100%;
overflow:auto;
top:100px;
position:absolute;
z-index:10;
bottom:100px;
}
.mycontent {
padding:20px;
}
#dFoot {
height:100px;
line-height:100px;
background:#690;
width:100%;
position:absolute;
z-index:200;
bottom:0;
text-align:center;
}
/style
/head
body
div id=dHead固定头部100px;/div
div id=dBody
div class=mycontent 中间自适应部分br
中间自适应部分br
/div
/div
div id=dFoot固定尾部100px/div
/body
/html
结果也如上图所示,预期已经达到。经测试:IE7+、firefox、chrome、safari、opera均通过测试!
这里有点要特别说明的地方:当容器被position:absolute或者float:left or right的时候,在没有设定宽度的情况下窗口的表现为紧贴内容;
!DOCTYPE HTML
html
head
meta charset=gb2312
title无标题文档/title
style
*{padding:0;margin:0}
/style
/head
body
div style=height:200px;position:absolute; background:#FF9900;内容测试/div
/body
/html
?
看下效果图:
但是如果在position:absolute下,同时设定left和right或者同时设定top和bottom的话。宽度和高会被拉伸到指定位置,需要说明的这就是宽度或者高度缺省时position:absolute or fixed 情况下,浏览器对容器的尺寸解析方式。
需要说明的是,对于一个浮动元素,如果不设定宽度,同样采用“包含块”的渲染方式,宽度取决于内容的宽度。但是,如果这个浮动元素内部有一个右浮动的子元素,宽度会扩展到父容器的宽度。这个就不给出具体的例子了,自己可以下去测试。另外可以表现为“包含块的”还有display:inline-block 当然,IE 如果display inline 如果 has a layout 同样会表现出“包含块”渲染。这里就不深入探讨了。
下面对于position:absolute or fixed 定位的“包含块”,做一个渲染测试。
!DOCTYPE HTML
html
head
meta charset=gb2312
tit
您可能关注的文档
- 人力表格大全.doc
- 体检排队.doc
- 525心理活动健康月主题活动总结.docx
- 企业培训绩效的三种评估方法及比较分析精.doc
- 20132014意外伤害急救常识试卷有答案.doc
- 勾股定理经典易错题及知识点类题总结.doc
- 46洁定清洗机使用说明关于使用操作与日常维护.doc
- 07高考真题必修三专题八19世纪以来的世界文学艺术.doc
- 国家执业护士考试大纲.doc
- 21战略版企业经营决策沙盘模拟训练课程介绍解析.doc
- 2025年扑克牌项目可行性研究报告.docx
- 2025至2030年中国喷射染色试样机数据监测研究报告.docx
- 2025至2031年中国小米黄粑行业投资前景及策略咨询研究报告.docx
- 2025至2030年电子饮水器项目投资价值分析报告.docx
- 2025至2030年麻粘纱线项目投资价值分析报告.docx
- 2025至2030年中国风琴夹数据监测研究报告.docx
- 2025年五位超载保护插座项目可行性研究报告.docx
- [徐州]2025年中国矿业大学专职辅导员招聘8人笔试历年典型考点(频考版试卷)附带答案详解.docx
- 2025至2030年中国卫生医疗器械数据监测研究报告.docx
- [广西]广西干部学院(广西壮族自治区公务员培训中心)招聘笔试历年典型考点(频考版试卷)附带答案详解.docx
文档评论(0)