实训5DIV+CSS布局规划 实训目标 (1) 熟悉常见网页布局结构类型。 (2) 能够对主流商业网站布局结构进行分析。 (3) 综合运用DIV+CSS对小型网站页面进行布局规划、编写代码实现布局效果。 实训内容 (1) 使用CSS对DIV进行样式定义,实现图层定位与布局。 (2) 使用CSS的float属性来实现图层中多个子图层的水平排列。 (3) 使用DIV+CSS完成常见的页面布局代码设计。 (4) 综合运用DIV+CSS技术模拟真实网站进行网页仿真设计。 实训项目 (1) DIV+CSS页面布局设计。 (2) 设计“Web前端开发技术课程网站”页面。 项目16DIV+CSS页面布局设计 1. 实训要求 (1) 固定型页面布局设计。用DIV、CSS实现如图51所示的布局效果。 (2) 用DIV+CSS完成如图52所示的页面布局效果。 (3) 弹性页面布局设计。所谓“弹性”是指宽度与高度的单位为百分比,而不是具体的数值。用DIV+CSS完成如图53所示的页面布局设计。 2. 实训内容 (1) DIV创建与DIV嵌套。 (2) DIV属性的设置与应用。 (3) DIV样式引用方法。 (4) 外部样式表的定义与引用。 图51DIV+CSS固定型页面布局之一 图52DIV+CSS固定型页面布局之二 图53DIV+CSS弹性页面布局 3. 实训所需知识点 (1) 图层div标记。 <div style="position: absolute;left:10px;top:10px;width:100px;height:100px; background: red;"> </div> (2) 链接link标记。 <link type="text/css" rel="stylesheet" href="外部样式表文件名称" /> 图54页面DIV结构 (3) 样式style标记。 <style type= " "> @import url("外部样式表文件名称"); </style> 4. 页面结构分析 网站首页一般采用DIV+CSS结构进行布局,页面DIV结构如图54所示。 (1) HTML代码中的DIV结构规划。 <div id="webpage"><!--页面层容器--> <div id="head"> </div><!--页面头部--> <div id="mainbody"> <!--页面主体--> <div id="sidebar"> <!--侧边栏--> </div> <div id="main"> <!--主体内容--> </div> </div> <div id="footer"> <!--页面底部--> </div> </div> (2) 编写外部样式表css.css。 /* css.css*/ /*基本信息*/ body{font:12px Tahoma; margin:0px; text-align:center; background:#FFFFFF;} /*页面样式*/ #webpage{width:100%;} /*页面头部样式*/ #head {width:800px;margin:0 auto;height:100px;background:#FFCC99;} /*页面主体样式*/ #mainbody{width:100%; margin:8px auto;} #sidebar{background:#99CC33; width:25%; text-align:left; float:left; overflow:hidden;} #main{background:#66FF66; width:75%; text-align:left; float:right; overflow:hidden;} #footer{margin:0 auto; width:800px; height:50px;background:#00FFFF; clear:both;} (3) 链接外部样式表。 <link href="css.css" rel="stylesheet" type="text/css" /> 5. 实训过程与指导 编程分别实现图51~图53所示的布局效果。以图51为例,具体步骤如下: (1) 文档结构的创建。 ① 启动程序,创建HTML文档。启动VS Code或HBuilder X软件,新建HTML网页,在首行插入注释语句,注明程序名称为prj_5_1_1.html。格式如下: <!-- prj_5_1_1.html --> ② 保存文件。输入文件名为prj_5_1_1.html,然后保存文件。 (2) 页面内容设计。 参照图51所示的页面结构分析,分别在body标记中插入8个div,并在div中插入相关提示信息。 ① 在body标记中插入父div,设置id为container。 ② 在父div中插入子div,设置id为header,内容为“这是头部信息区”。 ③ 在父div中插入子div,设置id为nav,内容为“这是导航信息区”。 ④ 在父div中插入子div,设置id为maincontent,内容中包含两个子div,两个子div的id分别为main、side,内容分别为“这是主体信息区”“这是右侧信息区”。 ⑤ 在父div中插入子div,设置class为clearfloat,内容为空,用于清除图层浮动。 ⑥ 在父div中插入子div,设置id为footer,内容为“这是版权信息区”。 (3) 表现设计。 ① 在head标记中插入link标记,链接外部样式表,格式如下: <link href="pro51/layout_1.css" rel="stylesheet" type="text/css"/> ② 创建外部样式文件layout_1.css。 ③ 在layout_1.css文件中分别定义全局样式及各div样式。具体样式定义描述如下: 全局样式定义为边界上下0px、左右自动、字体特粗、大小28px、行高1.5em。 #container样式为宽度900px、边界上下0px、左右自动。 #header样式为高度70px、背景颜色#CCFFCC、底边界8px。 #nav样式为高度40px、背景颜色#CCFFCC、底边界8px。 #maincontent样式为底边界8px。 #main样式为图层向左浮动、宽度664px、高度400px、背景颜色#FFFF99。 #sidebar样式为图层向右浮动、宽度228px、高度400px、背景颜色#FFCC99。 .clearfloat样式为清除图层左、右浮动。 #footer样式为高度70px、背景颜色#CCFFCC、顶边框粗细8px、线型实线、白色。 (4) 保存并查看网页。 完成设计后通过浏览器观看页面效果,如图51所示。 根据图52和图53所示的页面效果设计HTML代码的DIV结构,在body标记中插入相应的div,分别在不同的图层中插入相关提示信息,根据页面布局效果,参照layout_1.css格式编写外部样式文件layout_2.css、layout_3.css。格式如下: /*pro51/layout_2.css*/ *{font-weight:bolder;font-size:28px; margin:0;} #container{margin:0 auto; width:900px;} #header{height:100px; background:#6CF;margin-bottom:5px;} #maincontent{margin-bottom:5px;} #sidebar{float:left;width:200px;height:500px;background:#9FF;} #content{float:right;width:695px;height:500px;background:#CFF;} /*pro51/layout_3.css*/ *{padding:0px;margin:0 auto;font-weight:bolder;font-size:24px;} #container{width:100%;} #header{height:100px;background:#99CC66;margin-bottom:5px;} #menu {height:30px;background:#669933;margin-bottom:5px;} #maincontent{margin-bottom:5px;height:350px;} #sidebar{float:left; height:350px;background:#CCFF99;} #content{margin-left:205px ;height:350px; background:#FFFFAA;} #footer{height:60px; background:#99CC66;} .clearfloat{clear:both;} span{padding: 0 10px;} 项目17设计“Web前端开发技术课程网站”页面 1. 实训要求 (1) 运用DIV+CSS进行页面布局,参照图55和图56所示的页面效果设计“Web前端开发技术课程网站”页面。 图55“Web前端开发技术课程网站”首页 图56在一级导航菜单上盘旋时的二级导航菜单效果页面 (2) 学会使用多种样式表分别对页面中的文字、段落、图像等元素进行样式定义。 (3) 学会创建DIV、设置DIV的属性。 (4) 学会编写外部样式表文件,并链接到HTML文档中。 2. 实训内容 (1) 使用DIV+CSS布局完成“Web前端开发技术课程网站”的页面布局。 (2) 设计网站首页和二级导航菜单。 (3) 定义图层和嵌套图层。 (4) 定义并引用内部样式表、外部样式表。 3. 实训所需知识点 (1) 图层div标记。 <div id="div1" class=" div2"> … </div> (2) 链接link标记。 <link type="text/css" rel="stylesheet" href="pro52/link-5-2.css"/> (3) 样式style标记。 <style type="text/css"> @import url("pro52/link-5-2.css"); #nav{background:#209060;width:100%;line-height:40px;color: white;} </style> (4) 无序列表ul标记(显示两层菜单)。 <ul> <li>首页</li> <li onmouseover="changeHeight()" onmouseout="returnHeight()"> <a href="#">HTML基础<span class="rotate"> </span></a> <div class="submenu"> <ul> <li><a href="">文本、段落与列表</a></li> <li><a href="">超链接与浮动框架</a></li> <li><a href="">图像与多媒体文件</a></li> <li><a href="">表格与表单</a></li> </ul> </div> </li> </ul> (5) 脚本script标记。 <script type="text/javascript"> function changeHeight() { // $("nav").style.height='154px'; $("header").style.height='455px'; } </script> (6) 其他常用标记。 <h1>网络教学平台</h1> <h3>课程资源</h3> <hr color="#BC0000"> <p>Web前端开发技术联盟,Copyright ©2020—2025 版权所有。</p> 图57“Web前端开发技术课程网站” 的页面布局结构 4. 页面设计要求 页面布局结构如图57所示,将页面分成header(bdlink、nav)、main(title、left、right)、footer等区域。 5. 实训过程与指导 编程实现“Web前端开发技术课程网站”的首页,具体步骤如下: (1) 文档结构的创建。 ① 启动程序,创建HTML文档。启动编辑器软件,新建HTML网页,在首行插入注释语句,注明程序名称为prj_5_2.html。格式如下: <!-- prj_5_2.html --> ② 保存文件。输入文件名为prj_5_2.html,然后保存文件。 (2) 页面内容设计。 ① 页面布局规划。根据图57在body标记中插入相关div,形成DIV嵌套结构。代码如下: <div id="container"> <div id="header"> <div class="bd-link"></div> <div id="nav"> <div class="navmenu"></div> </div> </div> <div class="main"> <div id="title"></div> <div id="left"></div> <div id="right"></div> </div> <div id="footer"></div> </div> ② 在id为nav的div标记中插入class为navmenu的div,在其中插入无序列表,设计一级导航菜单。代码如下: <div id="nav" class=""> <ul> <li><a href="#">首页</a></li> <li onmouseover="changeHeight()" onmouseout="returnHeight()"> <a href="#">HTML基础<span class="rotate"> </span></a> div class="submenu"> <ul> <li><a href="">文本、段落与列表</a></li> <li><a href="">超链接与浮动框架</a></li> <li><a href="">图像与多媒体文件</a></li> <li><a href="">表格与表单</a></li> </ul> </div> </li> <li>…</li> <!--其余导航菜单与第2个子菜单结构类似--> </ul> </div> 一级导航菜单为“首页”“HTML基础”“CSS”“JavaScript”“HTML5&CSS3基础”“HTML5高级应用”。二级导航菜单分别如下。 HTML基础: “文本、段落与列表”“超链接与浮动框架”“图像与多媒体文件”“表格与表单”。 CSS: “CSS基础”“DIV+SPAN”“CSS样式属性”“DIV+CSS页面布局”。 JavaScript: “JavaScript基础”“事件分析”“DOM与BOM”。 HTML5&CSS3基础: “HTML5基础”“CSS3转换”“CSS3过渡”“CSS3动画”。 HTML5高级应用: “Web Storage”“Canvas”“Web Worker”。 注意: 除第一个“首页”导航菜单外,其余的导航菜单均有二级导航菜单,并且在li标记上需要增加onmouseover、onmouseout等事件属性,绑定事件处理函数分别为changeHeight()、returnHeight(),完成当鼠标指针在一级导航菜单上盘旋时能够改变id为header的div的高度,从而实现菜单拉伸的动态效果。 ③ 在class为main的div标记中插入3个div,其id分别为title、left、right。 在id为title的div中插入h1标记。内容如下: <a href="#"> 《Web前端开发技术》 教材获中国大学出版社图书奖优秀教材奖</a> 在id为left的div中插入img标记。内容如下: <img src="pro52/book3.jpg" width="600px" height="350px"> 在id为right的div中插入两个h3和两个ul标记。内容如下: <h3> 网络教学平台 </h3> <ul> <li><a href="http://i.mooc.chaoxing.com"> <span class="red"></span>泛雅平台</a></li> <li><a href="https://www.xueyinonline.com/"> <span class="red"></span>学银在线</a></li> <li><a href="https://www.wqketang.com/"> <span class="red"></span>文泉课堂</a></li> </ul> <h3>课程资源</h3> <ul id="source"> <li><a href="#"><span class="red"></span>新形态教材</a></li> <li><a href="#"><span class="red"></span>教学大纲</a></li> <li><a href="#"><span class="red"></span>教学PPT</a></li> <li><a href="#"><span class="red"></span>教学视频</a></li> <li><a href="#"><span class="red"></span>实训视频</a></li> <li><a href="#"><span class="red"></span>习题与答案</a></li> <li><a href="#"><span class="red"></span>试卷库</a></li> <li><a href="#"><span class="red"></span>习题作业库</a></li> </ul> ④ 在id为footer的div标记中插入hr、p标记。内容如下: <hr color="#BC0000"> <p>Web前端开发技术联盟,Copyright ©2020—2025 版权所有。</p> ⑤ 完成上述操作后,整个页面的内容信息添加完毕。保存页面,并在浏览器中查看网页,效果如图58所示。 图58“Web前端开发技术课程网站”首页(未应用样式) (3) 表现设计。 在style标记中分别定义相关标记的样式,其样式要求如下。 ① 定义全局声明*样式。*样式为填充、边界均为0。 ② 定义最外层div样式。#container样式为边界上下0、左右自动、宽度100%。 ③ 定义a标记中span标记的样式。样式为字体大小22px、有填充(上下0、左右5px)。 ④ 定义ul中的a: link、a: visited、a: active样式。a: link、a: visited、a: active样式为颜色为白色、字符装饰为无。 ⑤ 定义class为main的div样式。.main样式为宽度1200px、高度410px、有填充(上下20px、左右自动)、有边界(上下0、左右自动)、文本居中对齐。 ⑥ 定义id为title的div样式。#title样式为宽度100%、高度60px、文本居中对齐。定义其中的h1标记样式为颜色#8B0000、字体黑体、大小28px、顶部填充16px。定义h1标记中a: visited、a: link、a: active的样式为颜色#8B0000、字符装饰为无。定义a: hover样式为颜色#8B0000、字符装饰为下画线。 ⑦ 定义id为left和right的div样式。样式为行内块显示方式、宽度560px、高度350px、向左浮动、文本居中对齐、填充10px。 ⑧ 定义id为right的div中的ul li a标记样式。样式为字符装饰无、颜色黑色、字体大小22px、填充5px、左右浮动、宽度150px。定义其中的a: hover样式为背景颜色#F1F2F3。 ⑨ 定义id为right的div中的ul标记样式。样式为文本居左对齐、左填充50px、列表样式类型无。 ⑩ 定义h3标记样式。样式为清除左右浮动、高度60px、字体大小28px、顶部填充15px、颜色红色。 定义class为red的span标记样式。样式为颜色红色、字体大小24px。 定义id为source的ul标记样式。样式为行内块显示方式、文本居中对齐。定义其中的li标记样式为背景颜色#006E38、行内块显示方式。 定义id为footer的div样式。样式为宽度100%、有边界(上下0、左右自动)、清除左右浮动、文本居中对齐、字体大小20px、行高40px。 (4) 保存并查看网页。 完成设计后通过浏览器查看页面效果,如图55所示。 课外拓展训练5 1. 采用DIV+CSS设计页面布局,效果如图59所示。要求如下: (1) 采用内部样式表,分别定义不同div样式。 定义全局样式为字体标粗、大小16px、填充和边界上下均为0、左右自动。 #container样式为宽度100%、填充上下0、左右自动、边界上下0、左右自动。 #header样式为宽度100%、高度70px、背景颜色#BEBEBE。在div中插入img标记,设置src为wktz51/w3school.png、高度为100%、宽度为100%。 #nav样式为宽度100%、高度32px、背景颜色#FBFBFB。在导航中无序列表无符号、水平居中显示,列表项为行内元素、填充上下5px、左右15px。 #mainbody样式为宽度100%、高度300px、填充上下0、左右自动、边界上下0、左右自动。 #left样式为图层向左浮动、背景颜色#EFEFEF、宽度15%、高度300px。其中无序列表为无符号的列表,边界为20px。 #middle样式为边界上下0、左右15%、高度300px、首行缩进两个字符。 #right样式为图层向右浮动、背景颜色#EFEFEF、宽度15%、高度300px。 #footer样式为宽度100%、高度50px、背景颜色#B6B6B6、内容水平居中显示、填充10px。 #clearfloat样式为清除图层左右浮动。 图59“简易W3School教程网站”页面 (2) 程序名称为project_5_1.html。 附: 文字内容如下。 导航菜单:HTML/CSS、JavaScript、Server Side、ASP.NET、XML、Web Services、Web。 左侧导航菜单:HTML、XHTML、HTML5、CSS、CSS3、TCP/IP。 右侧导航菜单:参考手册、HTML/HTML5、标签、CSS 1,2,3、HTML颜色、HTML ASCII、HTML Latin-1、 HTML 符号。 中间图层内容: HTML 系列教程 从左侧的菜单选择你需要的教程! HTML HTML 指超文本标签语言。 HTML 是通向 Web 技术世界的钥匙。 在 W3School 的 HTML 教程中,您将学习如何使用 HTML 来创建站点。 HTML 非常容易学习!你会喜欢它的!现在开始学习 HTML ! HTML5 HTML5 是下一代的 HTML。 HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。 在 W3School 的 HTML5 教程中,您将了解 HTML5 中的新特性。 现在就开始学习 HTML5 ! 2. 设计“HTML5简介”页面,效果如图510所示。要求如下: 图510“HTML5简介”页面 (1) 页面标题为“HTML5简介”。 (2) 网页内容标题: 以h2标题字标记分别显示“HTML5 是如何起步的?”“为 HTML5 建立的一些规则:”,h2标记样式为字体加粗、颜色白色、背景#006633、填充10px。 (3) 在第1个标题下每行一个段落,默认大小和字体; 但“编者注:”的样式为“加粗、斜体”; 所有段落向右缩进两个字符、行高1.5倍。 (4) 在第2个标题下是一个无序列表,采用默认格式显示,但无序列表也向右缩进两个字符、行高1.5倍。 (5) 所有内容放在图层中,图层div的样式为上下填充20px、左右填充10px。 (6) 程序名称为project_5_2.html。 附: 文字内容如下。 HTML5 是如何起步的? HTML5 是 W3C 与 WHATWG 合作的结果。 编者注: W3C 指 World Wide Web Consortium,万维网联盟。 编者注: WHATWG 指 Web HyperText Application Technology Working Group。 WHATWG 致力于 Web 表单和应用程序,而 W3C 专注于 XHTML 2.0。在 2006 年,双方决定进行合作,来创建一个新版本的 HTML。 为 HTML5 建立的一些规则: 新特性应该基于 HTML、CSS、DOM 以及 JavaScript。 减少对外部插件的需求(比如 Flash)。 更优秀的错误处理。 更多取代脚本的标记。 HTML5 应该独立于设备。 开发进程应对公众透明。