2014年web面试关键试题与解答

需积分: 15 7 下载量 183 浏览量 更新于2024-09-12 5 收藏 23KB DOCX 举报
"这是一份2014年的web面试试题集,包含了关于CSS、HTML、浏览器兼容性等前端开发的常见面试问题及其答案。" 在这份web面试试题集中,我们可以看到一些关键的前端开发知识点: 1. **CSS中margin和padding的区别** - **Margin** 是外边距,它位于元素的边界之外,用于控制元素与相邻元素之间的空间。在某些情况下,相邻元素的margin可以发生重叠或“融合”,这是一种称为“margin collapsing”的现象。 - **Padding** 是内边距,位于元素内容和边框之间,它不会影响其他元素的位置。元素的padding是不会融合的,它保持在元素自身的边界之内。 2. **块级元素和行内元素的区别** - **块级元素** 占据整个行,即使内容很少,它们也会在新的一行开始。常见的块级元素包括`div`、`h1`、`p`、`ul`、`ol`等。 - **行内元素** 不会自动换行,它们只占据自身内容的宽度。例如`a`、`span`、`em`、`img`等是行内元素。行内元素可以并排显示,直到其所在行的空间用尽。 3. **CSS Hack** CSS Hack是为了应对不同浏览器对CSS解析的差异而采取的技巧。例如,`_color:red;` 是针对IE6的私有属性,`*color:red;` 是为IE6和IE7设计的,`color:red\9;` 是为了兼容IE6到IE8,而`color:red\0;` 主要是为了IE8。 4. **IE6的常见BUG及其解决方法** - **双边距BUG**:可以通过设置`display:inline`来解决。 - **3像素问题**:使用`float`引起的,可以通过`display:inline`或负边距修正。 - **超链接hover点击后失效**:需要遵循`link visited hover active`的顺序来写样式。 - **ie z-index问题**:给父级添加`position:relative`可以修复。 - **PNG透明**:可以使用JavaScript库如`DD_belatedPNG`来处理。 - **min-height**:使用`!important`解决IE6的支持问题。 - **select遮盖**:使用`iframe`进行嵌套。 - **1px宽度容器问题**:由于IE6的默认行高,可调整`line-height`和使用`overflow:hidden`。 5. **CSS引入方式与link和@import的区别** - **CSS引入方式** 包括:内联样式(直接在HTML元素中使用`style`属性),内嵌样式(在`<head>`中使用`<style>`标签),外链样式(使用`<link>`标签引用外部CSS文件)和导入样式(使用`@import`规则在CSS文件内部导入其他CSS文件)。 - **link和@import的区别**:`link`标签引入的CSS样式与HTML文档同步加载,没有兼容性问题;而`@import`在CSS2.1以下的浏览器可能不被支持,且样式会在HTML文档解析完成后加载,可能会导致页面闪烁。 这些面试题目涵盖了前端开发中的基础概念、浏览器兼容性问题以及解决方法,对于准备web开发面试或提升个人技能非常有帮助。在实际工作中,理解并熟练应用这些知识点能有效提高代码质量和用户体验。