1.css的选择器有哪些?
a.内联(style=“”)
b.id选择器(id=“”)
c.类/伪类/属性选择器(class,first-child,nth-child等)
d.元素/为元素选择器(p,span等)
2. 清除浮动的方法有哪些
a、使用空标签清除浮动。
b、使用overflow属性。 此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可!“zoom:1″用于兼容IE6。
c、使用after伪对象清除浮动。 该方法只适用于非IE浏览器 。
3:position有哪些?
a.绝对定位absolute
b.相对定义relative
c.静态static
d.固定fixed;
4:absolute和relative是相对于什么来定位?
a.absolute是相对于父级来定位
b.relative是相对于元素本身来定位。
5:块级元素和行内元素的区别?如何把行内元素设置他的width和height?
a.块级元素:总是在新行上开始,占据一整行;高度,行高以及外边距和内边距都可控制;宽带始终是与浏览器宽度一样,与内容无关;它可以容纳内联元素和其他块元素。
b.行级元素和其他元素都在一行上;高,行高及外边距和内边距部分可改变;宽度只与内容有关;行内元素只能容纳文本或者其他行内元素。不可以设置宽高,其宽度随着内容
增加,高度随字体大小而改变,内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用,也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用
将行级元素设置伪块级元素(display:block/inline-block)就可以设置width和height。
6.css为什么写在HTML的顶部,而JS写在HTML的尾部?
Css是异步加载(同时进行),浏览器边加载时就边渲染样式,而js是同步加载(一个加载完了才能加载下一个),如果将js放在顶部,你的的javascript想操作后面的DOM元
素,基本上来说,浏览器都会报错说对象找不到。因为Javascript执行时,后面的HTML被阻塞住了,DOM树时还没有后面的DOM结点。所以程序也就报错了。
7.知道闭包吗?如何运用?
用2句话概括下闭包:
a.闭包是引用着外部变量的内部函数。
b.所有函数都是闭包。一般运用是匿名闭包(IIFE),也叫立即执行的函数表达式,优点是:模块化,可重用,实现信息隐藏,只暴露出public方法,最大的优点是不污染变量对象
8.浏览器兼容问题?如何处理IE8以下浏览器?
最常遇到的就是事件监听的addEventlistener和attchEvent。IE8以下可利用css的hack技术
(如:IE6认识的hacker 是下划线_ 和星号 *;IE7 遨游认识的hacker是星号 *)
9:事件冒泡和事件捕捉的区别?
a.冒泡型事件:事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。
IE 5.5: div -> body -> document
IE 6.0: div -> body -> html -> document
Mozilla 1.0: div -> body -> html -> document -> window
b.捕获型事件(event capturing):事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定)。
注:IE只支持事件冒泡,不支持事件捕获,它也不支持addEventListener函数,不会用第三个参数来表示是冒泡还是捕获,它提供了另一个函数attachEvent。
ele.attachEvent("onclick", doSomething2);
附:事件冒泡(的过程):事件从发生的目标(event.srcElement||event.target)开始,沿着文档逐层向上冒泡,到document为止。
10.HTTP协议响应的几种状态?
a. 1xx:指示信息--表示请求已接收,继续处理
b. 2xx:成功--表示请求已被成功接收、理解、接受
c. 3xx:重定向--要完成请求必须进行更进一步的操作
d. 4xx:客户端错误--请求有语法错误或请求无法实现
e. 5xx:服务器端错误--服务器未能实现合法的请求