布局所涉及的技术非常很多,足以另写单独的一本书了。在本节中主要介绍网站中最常用的布局方案,包括区块框居中、两列浮动、三列浮动及多列浮动的区块框。

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教程 使用盒子模型设计页面布局的更多相关文章

  1. IT兄弟连 HTML5教程 使用盒子模型的浮动布局

    虽然使用绝对定位可以实现页面布局,但由于调整某个盒子模型时其他盒子模型的位置并不会跟着改变,所以并不是布局的首选方式.而使用浮动的盒子模型可以向左或向右移动,直到它的外边缘碰到包含它的盒子模型边框或另 ...

  2. IT兄弟连 HTML5教程 W3C盒子模型

    日常生活中所见的盒子也就是能装东西的一种箱子,如果家里的东西很多,那么就需要按类别装到不同的箱子中.网页中的内容表现也是一样的,如果页面内容比较多,又想让页面更整洁.更美观.有很好的用户体验,则也需要 ...

  3. IT兄弟连 HTML5教程 DIV+CSS网页标准化布局 小结及习题

    小结 DIV+CSS布局页面的优势:表现和内容相分离.代码简洁,提高页面浏览速度.易于维护和改版.提高搜索引擎对网页的索引效率.每个HTML元素都可以看作一个区块,类似于装了东西的盒子,称为盒子模式. ...

  4. IT兄弟连 HTML5教程 DIV+CSS网页标准化布局的优势

    标准的网页都需要对内容进行布局,以前都是采用表格的定位技术,从2005年开始逐步转向DIV+CSS的布局方式,目前绝大多数的网站都是采用这种布局方式.使用DIV+CSS对网站进行布局符合W3C标准,采 ...

  5. IT兄弟连 HTML5教程 DIV+CSS网站首页布局示例

    首页的设计直接影响网站的整体形象,虽然没有一个统一的规范,但最好将其设计为大众化的,只要信息内容能够合理地编排即可,使用户可以方便地找到需要的信息.另外,首页的高度最好不要超过三个屏幕,页面中使用的颜 ...

  6. IT兄弟连 HTML5教程 和页面布局有关的CSS属性

    使用DIV+CSS对网页进行标准化布局前,除了要掌握盒子模型,还要掌握定位和浮动两个比较重要的概念,它们可以控制在页面上排列和显示元素的方式.一个盒子是装内容的区块,如果多个盒子组合在一起使用,再通过 ...

  7. IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作

    学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词.需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱.另外,前端开发也会细分很多个开发岗位,不同 ...

  8. HTML5入门教程:响应式页面布局

    摘自:https://www.sohu.com/a/225633935_647584 随着互联网时代的发展,我们对网页布局有了新的要求,大气,美观,能够在不同的设备上呈现令人焕然一新的效果.此时,一个 ...

  9. IT兄弟连 HTML5教程 DIV+CSS的兼容性问题

    使用DIV+CSS布局网页其实是很容易的事情,但各种浏览器之间的不兼容性问题,加大了页面布局的难度,给程序员带来很多不便,于是需要花费更多的时间在调试各种浏览器的兼容性上.因为部分CSS属性在不同的浏 ...

随机推荐

  1. MySQL主从扩展知识

    6月29/7月2日任务 说明:这两天无新课,主要是扩充知识面注意:这两天的任务,需要回专贴.需要你们通过看这些东西总结成自己的心得. 不能照搬,必须要自己理解,能看多少就看多少,看不完也没有关系,但一 ...

  2. c语言l博客作业09

    问题 答案 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/8655 我在 ...

  3. RestSharp Simple REST and HTTP API Client for .NET

    var client = new RestClient("http://example.com"); // client.Authenticator = new HttpBasic ...

  4. ubuntu安装过程中遇到的一些问题及解决办法。

    由于ubuntu与win10的双系统安装过程百度一下就有很多,在此不再赘述. (其实主要是忘记拍照片了,我一个菜鸡说得肯定也没有那些大佬们好,但网上确实也很多哈,加上有中文引导安装,问题不大.) 此篇 ...

  5. 基于vue的cropper插件编写分享

    目录 简介 实现功能 实现原理 github地址:https://github.com/yinzhida/vue-crop git clone: https://github.com/yinzhida ...

  6. 01Shell入门02-echo和printf

    输出方式 小知识 echo echo -e 可以控制字体颜色和背景颜色输出 示例 echo -e "\033[41;36m Hello world \033[0m" [root@h ...

  7. 带着canvas去流浪系列之九 粒子动画【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  8. 小白学 Python 爬虫(15):urllib 基础使用(五)

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. springcloud+kafka集群

    上节说了kafka在linux环境下怎么搭建集群.这节写一下怎么在springcloud中以stream流方式去做kafka集群对接. 1.yml配置 #spring Cloud kafka -- s ...

  10. EditText 无法失焦与失焦后键盘不收缩解决方案

    背景 有一个需求,比方说下图: 点击了上图的Image 区域才可以编辑. 那么我首先想到的就是: android:focusable="false" 不让它获取到焦点不就ok吗? ...