标题 | 基于盒子模型的网页布局方法研究 |
范文 | 摘? 要:在使用XHTML+CSS技术对网页进行布局时,一般是将页面中的各栏目按DIV盒子分块,每个DIV里面的内容也是由多个盒子模型所组成,盒子模型的使用对网页的布局起着决定性的作用。 关键词:盒子模型;网页布局;CSS 中图分类号:G642?????????? 文献标识码:A 1?? 引言(Introduction) 任何HTML元素在页面上都占据着一定的空间,我们都可以将这些HTML元素看成是盒子模型,所以,在对网页进行布局时,最为重要的就是盒子模型的使用。 2? 盒子模型的特征(Characteristics of the box model) (1)盒子的基本属性 对于盒子模型而言,基本属性包括:盒子的宽度(width)、高度(height)、边框(border)、内填充(padding)、外边界(margin),如图1所示[1]。 图1 盒子的基本属性 Fig.1 The basic properties of the box 在对网页布局时,盒子的这几个属性就决定了盒子的大小。 (2)盒子模型之间的位置关系 盒子模型之间的关系要么是父子关系(体现在盒子之间是内外包含关系时),要么是兄弟关系(兄弟关系的盒子可以上下排列、左右排列)。 (3)标准流下盒子模型的排列规则 在标准流下,也就是盒子没有使用CSS定位时,所有的盒子模型按两种方式排列,一种是兄弟盒子垂直排列(块元素),一种是兄弟盒子水平排列(行内元素)。 (4)盒子之间的间距 对于水平排列的盒子,它们之间的水平间距=左盒子的右margin+右盒子的左margin,如图2所示。 图2 水平排列的盒子 Fig.2 Horizontal arrangement of the box 对于垂直排列的盒子,它们之间的垂直间距=最大值(上盒子的下margin,下盒子的上margin),如图3所示。 图3 垂直排列的盒子 Fig.3 The vertical alignment of the box 对于父子盒子,它们边框之间的水平间距=父盒子的左padding+子盒子左margin,垂直间距=父盒子的上padding+子盒子上margin,如图4所示。 图4 父子盒子的位置 Fig.4 Father and son of the location of the box 3? 运用盒子模型布局网页的技巧(Using the box model webpage layout skills) 在运用盒子模型布局网页时,通常把网页中的每个元素都可以看成一个盒子,将页面在整体上按<;DIV>;标记进行分块,然后对各个块进行CSS定位。而使用这种技术布局网页时,只要掌握以下几方面的设计技巧,布局中的主要问题都可以解决。 (1)盒子尺寸的计算 盒子整个区域的宽=width+padding(左、右)+margin(左、右)+border(左、右),盒子的区域 高=height+padding(上、下)+margin(上、下)+border(上、下)。所以,在考虑盒子的尺寸时,千万不要忽略它的padding、margin、border值,如图5所示[2]。 但是有一种情况是特例,当盒子的padding、margin、border都等于0时,盒子整个区域的宽=width,盒子的区域 高=height。 图5 盒子尺寸的计算 Fig.5 The box dimension calculation (2)父子盒子之间位置关系的调整 如果我们在布局时,盒子之间的关系是父子包含关系,它们之间位置关系的调整可以通过以下两种方法实现: a.设置父盒子的padding值 当我们把子盒子看成是父盒子的内容是,可以通过设置父盒子的paddin-left或padding-top调整它们之间的位置关系,如图6所示[3]。 图6 父子盒子位置的调整(方法1) Fig.6 Father and son box position adjustment(method 1) b.设置子盒子的margin值 如果将父子盒子当作是两个独立的盒子,又可以通过设置子盒子的margin-top或margin-left值改变它们之间的位置。但值得注意的是,在IE8下,如果子盒子是父盒子的第一项内容,则子盒子的margin-top值会转移到父盒子上,如图7所示[1]。 图7 父子盒子位置的调整(方法2) Fig.7 Father and son box position adjustment(method 2) 运用以上两种方法时,在IE6下还有一个BUG:当同时设置了父盒子的paddin-top和子盒子的margin-left后,子盒子的左边界将不起作用。 (3)行内元素的属性限制 对于行内容元素页言,有一些属性设置是无效的。 a.行内元素的width属性:对行内元素设置width值是无效的,因为行内元素的width是由它的内容多少所决定的。 b.行内元素的height值:对行内元素设置height值也是无效的,因为行内元素的height是由它包含的内容高度所决定的。 c.行内元素的padding值和margin值:行内元素设置padding和margin时,只中左、右有效,上、下设置无效。 d.行内元素无法设置背景。 说明:以上行内元素属性设置中width、height、padding、margin的设置限制不包含特殊的行内元素IMG。当然,行内元素与可以通过display属性的设置实现与块元素的相互转换。 4? 运用盒子模型布局网页的流程(Using the box model webpage process layout) 无论是何种布局结构的网页,其基本设计流程是一样的,一般按以下步骤进行: (1)确定页面的布局结构并画出结构草图。 在画结构草图时,除了必要的栏目版块以外,还必须给整个页面添加一个盒子(通常命名为box),用于对页面的整体效果进行控制。 (2)通过HTML搭建页面的结构。 (3)设置初始化样式。 a.清除所有元素默认的padding、margin、border值,避免默认值对设计结果产生影响。 b.设置整个页面的居中。 ①设置盒子的宽度(最外层的包含整个页面内容的盒子)。 ②设置盒子的左右margin值都为auto。 ③如果要兼容IE6及以下版本的浏览器,则要将body的对齐方式设置为center,页面盒子的对齐方式设置为left。 (4)按照我们写汉字的习惯逐步完成每个版块的设置。 a.内外包含关系的父子盒子,从外到内。 b.上下结构的版块,先设置上版块,再设计下版块。 c.水平排列的版块,按从左到右的顺序进行。 (5)先完成每个独立版块的设计,再调整不同版块之间的位置关系。 5?? 结论(Conclusion) 运用盒子模型布局网页,必须完全了解盒子模型的基本特性及盒子尺寸的计算方法,熟悉盒子之间位置的控制技巧,再按照规范的设计流程实施操作,这样,不管是结构简单还是结构复杂的页面,我们设计起来都会毫不费力。 参考文献(References) [1] Jeff Croft,李方进.CSS实战精粹[M].北京:电子工业出版社, 2007. [2] 温谦.CSS彻底研究[M].北京:人民邮电出版社,2008. [3] 张晓晨.DIV+CSS网页布局商业案例精粹[M].北京:电子工业 出版社,2007. 作者简介: 孙小英(1973-),女,硕士,副教授.研究领域:计算机网络. b.行内元素的height值:对行内元素设置height值也是无效的,因为行内元素的height是由它包含的内容高度所决定的。 c.行内元素的padding值和margin值:行内元素设置padding和margin时,只中左、右有效,上、下设置无效。 d.行内元素无法设置背景。 说明:以上行内元素属性设置中width、height、padding、margin的设置限制不包含特殊的行内元素IMG。当然,行内元素与可以通过display属性的设置实现与块元素的相互转换。 4? 运用盒子模型布局网页的流程(Using the box model webpage process layout) 无论是何种布局结构的网页,其基本设计流程是一样的,一般按以下步骤进行: (1)确定页面的布局结构并画出结构草图。 在画结构草图时,除了必要的栏目版块以外,还必须给整个页面添加一个盒子(通常命名为box),用于对页面的整体效果进行控制。 (2)通过HTML搭建页面的结构。 (3)设置初始化样式。 a.清除所有元素默认的padding、margin、border值,避免默认值对设计结果产生影响。 b.设置整个页面的居中。 ①设置盒子的宽度(最外层的包含整个页面内容的盒子)。 ②设置盒子的左右margin值都为auto。 ③如果要兼容IE6及以下版本的浏览器,则要将body的对齐方式设置为center,页面盒子的对齐方式设置为left。 (4)按照我们写汉字的习惯逐步完成每个版块的设置。 a.内外包含关系的父子盒子,从外到内。 b.上下结构的版块,先设置上版块,再设计下版块。 c.水平排列的版块,按从左到右的顺序进行。 (5)先完成每个独立版块的设计,再调整不同版块之间的位置关系。 5?? 结论(Conclusion) 运用盒子模型布局网页,必须完全了解盒子模型的基本特性及盒子尺寸的计算方法,熟悉盒子之间位置的控制技巧,再按照规范的设计流程实施操作,这样,不管是结构简单还是结构复杂的页面,我们设计起来都会毫不费力。 参考文献(References) [1] Jeff Croft,李方进.CSS实战精粹[M].北京:电子工业出版社, 2007. [2] 温谦.CSS彻底研究[M].北京:人民邮电出版社,2008. [3] 张晓晨.DIV+CSS网页布局商业案例精粹[M].北京:电子工业 出版社,2007. 作者简介: 孙小英(1973-),女,硕士,副教授.研究领域:计算机网络. b.行内元素的height值:对行内元素设置height值也是无效的,因为行内元素的height是由它包含的内容高度所决定的。 c.行内元素的padding值和margin值:行内元素设置padding和margin时,只中左、右有效,上、下设置无效。 d.行内元素无法设置背景。 说明:以上行内元素属性设置中width、height、padding、margin的设置限制不包含特殊的行内元素IMG。当然,行内元素与可以通过display属性的设置实现与块元素的相互转换。 4? 运用盒子模型布局网页的流程(Using the box model webpage process layout) 无论是何种布局结构的网页,其基本设计流程是一样的,一般按以下步骤进行: (1)确定页面的布局结构并画出结构草图。 在画结构草图时,除了必要的栏目版块以外,还必须给整个页面添加一个盒子(通常命名为box),用于对页面的整体效果进行控制。 (2)通过HTML搭建页面的结构。 (3)设置初始化样式。 a.清除所有元素默认的padding、margin、border值,避免默认值对设计结果产生影响。 b.设置整个页面的居中。 ①设置盒子的宽度(最外层的包含整个页面内容的盒子)。 ②设置盒子的左右margin值都为auto。 ③如果要兼容IE6及以下版本的浏览器,则要将body的对齐方式设置为center,页面盒子的对齐方式设置为left。 (4)按照我们写汉字的习惯逐步完成每个版块的设置。 a.内外包含关系的父子盒子,从外到内。 b.上下结构的版块,先设置上版块,再设计下版块。 c.水平排列的版块,按从左到右的顺序进行。 (5)先完成每个独立版块的设计,再调整不同版块之间的位置关系。 5?? 结论(Conclusion) 运用盒子模型布局网页,必须完全了解盒子模型的基本特性及盒子尺寸的计算方法,熟悉盒子之间位置的控制技巧,再按照规范的设计流程实施操作,这样,不管是结构简单还是结构复杂的页面,我们设计起来都会毫不费力。 参考文献(References) [1] Jeff Croft,李方进.CSS实战精粹[M].北京:电子工业出版社, 2007. [2] 温谦.CSS彻底研究[M].北京:人民邮电出版社,2008. [3] 张晓晨.DIV+CSS网页布局商业案例精粹[M].北京:电子工业 出版社,2007. 作者简介: 孙小英(1973-),女,硕士,副教授.研究领域:计算机网络. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。