最新HTML5及CSS3web前端开发技术习题答案解析.doc
精品资料HTML5及CSS3web前端开发技术习题答案解析.HTML5及CSS3web前端开发技术习题答案解析第一章1简答题(1)在Web前端开发方面,HTML5与HTML4比较,主要解决哪几方面的问题?HTML5的核心在于解决当前Web开发中存在的各种问题。一是解决Web浏览器之间的兼容性问题。在一个浏览器上正常显示的网页(或运行的Web应用程序),很可能在另一个浏览器上不能显示或显示效果不一致;二是文档结构描述的问题。HTML4之前的各版本中,HTML文档的结构一般用div元素描述,文档元素的结构含义不够清晰;三是使用HTML+CSS+JavaScript开发Web应用程序时,开发功能受到很大的限制,比如本地数据存储功能、多线程访问、获取地理位置信息等,这些都影响了用户的体验。(2)HTML5新增的全局属性有哪几个?描述其主要功能。HTML5新增的全局属性,是指可以对任何元素都使用的属性。功能如下所示。属性描述HTML5新增accesskey规定访问元素的键盘快捷键class规定元素的类名(用于规定样式表中的类)。contenteditable规定是否允许用户编辑内容。是contextmenu规定元素的上下文菜单。是dir规定元素中内容的文本方向。draggable规定是否允许用户拖动元素。是dropzone规定当被拖动的项目/数据被拖放到元素中时会发生什么。是hidden规定该元素是无关的。被隐藏的元素不会显示。是id规定元素的唯一 ID。lang规定元素中内容的语言代码。spellcheck规定是否必须对元素进行拼写或语法检查。是style规定元素的行内样式。tabindex规定元素的 tab 键控制次序。title规定有关元素的额外信息。(3)HTML5是下一代Web语言的开发框架,典型特性有哪些?HTML5从标记语言的功能提升到下一代Web语言的开发框架,他集成了HTML+CSS3+JavaScript的Web应用框架。良好的语义特性。HTML5支持微数据与微格式,增加的各种元素赋予网页更好的意义和结构,适于构建对程序、对用户都更有价值的数据驱动的Web应用。HTML5增加了section元素、article元素、nav元素以及aside元素等结构元素。强大的绘图功能。通过使用Canvas API动态地绘制各种效果精美的图形,也可以通过SVG绘制可伸缩矢量图形。增强的音视频播放和控制功能。新增了audio和video 元素,可以不依赖任何插件而播放音频和视频。HTML5的数据存储和数据处理的功能。包括离线应用、Web通信、本地存储 等功能,HTML5还支持WebSQL和IndexedDB等轻量级数据库,增强了数据存储和数据检索能力。获取地理位置信息。HTML5新增了Geolocation API规范,应用于移动设备中的地理定位。提高页面响应的多线程。HTML5新增了Web Workers来实现多线程功能。通过Web Workers,将耗时较长的处理交给后台线程,降低Web服务的响应时间,有利于增强用户体验。方便用户处理文件和访问文件系统的文件文件API 。HTML5的文件API包括FileReader API和File SystemAPI。除了上面介绍的HTML5的特性之外,HTML5还有管理浏览器历史记录的History API。HTML5可以通过脚本语言在浏览器历史记录中添加项目,以及在不刷新页面的前提下显示地改变浏览器地址栏中的URL地址;而HTML5的拖放功能可以使用mousedown、mousemove、mouseup等方法来实现拖放操作。(4)HTML5文档结构的HTML4之前的文档结构有哪些变化?内容类型(ContentType) 。HTML5的文件扩展名与内容类型与之前的HTML版本相同。但. DOCTYPE声明 做了简化,该声明适用所有HTML。声明如下:<!DOCTYPE html> 在HTML5中,直接指定meta标记的charset属性可以设置字符编码,如下所示。<meta charset="utf-8">从HTML5开始,对于HTML文件的字符编码推荐使用UTF-8。操作题略。第二章1简答题(1)简述HTML文档的基本结构元素的功能。HTML文档的基本结构元素包括<html>、<head>、<body>等。<html>和</html>标记表示该文档是HTML文档。有时<html>标记可省略,因为.html或.htm文件被Web浏览器默认为是HTML文档。<head> 和</head>标记表示的是文档头部信息,一般包括标题和主题信息,该部分信息不会显示在页面正文中。一些CSS样式定义、JavaScript脚本也可以放到文档的头部。<body>和</body>标记是网页的主体信息,是显示在页面上的内容,各种网页元素,包括文字、表格和图片等信息都将放到这个标记内。如果为body元素设置CSS样式,还可以实现背景、边距、字体等样式的变化。(2)HTML5增加的article、section、nav、aside等结构元素功能。HTML 5增加了article、section、nav、aside、header、footer等布局元素,以实现更好的语义解释。但这些结构元素定义的是增强了语义的div块,是HTML页面按逻辑进行分割后的单位,并没有显示效果article元素代表文档、页面或应用程序中独立的、完整的、可以独自被外部引用的内容。 例如,一篇博客或报刊中的文章、一篇论坛帖子、一段用户评论或独立的插件等。section元素用于定义文档中的节。比如章节、页眉、页脚或文档中的其它部分。一般用于成节的内容,会在文档流中开始一个新的节。nav元素是一个可以用作页面导航的链接组,其中的导航元素链接到其他页面或当前页面的其他部分。aside标签用来承载非正文的内容,被视为页面里面一个单独的部分。它包含的内容与页面的主要内容是分开的,可以被删除,而不会影响到网页的内容、章节或是页面所要传达的信息。header元素是一种具有引导和导航作用的结构元素,通常用来放置整个页面或页面内的一个内容区域的标题,但也可以包括表格、logo图片等内容。footer元素一般作为其上层容器元素的脚注(3)HTML为什么要使用字符实体?列举出5个常用的字符实体名称。一些字符在 HTML 中拥有特殊的含义,比如小于号 (<) 用于定义 HTML 标记的开始。如果用户希望浏览器正确地显示这些字符,需要在 HTML 源码中插入字符实体。常见的字符实体如下。显示结果描述实体名称空格 <小于号<>大于号>&和号&"引号"'撇号 ' (IE不支持)§节§©版权©®注册商标®×乘号×÷除号÷操作题略。第三章1简答题(1)定义列表的标记有哪几种?各种列表标记之间都可以嵌套使用吗?HTML中的列表元素有3种形式有序列表、无序列表和自定义列表。有序列表由<ol></ol>标记对实现,在<ol></ol>标记之间使用成对的<li></li>标记添加列表项目。无序列表由成对的<ul></ul>标记对实现,<ul></ul>标记之间使用成对的<li></li>标记可添加列表项目。自定义列表以<dl>标记开始,自定义列表项目以<dt>开始,自定义列表的解释以<dd>开始。各种列表标记之间都可以嵌套使用,例如,自定义列表的一个嵌 套。<!DOCTYPE HTML><html><head><meta charset=utf-8><title>自定义列表示例</title></head><body> <dl> <dt>用户名<dd>618个字符,需以字母开头 <dl> <dt>first Name<dd>fdsdffddsfds <dt>last Name<dd>fdfdfdsdsssdf </dl></dt> <dt>密码<dd>616个字符,区分大小写 </dt> </dl></body></html>(2)在HTML文档中插入图像使用什么标记?该标记有哪些常用属性?分别实现什么功能?使用<img>标记插入图像,语法格式如下。<img src="url" title="description" />该标记含有多个属性,具体的属性及功能如表所示。其中,width属性、height属性、border属性、align属性已经不建议使用,而是通过CSS来描述。属性名说明src图像地址title添加图像的替代文字width/height设置图像宽度/高度border设置图像边框align设置图像对齐方式(3)绝对路径、相对路径和根路径的区别是什么?绝对路径指文件的完整路径,包括文件传输的协议HTTP、FTP等,一般用于网站的外部链接,相对路径是指相对于当前文件的路径,它包含了从当前文件指向目的文件的路径,适用于网站的内部链接。根路径的设置以“/”开头,后面紧跟文件路径,例如:/download/index.html。根路径的设置也适用于内部链接的建立,一般情况下不使用根路径。根路径必须在配置好的服务器环境中才能使用。(4)如何为网页添加超链接?定义超链接时如何指定打开链接文件的目标窗口?有几种目标窗口形式?在HTML文件中,使用标记<a>来定义超链接,具体链接对象通过标记中的href属性来设置。定义超链接的语法格式如下。<a href="url" target="target-windows" >链接标题</a>target属性指定用于打开链接的目标窗口,默认方式是原窗口,其属性值如表所示。属性值说明parent当前窗口的上级窗口,一般在框架中使用blank在新窗口中打开self在同一窗口中打开,和默认值一致top在浏览器的整个窗口中打开,忽略任何框架2操作题(1)使用无序列表标记<ul>和有序列表标记<ol>定义如图3-23所示的嵌套列表,链接文件可自定义或输入“#”。<html><head><title>嵌套列表示例</title></head><body>学生选课信息<ol><li>必修课</li><ul><li>公共必修课</li><ul><li><a href="#">计算机基础</a></li><li><a href="#">大学外语</a></li></ul><li>专业必修课</li></ul><li>选修课</li><ol type="a"><li>公共选修课</li><li>专业选修课</li></ol></ol></body></html>图3-23 嵌套列表效果(2)在网页中插入图像,并对图像做如下设置。图像宽为浏览器窗口的一半,高为浏览器窗口的1/4;图像边框宽5像素;替代文字为“图片欣赏”;图像显示在文字左侧。(3)使用表格及表格嵌套技术等,对网页做如图2-43所示的布局设计。 表格宽度为600像素; 可以先后插入4个2×2的表格,将每个表格第一行第一个单元格设置为跨2竖列,也可以根据图示,自定义表格结构; 标题单元格的背景颜色可自定义。 图3-24 表格示例第四章1简答题(1)表单中文本框和密码框在定义方法和实现效果上有什么区别?将<input>标记中的type属性值设置为text,就可以在表单中插入文本框。在此文本框中可以输入任何类型的数据,但输入的数据将以单行显示,不会换行。例如,使用<input>标记输入姓名的代码如下。姓名:<input name="username" type="text" maxlength="12" size="8" value="myname" />其中,name属性用于定义文本框的名称。maxlength和size属性用于指定文本框的宽度和允许用户输入最大的字符数,更多情况下,采用CSS设置。value指定文本框的默认值。将<input>标记中的type属性值设置为password,就可以在表单中插入密码框,涉及到各属性的含义与文本框相同。在此密码框中可以输入任何类型的数据,这些数据都将以实心圆点的形式显示,以保护密码的安全,例如:密码:<input name="pwd" type="password" maxlength="8" size="8" />(2)在表单中定义一组单选按钮和一组复选按钮在方法上有什么区别?复选框允许在一组选项中选择任意多个选项。将<input>标记中的type属性值设置为checkbox,就可以在表单中插入复选框。通过复选框,用户可以在网页中实现多项选择。例如,请选择:<input name="check1" type="check" value="football" checked />其中,value属性指定的复选框被选中是该控件的值,checked用来设置复选框默认被选中。单选按钮表示互相排斥的选项。在某单选按钮组(由两个或多个同名的按钮组成)中选择一个按钮时,就会取消对该组中其他所有按钮的选择。将<input>标记中的type属性值设置为radio,就可以在表单中插入一个单选按钮。在选中状态时,按钮中心会有一个实心圆点。(3)简述HTML5新增加的form属性、formmethod属性、placeholder属性、autocomplete属性的功能。在HTML5中,可以将表单元素写在页面上的任何位置,然后给该元素指定一个form属性,属性值为该表单的id(id是表单的惟一属性标识),通过这种方式声明该元素属于哪个具体的表单。HTML5中使用formmethod属性对每个表单元素分别指定不同的提交方法。placeholder是指当文本框<input type="text">处于未输入状态时文本框中显示的输入提示。例如:<input type="text" placeholder"default text" />autocomplete属性是辅助输入的自动完成功能,其值为“on”“off”与“”三类值。不指定时,使用浏览器的默认值(取决于各浏览器的设定)。该属性设置为on时,可以显式指定待输入的数据列表。如果使用datalist元素与list属性提供待输入的数据列表,自动完成时,可以将该 datalist元素中的数据作为待输入的数据在文本框中自动显示。(4)HTML5中input标记的type属性增加的类型包括number、range、date、time等,说明其功能。将input标记中的type属性设置为number,可以在表单中插入数值输入域,还可以限定输入数字的范围。将input标记中的type属性设置为range,可以在表单中插入表示数值范围的滑动条,还可以限定可接受数值的范围。只要将input标记中的type属性设置为date、time,可以完成网页中日期选择器的定义。2操作题制作如图4-11所示的表单。图4-11 表单示例<!DOCTYPE html ><html><head><title>2.操作题(4)-表单</title><meta http-equiv="Content-Type" content="text/html; charset=gbs2312"/></head><body><h2>考试报名表</h2><form name="form1" method="post" action=""> <p>用户名: <input type="text" name="textfield1"></p> <p>文理选择: <input type="radio" name="rad" value="rad1">文科<input type="radio" name="rad" value="rad2">理科<input type="radio" name="rad" value="rad3">综合 </p> <p>报考科目: <input name="check1" type="checkbox" value="shu"> 数学 <input name="check2" type="checkbox" value="yu"> 语文 <input name="check3" type="checkbox" value="wai"> 外语 <input name="check4" type="checkbox" value="wu"> 物理</p> <p><input name="check5" type="checkbox" value="hua"> 化学 <input name="check6" type="checkbox" value="sheng"> 生物 <input name="check7" type="checkbox" value="zheng"> 政治 <input name="check8" type="checkbox" value="li"> 历史 <input name="check9" type="checkbox" value="di"> 地理 </p> <p>报考级别: <select name="menu2" size="3"> <option value="1">A <option value="2">B <option value="3">C </select> </p> <p> <input name="sub" type="submit" value="提交"> <input name="reset" type="reset" value="重置"> <input name="sub" type="button" value="确定"> </p></form></body></html>第五章1简答题(1)HTML5中插入视频使用什么标记?描述其语法格式及含义、该标记的属性及功能。HTML5提供了视频内容的标准接口,规定使用<video>标记来描述和播放视频。<video>标记语法格式如下:<video src="url" controls="controls">替代文字</video>如果浏览器不支持url指定的video元素,将显示替代文字。<video>标记常用的属性及说明如表5-1所示。表5-1 <video>标记常用属性及说明属性值说明srcurl要播放视频的URLautoplayautoplay视频就绪后立刻播放controls controls添加播放、暂停和音量等控件width像素设置视频播放器的宽度height 像素设置视频播放器的高度looploop设置视频是否循环播放preloadauto/none/metadata视频在页面加载时开始加载,并预备播放startTime读取媒体的开始播放时间,通常为0currentTime读取或修改媒体的当前播放位置duration读取媒体总的播放时间volume01读取或修改媒体的播放音量mutedtrue/false读取或修改媒体的静音状态(2)简述video元素常用方法和事件(各列出3种即可)。video元素还有一系列重要的方法和事件。调用这些方法和事件可以访问和控制video对象。表5-3给出了部分video元素常用的方法和事件。表5-3 <video>标记常用方法和事件方法/事件功能play()播放媒体,paused属性的值自动修改为falsepause()暂停播放,paused属性的值自动修改为trueload() 重新载入媒体进行播放play事件执行play()方法时触发pause事件执行pause()方法时触发error事件获取媒体数据错误时触发timeupdate事件当前播放位置发生改变时触发durationchange事件播放时长被改变(3)简述track元素的功能和常用的属性。track元素可以为使用video元素播放的视频或使用audio元素播放的音频添加字幕、标题或章节等文字信息。track元素为视频添加字幕的过程和为音频添加字幕的过程是相同的。track元素是video元素的子元素,<track>标记必须被书写在 video元素的开始标记与结束标记之间。如果使用<source>标记描述媒体文件,则<track>标记必须被书写在<source>标记之后。track元素是一个空元素,其开始标记与结束标记之间不包含任何内容。表5-6给出了<track>标记的常用属性及说明。表5-6<track>标记的常用属性及说明属性说明src属性src属性用于指定字幕文件的存放路径,该属性是一个必须使用的属性。src属性的属性值可以是一个绝对URL路径,也可以是一个相对URL路径。srclang属性srclang属性用于指定字幕文件的语言。例如,srclang="en" 和srclang="zh-cn"分别表示字幕文件为英语和汉语。default属性default属性用于通知浏览器在用户没有选择使用其他字幕文件的时候可以使用当前 track文件kind属性kind属性用于指定字幕文件(即用于存放字幕、章节标题、说明文字或元数据的文件) 的种类。可以对kind属性指定的属性值为subtitles、captions、descriptions、chapters与metadata2操作题在网页中插入视频,并对视频做如下设置。 320像素宽,240像素高; 显示视频播放器控件; 循环播放; 首选播放OGG格式文件,其次分别为MP4格式和WEBM格式(此处需准备3种不同格式的文件); 若不支持video元素,则显示提示文字“请选用其他高版本浏览器尝试播放此视频”。<!DOCTYPE html><html><head> <meta charset="UTF-8"></head><body><video width="320" height="240" controls="controls" loop ="loop" ><source src="movie.ogg" type="video/ogg" /><source src="movie.mp4" type="video/mp4" /><source src="movie.webm" type="video/webm" />请选用其他高版本浏览器尝试播放此视频</video><br></body></html>(2)使用HTML5视频字幕制作工具创建 WebVTT文件,并通过track元素为一个视频文件添加字幕。创建的WebVTT文件文件如下:WEBVTT00:00.000 -> 00:31.844茫茫的天涯茫茫的路00:31.844 -> 00:36.047茫茫的草原碧蓝的天00:36.047 -> 00:39.807草原上有你我的爱恋00:39.807 -> 00:42.664爱你的心永在心田00:42.664 -> 00:46.449草原的姑娘洁白雪莲00:46.449 -> 00:50.462奔驰的骏马越过山涧00:50.462 -> 00:54.019清澈的河水映着你的脸00:54.019 -> 00:58.152就像晚霞惹人留恋00:58.152 -> 01:01.700你带我飞驰在草原01:01.700 -> 01:05.581我和你飞翔在蓝天01:05.581 -> 01:09.297你送我美丽的格桑花01:09.297 -> 01:12.896我送你幸福和祝愿01:12.896 -> 01:16.797你带我飞驰在草原01:16.797 -> 01:20.558我和你飞翔在蓝天01:20.558 -> 01:24.204你我的爱情在草原01:24.204 -> 01:27.965草原在你我的心田01:27.965 -> 01:47.375草原的姑娘洁白雪莲01:47.375 -> 01:50.627奔驰的骏马越过山涧01:50.627 -> 01:54.109清澈的河水映着你的脸01:54.109 -> 01:58.011就像晚霞惹人留恋01:58.011 -> 02:01.818你带我飞驰在草原02:01.818 -> 02:05.580我和你飞翔在蓝天02:05.580 -> 02:09.340你送我美丽的格桑花02:09.340 -> 02:13.080我送你幸福和祝愿02:13.080 -> 02:16.818你带我飞驰在草原02:16.818 -> 02:20.440我和你飞翔在蓝天02:20.440 -> 02:24.364你我的爱情在草原02:24.364 -> 02:28.010草原在你我的心田02:28.010 -> 02:31.793你带我飞驰在草原02:31.793 -> 02:37.715我和你飞翔在蓝天02:37.715 -> 02:41.198你送我美丽的格桑花02:41.198 -> 02:44.936我送你幸福和祝愿02:44.936 -> 02:48.791你带我飞驰在草原02:48.791 -> 02:52.459我和你飞翔在蓝天02:52.459 -> 02:56.221你我的爱情在草原02:56.221 -> 02:59.982草原在你我的心田引用的文件如下:<!DOCTYPE html><html><body > <video controls width="400" height="300"> <source src="images/caoyuan.mp4" type="video/mp4"> <track src="geci.vtt" srclang="zh" kind="subtitles" label="中文" default> <track src="geci.vtt" srclang="en" kind="subtitles" label="English"></video></body></html>第六章1简答题(1)使用Canvas API绘图时,直线有几种线帽形态?lineCap属性有哪些取值?分别表示什么含义?lineCap用于设置或返回线帽(线条的结束端点)样式,可以有以下三种取值。butt:默认属性值,不为直线添加端点round:为直线添加圆形端点square:为直线添加正方形端点(2)Canvas使用什么方法在网页中绘制圆形?其中需要几个参数?每个参数的含义是什么?Canvas API 使用绘制图形路径来绘制圆形。绘制图形路径时,需要使用绘图上下文对象ctx的arc()方法。该方法的定义如下。ctx.arc(x,y,radius,startAngle,endAngle,anticlockwise)其中,x、y分别为绘制圆形的圆心横坐标和纵坐标,radius为圆形半径,startAngle为开始角度,endAngle为结束角度,anticlockwise为是否按逆时针方向进行绘制。arc()方法通过指定开始角度与结束角度,除了可以用来绘制圆形,还可以绘制圆弧,这两个角度就决定了绘制的弧度。anticlockwise为布尔值参数,参数值为true时,按逆时针绘制;参数值为false时,则按顺时针绘制。(3)路径创建完成后,为什么要使用图形上下文对象的closePath()方法关闭路径?路径创建完成后,使用绘图上下文对象的closePath()方法关闭路径。如果绘制路径时未使用closePath()方法,则绘制出的是没有封闭的路径,除非使用beginPathj()开始新的路径绘制。(4)Canvas定义颜色值有哪几种方法?Canvas绘图时,绘图上下文的fillStyle属性与strokeStyle属性用来指定填充的颜色或边框的颜色,颜色定义方法与CSS中颜色定义方法基本相同。下面是定义颜色的各种方法。· 颜色名:直接使用颜色的英文名称作为属性值,例如,blue表示蓝色。· #rrggbb:用一个6位的十六进制数表示颜色,例如,#0000FF表示蓝色。· #rgb:是#rrggbb的一种简写方式,例如,#0000FF可以表示为#00F,#00FFDD表示为#0FD。· rgb(rrr,ggg,bbb):使用十进制数表示颜色的红、绿、蓝分量,其中,rrr、ggg、bbb都是0255的十进制整数。例如,rgb(0,0,0)代表黑色。· rgb(rrr%,ggg%,bbb%):使用百分比表示颜色的红、绿、蓝分量,例如,rgb(50%,50%,50%)表示rgb(128,128,128)。· rgba(rrr,ggg,bbb,alpha):使用十进制数表示颜色的红、绿、蓝分量,alpha表示颜色的透明度,例如rgba(0,128,0,0.5)表示半透明的绿色。2操作题(1)绘制如图6-28所示星空的效果,其中黑色矩形宽800像素、高400像素,在矩形范围内绘制200颗大小、位置、角度随机的黄色五角星。图6-28 星空的效果<!DOCTYPE html><html><head> <title>5star</title> <script type="text/javascript"> function draw() var canvas=document.getElementById("canvas"); var context=canvas.getContext("2d"); context.fillStyle="black" context.fillRect(0,0,canvas.width,canvas.height); for(var i=0;i<200;i+) var r=Math.random()*10+10; var x=Math.random()*canvas.width; var y=Math.random()*canvas.height; var a=Math.random()*360; drawStar(context,x,y,r,r/2.3,a) function drawStar(cxt,x,y,r,R,rot) cxt.beginPath(); for(var i=0;i<5;i+) cxt.lineTo(Math.cos(18+i*72-rot)/180*Math.PI)*R+x,-Math.sin(18+i*72-rot)/180*Math.PI)*R+y); cxt.lineTo(Math.cos(54+i*72-rot)/180*Math.PI)*r+x,-Math.sin(54+i*72-rot)/180*Math.PI)*r+y); cxt.fillStyle="yellow" cxt.closePath(); cxt.fill(); </script></head><body onload="draw()"><canvas id="canvas" width="800" height="400"> 你的浏览器不支持Canvas</canvas></body></html>(2)在页面中绘制如图6-29所示的四种不同渐变色的矩形。图6-29 不同渐变色的四个矩形<!DOCTYPE html><html><head> <title>Gradient: Linear</title> <script type="text/javascript"> function draw() var ctx = document.getElementById('canvas').getContext('2d'); / 创建渐变对象 var lingrad = ctx.createLinearGradient(0,0,150,150); lingrad.addColorStop(0, '#00ABEB'); ling