好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

前端开发面试题(一)_html/css_WEB-ITnose

前一段时间应聘了一家公司,由于面试前完全没有做准备,面试过程中被问到了一些基础的前端开发问题我没答出来,对方认为"和我们期望的水平还有一定差距"为由拒绝我。

刚好我在github看到一篇很全的前端开发面试题目,所以就尝试自己整理一份答案出来。这篇文章的初衷是希望能够和大家互相讨论交流一下,如果我有错误的地方十分欢迎指出来。

PS: 我不认为单纯通过做题能够成为一名优秀的开发者,但是如果因为没有准备充足错失去机会是一件更糟糕的事(有这种经验的人会认同我的)。

CSS相关问题

1. class和id的区别

如果元素具有唯一性,就考虑使用id;如果元素会多次出现,就是用class。值得注意的是,id的优先级比class高。

"CSS doesn't care,But Javascript care"

如果id和class用的不恰当,在JavaScript中就会遇到问题。例如getElementById返回一个对象,而getElementByClassName就会返回一个数组。

2. 描述下"reset"CSS文件的作用和使用它的好处

每个浏览器对于不同元素的css样式的默认值是不一样的,使用reset可以统一css样式。
常见的reset方法有:

* {	margin: 0;	padding: 0;} 

期待能够指出它的负面影响,或者提到它的一个替代者normalize

使用reset方法会有个很大弊端,因为它清除了所有元素的margin和padding。实际上,对于某些元素保留一定的padding和margin是有好处的。

normalize是一个比较理想的解决方案。它统一了css的默认样式,同时对相应的元素初始化了默认值。一些比较流行的库例如bootstrap已经事先引入了normalize。

3. 解释一下浮动和它的工作原理

浮动的工作原理:
如果对一个元素设置浮动,它就会脱离文本流直到碰到框的最左或者最右,普通流的其他元素会取代它原本的位置。 
值得注意的是,如果框太窄不足容纳多个浮动元素,多出来的浮动的元素会出现在下一行;如果先前的元素高出其他浮动元素,可能导致下一行的浮动元素被"卡住",接触不到下一行的边框。

4. 描述z-index和叠加上下文是如何形成的

z-index属性设置元素的堆叠顺序,数值越大的越靠前。注意,z-index的值可以是负数,并且只在元素设置定位(比如position:absolute)才可形成。

点击查看CodePen示例

顺便加一句,firefox为web开发者增添了3D视图的功能。pretty neat, huh?

5. 列举不同的清除浮动的技巧,并指出它们各自适应的场景

元素溢出
浮动会出现一个问题,由于浮动的元素脱离了文本流,如果框的高度不足以包含浮动元素,浮动的元素就会"溢出"。 
清除浮动元素溢出的方法 设置空标签:

在框内设置一个空标签

查看更多关于前端开发面试题(一)_html/css_WEB-ITnose的详细内容...

  阅读:39次