IT兄弟连 HTML5教程 使用盒子模型设计页面布局
布局所涉及的技术非常很多,足以另写单独的一本书了。在本节中主要介绍网站中最常用的布局方案,包括区块框居中、两列浮动、三列浮动及多列浮动的区块框。
1 居中设计
区块框居中的设计是在网页布局中常用的技术,例如将网页内的主体内容设置为一定的宽度,然后在页面内居中占据屏幕的一部分显示,而不是横跨整个屏幕宽度。这样设计的目的是因为现在的显示器尺寸越来越大,网页的可读性问题就变得越来越重要,因而需要创建比较短的、容易阅读的行。另外,不要让使用分辨率比较低的显示器用户,通过反复拖动浏览器的水平滚动条来查看页面中的每行文本。目前网页的布局几乎都是基于1024 × 768像素的屏幕分辨率来设计页面内容的宽度。例如,将页面显示内容区块框的宽度设置为966像素,代码如下所示:

在上面的代码中,设置页面最外层的容器div水平居中。在CSS中只需要定义容器div的宽度为966像素,然后将容器的左部和右部空白边设置为auto,就会在浏览器中居中。但在没有声明DOCTYPE时,IE浏览器中不支持使用空白边设置容器居中,而是通过在上一层容器中设置样式text-align:center让容器居中,然后再将容器的内容重新对准左边。如图1所示,IE和Firefox显示结果相同。

图1 居中设计
2 设置两列浮动的布局
使用float设置的浮动盒子区块会脱离文档流,也不会占据文档流中的任何空间,所以浮动的盒子区块就不再对包含它们的区块框产生任何影响。另外,在一行内如果有足够空间,则多个设置浮动的盒子就会显示在同一行中。所以使用浮动的盒子区块去创建简单的两列布局,只要同一行有足够空间并将两个盒子都设置为浮动即可。例如,在很多网站中常见的主导航以边条的形式显示在左边、主体内容区域在右边显示的两列,我们将主导航区块框和内容区块框两列设计包含在一个居中容器div中,这个div就使用前面介绍的方法设计为水平居中。代码如下所示:

在上面的代码中非常简单地实现了两列的浮动,只为每一列设置想要的宽度,然后将主导航所在的区块框向左浮动,将内容区块框向右浮动,如图2所示。

图2 两列浮动设计
3 设置三列浮动的布局
要创建三列的布局,只需要在上例的基础上,在右部内容区的盒子区块中再嵌套两个新的div盒子区块,一个盒子区块用于主要内容,设置向左浮动;另一个盒子区块用于次要内容,设置向右浮动。代码如下所示:

与前面的实例相似,只要设置需要的宽度,然后将主要内容区块框向左浮动,将次要内容区块框向右浮动即可,如图3所示。

图3 三列浮动设计
4 设置多列浮动的布局
可以通过借鉴前面介绍的三列浮动布局方式,以在大区块框中再包含小区块框这种层层嵌套的方式实现多列布局。也可以通过设置所有区块框向左浮动,然后在每个区块框之间建立一个垂直隔离带的方式实现多列浮动布局。在下面的示例中创建一个水平导航条,将所有的菜单项都向左浮动排列成一行,并在菜单项之间设置宽度为1像素的隔离带。代码如下所示:



运行后的结果如图4所示。

图4 设置多列浮动的菜单实例布局
IT兄弟连 HTML5教程 使用盒子模型设计页面布局的更多相关文章
- IT兄弟连 HTML5教程 使用盒子模型的浮动布局
虽然使用绝对定位可以实现页面布局,但由于调整某个盒子模型时其他盒子模型的位置并不会跟着改变,所以并不是布局的首选方式.而使用浮动的盒子模型可以向左或向右移动,直到它的外边缘碰到包含它的盒子模型边框或另 ...
- IT兄弟连 HTML5教程 W3C盒子模型
日常生活中所见的盒子也就是能装东西的一种箱子,如果家里的东西很多,那么就需要按类别装到不同的箱子中.网页中的内容表现也是一样的,如果页面内容比较多,又想让页面更整洁.更美观.有很好的用户体验,则也需要 ...
- IT兄弟连 HTML5教程 DIV+CSS网页标准化布局 小结及习题
小结 DIV+CSS布局页面的优势:表现和内容相分离.代码简洁,提高页面浏览速度.易于维护和改版.提高搜索引擎对网页的索引效率.每个HTML元素都可以看作一个区块,类似于装了东西的盒子,称为盒子模式. ...
- IT兄弟连 HTML5教程 DIV+CSS网页标准化布局的优势
标准的网页都需要对内容进行布局,以前都是采用表格的定位技术,从2005年开始逐步转向DIV+CSS的布局方式,目前绝大多数的网站都是采用这种布局方式.使用DIV+CSS对网站进行布局符合W3C标准,采 ...
- IT兄弟连 HTML5教程 DIV+CSS网站首页布局示例
首页的设计直接影响网站的整体形象,虽然没有一个统一的规范,但最好将其设计为大众化的,只要信息内容能够合理地编排即可,使用户可以方便地找到需要的信息.另外,首页的高度最好不要超过三个屏幕,页面中使用的颜 ...
- IT兄弟连 HTML5教程 和页面布局有关的CSS属性
使用DIV+CSS对网页进行标准化布局前,除了要掌握盒子模型,还要掌握定位和浮动两个比较重要的概念,它们可以控制在页面上排列和显示元素的方式.一个盒子是装内容的区块,如果多个盒子组合在一起使用,再通过 ...
- IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作
学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词.需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱.另外,前端开发也会细分很多个开发岗位,不同 ...
- HTML5入门教程:响应式页面布局
摘自:https://www.sohu.com/a/225633935_647584 随着互联网时代的发展,我们对网页布局有了新的要求,大气,美观,能够在不同的设备上呈现令人焕然一新的效果.此时,一个 ...
- IT兄弟连 HTML5教程 DIV+CSS的兼容性问题
使用DIV+CSS布局网页其实是很容易的事情,但各种浏览器之间的不兼容性问题,加大了页面布局的难度,给程序员带来很多不便,于是需要花费更多的时间在调试各种浏览器的兼容性上.因为部分CSS属性在不同的浏 ...
随机推荐
- 痞子衡嵌入式:恩智浦i.MX RTxxx系列MCU启动那些事(4)- OTP及其烧写方法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MX RTxxx系列MCU的OTP. 在i.MXRTxxx启动系列第二篇文章 Boot配置(ISP Pin, OTP) 里痞子 ...
- 爬虫框架Scrapy入门——爬取acg12某页面
1.安装1.1自行安装python3环境1.2ide使用pycharm1.3安装scrapy框架2.入门案例2.1新建项目工程2.2配置settings文件2.3新建爬虫app新建app将start_ ...
- 高并发编程-AQS深入解析
要点解说 AbstractQueuedSynchronizer简称AQS,它是java.util.concurrent包下CountDownLatch/FutureTask/ReentrantLock ...
- 腾讯iphone面试题(转)
1Objective-C内部的实现 2CALayer和View的关系 3 http协议,tcp/ip 4 UITableView的那些元素是可以自定义的? 5 c语言的,定义变量,比如int,在什么情 ...
- json序列化反序列化Jackson相关注解
1.@Transient @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性:如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则ORM框架 ...
- Scrapy 框架 (学习笔记-1)
环境: 1.windows 10 2.Python 3.7 3.Scrapy 1.7.3 4.mysql 5.5.53 一.Scrapy 安装 1. Scrapy:是一套基于Twisted的一部处理框 ...
- 使用jieba分析小说太古神王中,男主更爱谁?去文章中找答案吧!#华为云·寻找黑马程序员#
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- 华为云DevCloud为开发者提供高效智能的可信开发环境
在HUAWEI CONNECT 2019期间,在华为云云服务开发者分论坛上,华为云布道师做了<CloudIDE:开发者的高效.智能的可信开发环境>专题演讲,主要介绍了华为云DevCloud ...
- ACM小组的古怪象棋
Description ACM小组的Samsara和Staginner对中国象棋特别感兴趣,尤其对马(可能是因为这个棋子的走法比较多吧)的使用进行深入研究.今天他们又在 构思一个古怪的棋局:假如Sam ...
- 洛谷 题解 P1372 【又是毕业季I】
这题... 只能说:n / k罢了... 但是: 代码没有最短,只有更短! #include <stdio.h> int n, k; int main() { return scanf(& ...