“网页重构”试题解答(上)

昨天转载了 一份“网页重构”试题 今天我就试题里面的内容进行一下简单的解答和点评,之所以叫“网页重构”而不是通常我们提到的“网站重构”说明该试题考察的知识面并不宽泛,如果这份试题真是某公司的面试问卷的话,可以看出该公司工作分工之详细。废话就不多说了,以下是我自己的一些解答和简单点评,如有网友对于一些问题的答案持不同意见可在后面留言……

填空

1、为 div 设置类 a 与 b 应编写 HTML 代码?

我们知道 Class 与 ID 的一个重要区别就是:一个 HTML 节点标签可以有多个 Class 却只能有一个 ID 属性,而且该 ID 属性应在当前页面唯一(点击这里查看具体区别)而为一个 HTML 节点标签添加多个 Class 只需要使用空格分隔即可,即: <div class=”a b” /> (属性值 a 和 b 之间使用空格隔开)

2、设置 CSS 属性 clear 的值为什么时可清除左右两边浮动?

这里暂时给出答案为“both”具体原因将在 CSS 系列教程中体现。

3、什么标签必须直接嵌套于 ul ol 中?

这个比较简单 “li” 作为列表条目标签必须嵌套于 无序列表 ul 或者 有序列表 ol 中,类似的还有 head 和 body 必须在 html 标签内等等。

4、CSS 哪个属性可为元素设置外补丁?

看到这个“外补丁”的时候我还纳闷什么叫“外补丁”结果查了一下,其实就是我们通常所说的“边界”即“margin”属性;类似的还有“内补丁”即“填充 padding”等等。

5、设置 CSS 属性 float 的值为什么时可取消元素的浮动?

在 CSS 里通常要取消某个属性值时可尝试设置为“none”即:float:none; 类似的还有如:list-style background-image 等等,但不是所有的属性都可以使用 none 来取消设置的。

6、文字居中的 CSS 代码是什么?

要使一个节点标签内的文字居中可设置该节点标签的 CSS 代码为:text-align:center; 例如:h1{ text-align:center; } 可将所有 h1 标签内的文本居中,需要注意的是该属性具有继承性。

选择:

1、哪个样式定义后,可为内联(非块状)元素定义宽度和高度?

因为只有“块”元素才可以定义高度和宽度,所以对于“内联”元素如果要定义宽度和高度则需要设置“块”显示方式即:display:block; 其实在目前的主流浏览器及  IE8 都已经支持更多的 display 属性如:display:table; 等等;

2、最合理的定义标题的方法?

对于标题标签的使用,考虑“语义”及“搜索引擎”甚至是一些没有开启“CSS”渲染的浏览器来说 h1 – h6 无疑是最好的选择。

3、标签 br 在 XHTML 中的语义是什么?

在 XHTML 中 br 标签用来强制截断文本换行,需要注意的是 br 标签在使用时需要书写完整即:<br /> 如果缺少结束斜杠的话将不能通过 W3C 校验。

4、强制不换行必须设置什么?

由于英文使用空格分隔每个单词,而中文通常在正文中没有空格就造成了 CSS 在调整文本流输出的时候会出现兼容性问题,我们通常需要设置:white-space:nowrap; 来强制不换行;或者用于 IE 的连续英文数字设置:word-break:break-all; 来强制换行(该属性不被其他浏览器支持);

5、在使用 table 表现数据时,有时候表现出来的会比自己实际设置的宽度要宽,为此需要设置下面哪些属性值?

其实不仅是 table 包括 body 在内的一些元素标签,各个浏览器都为其设置了一些默认的属性如 填充 或 边界;对于 table 我们需要设置:cellspacing=”0″ cellpadding=”0″ 即“单元格间距”和“单元格边距”两个属性;对于整个页面的四周空白可设置 body 的 padding:0; 即可。

判断:

1、其中 CSS 属性 font-style 用于设置字体的粗细。(错误)用于设置字体粗细为:font-weight 属性。

2、其中 CSS 属性 overflow 用于设置元素超过宽度时是否隐藏或显示滚动条。(正确)另外 IE 支持更高级的 overflow-x 及 overflow-y 等属性。

3、在不涉及样式情况下,页面元素的优先显示与结构摆放顺序无关。(错误)

4、在不涉及样式情况下,页面元素的优先显示与标签选用无关。(正确)由于浏览器在下载页面的时候是以文档流的模式进行下载渲染,所以写在摆放在文档前面的元素将较早下载,至于使用什么标签是与下载无关的。

5、属性 display:inline; 兼容所有的浏览器。(正确)属性 display:inline; 是 CSS1 标准里的属性,自 IE4 开始向上兼容所有主流浏览器。

6、元素 input 属于窗体元素,层级显示比 flash 其它元素都高。(错误)元素 select 是窗体元素。

剩下的试题解答请访问:/blog/1007.html 里面给出了其余的题目解答及最后一道题的 DEMO 演示,个人感觉最后一道题目没有倒数第二道题目刁钻。