`

WEB2.0标准教程:第十天 自适应高度

阅读更多
如果我们想在3列布局的最后加一行页脚,放版权之类的信息。就遇到必须对齐3列底部的问题。在table布局中,我们用大表格嵌套小表格的方法,可以很方便对齐三列;而用div布局,三列独立分散,内容高低不同,就很难对齐。其实我们完全可以嵌套div,把三列放进一个DIV中,就做到了底部对齐。下面是实现例子(白色背景框模拟一个页面):

程序代码 程序代码
<html>
<head>
<styletype="text/css">
#body,div{FONT-SIZE:12px;}
#pagebox{
margin:0px;
PADDING:20px;
BACKGROUND:#FFF;
FONT-FAMILY:arial,'宋体','新宋体',verdana,sans-serif;
WIDTH:600px;
}
#header{
MARGIN:0px;
BORDER:0px;
BACKGROUND:#ccd2de;
WIDTH:580px;
HEIGHT:60px;}
#mainbox{
MARGIN:0px;
WIDTH:580px;
BACKGROUND:#FFF;
}
#menu{
FLOAT:right;
MARGIN:2px0px2px0px;
PADDING:0px0px0px0px;
WIDTH:400px;
BACKGROUND:#ccd2de;
}
#content{
FLOAT:right;
MARGIN:1px0px2px0px;
PADDING:0px;
WIDTH:400px;
BACKGROUND:#E0EFDE;}
#sidebar{
FLOAT:left;
MARGIN:2px2px0px0px;
PADDING:0px;
BACKGROUND:#F2F3F7;
WIDTH:170px;
}
#footer{
CLEAR:both;
MARGIN:0px0px0px0px;
PADDING:5px0px5px0px;
BACKGROUND:#ccd2de;
HEIGHT:40px;
WIDTH:580px;
}
</style>
</head>
<body>
<divid="header">这里是#header{
MARGIN:0px;
BORDER:0px;
BACKGROUND:#ccd2de;
WIDTH:580px;
HEIGHT:60px;}</div>
<divid="mainbox">
这里是#mainbox{
MARGIN:0px;
WIDTH:580px;
BACKGROUND:#FFF;
}包含了#menu,#sidebar和#content
<divid="menu">这里是#menu{
FLOAT:right;
MARGIN:2px0px2px0px;
PADDING:0px0px0px0px;
WIDTH:400px;
BACKGROUND:#ccd2de;
}</div>
<divid="sidebar"><p>这里是#sidebar{
FLOAT:left;
MARGIN:2px2px0px0px;
PADDING:0px;
BACKGROUND:#F2F3F7;
WIDTH:170px;
},背景颜色用的是#main的背景色</p></div>
<divid="content"><p>这里是#content{
FLOAT:right;
MARGIN:1px0px2px0px;
PADDING:0px;
WIDTH:400px;
BACKGROUND:#E0EFDE;}</p>
<p>这里是主要内容,根据内容自动适应高度</p><p>这里是主要内容,根据内容自动适应高度</p>
<p>这里是主要内容,根据内容自动适应高度</p>
</div>
</div>
<divid="footer">这里是#footer{
CLEAR:both;
MARGIN:0px0px0px0px;
PADDING:5px0px5px0px;
BACKGROUND:#ccd2de;
HEIGHT:40px;
WIDTH:580px;
}。</div>
</div>
</body>
</html>


HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]




这个例子的页面主要代码如下:
程序代码 程序代码
<divid="header"></div>
<divid="mainbox">
<divid="menu"></div>
<divid="sidebar"></div>
<divid="content"></div>
</div>
<divid="footer"></div>




具体样式表都写在相应版块里了。重点在于#mainbox层嵌套了#menu,#sidebar和#content三个层。当#content的内容增加,#content的高度就会增高,同时#mainbox的高度也会撑开,#footer层就自动下移。这样就实现了高度的自适应。

另外值得注意的是:#menu和#content都是浮动在页面右面"FLOAT:right;",#sidebar是浮动在#menu层的左面"FLOAT:left;",这是浮动法定位,还可以采用绝对定位来实现这样的效果。

这个方法存在另一个问题,就是侧列#sidebar的背景无法百分之百。一般的解决办法就是用body的背景色来填充满。(不能使用#mainbox的背景色,因为在Mozilla等浏览器中#mainbox的背景色失效。)

好了,主要的框架已经搭建完毕,剩下的工作只是往里面添砖加瓦。
分享到:
评论

相关推荐

    C#物联网平台服务器框架源码(自带WEB API,硬件数据接收服务,一键部署,无需IIS)

    自带WEB API与WEB应用、自带Lot服务器应用 ,可定制集成为自带MQTT服务器,一切都免除了第三方服务软件的复杂安装配置过程。 10、完整的使用说明文档。 11、强大的技术团队支持。 该框架是应用方面的DEMO源码,MVC...

    《CSS全程指南》随书光盘

    1.5 用Web2.0标准改善现有网站 16 1.5.1 初级改善 16 1.5.2 中级改善 17 1.6 小结 19 第2章 CSS基础 20 2.1 CSS概述 21 2.1.1 CSS介绍 21 2.1.2 CSS的优点 22 2.2 调用样式表 23 2.2.1 内嵌样式 23 2.2.2 内部样式表...

    ASP.NET4高级程序设计(第4版) 3/3

    第10章 富数据控件 303 10.1 GridView 303 10.2 格式化GridView 307 10.2.1 格式化字段 307 10.2.2 样式 308 10.2.3 格式化特定值 311 10.3 GridView行选择 313 10.3.1 使用选择来创建主-从表单 314...

    ExtAspNet_v2.3.2_dll

    支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox...

    风讯dotNETCMS 源码包 1.0 SP5 20110408.rar

    风讯dotNETCMS免费版本是一款具有强大功能的基于ASP.NET MSSQL构架的内容管理软件,国内领先的第一款开源的、集成web2.0元素的、模块化的CMS建站系统。风讯dotNETCMS免费版功能: SQL数据库 内容管理 发布管理 会员...

    风讯dotNETCMS 安装包 1.0 SP5 20110408.rar

    风讯dotNETCMS免费版本是一款具有强大功能的基于ASP.NET MSSQL构架的内容管理软件,国内领先的第一款开源的、集成web2.0元素的、模块化的CMS建站系统。风讯dotNETCMS免费版功能: SQL数据库 内容管理 发布管理 会员...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    第10章 富数据控件 10.1 GridView 10.2 格式化GridView 10.2.1 格式化字段 10.2.2 样式 10.2.3 格式化特定值 10.3 GridView行选择 10.3.1 使用选择来创建主-从表单 10.3.2 SelectedIndexChanged...

    风讯dotNETCMS v1.0 sp5源码

    集成web2.0元素的、模块化的CMS建站系统。 dotNETCMSv1.0sp5 20110408功能: SQL数据库+内容管理+发布管理+会员中心+插件管理(广告系统+ 采集系统+问卷调查+友情链接+统计系统+整合接口+文件对比+自定义字段+...

    KODExplorer 芒果云-资源管理器

    - 优化新建、重命名文件(夹) 高度自适应问题 - firefox ctrl+s 系统对话框屏蔽 - 树目录:收藏夹优化(右键绑定);右键操作优化,拖拽优化(文件管理&编辑器) - 收藏夹优化(右键 &gt;编辑删除) ####update: **...

    计算机应用技术(实用手册)

    这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二组设备是指主板上的第一、第二根IDE数据线,一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...

    FoosundotNETCMS内容管理系统

    dotNETCMSv1.0免费版本是一款具有强大的功能的基于ASP.NET+MSSQL构架的内容管理软件,国内领先的第一款开源的、集成web2.0元素的、模块化的CMS建站系统。dotNETCMSv1.0免费版功能:SQL数据库+内容管理+发布管理+...

    Vicor官方资料:正弦振幅转换器的反向模式应用以及应用电路资料分享-电路方案

    根据第一实验阶段得出的结果, BCM 组件在汽车能量收集及自适应悬架系统概念验证中得到了成功部署, 双向 BCM 实施主要基于从第一阶段实验中获得的经验。 自从第一次演示以来,客户已经分享了在系留式水下交通工具和...

Global site tag (gtag.js) - Google Analytics