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

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. 【tf.keras】实现 F1 score、precision、recall 等 metric

    tf.keras.metric 里面竟然没有实现 F1 score.recall.precision 等指标,一开始觉得真不可思议.但这是有原因的,这些指标在 batch-wise 上计算都没有意义, ...

  2. elastic search(es)安装

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选. 它可以快速地储存.搜索和分析海量数据.维基百科.Stack Overflow.Gi ...

  3. IDEA IntelliJ/ DataGrip 修改自动补全快捷键

    系统默认的是Tab键,个人喜欢用空格键作为自动补全键,设置方法如下 Setting-->Keymap-->Editor Actions:Choose Lookup Item Replace ...

  4. 双显卡安装Ubuntu 18.04和NVIDIA驱动

    踩坑笔记: 用软碟通制作UBUNTU18.04 LTS启动盘 长按DEL键进入BIOS,关闭Security Boot,设置USB优先启动 在黑白的grub引导界面(第一行是Try Ubuntu- 第 ...

  5. 英飞凌TC297 PSPR与DSPR

    TC297的系统架构图如下,3个核CPU0/1/2有各自的RAM,分为程序RAM和数据RAM,即PSPR和DSPR.PSPR(或者叫做PRAM)主要用于放置静态函数,提高函数执行效率,或放置flash ...

  6. 188W+程序员关注过的问题:Java到底是值传递还是引用传递?

    在逛 Stack Overflow 的时候,发现了一些访问量像阿尔卑斯山一样高的问题,比如说这个:Java 到底是值传递还是引用传递?访问量足足有 188万+,这不得了啊!说明有很多很多的程序员被这个 ...

  7. MVC异常处理

    处理局部异常 控制器: @Controller @RequestMapping("/ex") public class ExceptionController { @Excepti ...

  8. [TimLinux] Python 再谈元类 metaclass

    本博文通过对以下链接进行理解后,编写. https://stackoverflow.com/questions/100003/what-are-metaclasses-in-python 1. 类 类 ...

  9. 马拉车manacher

    目的:线性查找一个串的最长回文子串 时间复杂度:O(n) len[i]表示以i为中心的回文串的半径,mx即为当前计算回文串最右边字符的最大值,p是中心点mid,mx-i和2*p-1关于p对称 http ...

  10. CodeForces999A-Mishka and Contest

    A. Mishka and Contest time limit per test 1 second memory limit per test 256 megabytes input standar ...