链接
1.!doctype的作用是什么?严格模式和混合模式如何区分?有何意义?
<!doctype>的作用是用于文档类型声明。
严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD(文档类型定义),不允许使用任何表现层的语法。
混杂模式是一种向后兼容的解析方法,根据声明的DTD类型判断是哪种类型(过渡的、严格的),如果没有文档类型声明,则是混杂模式,说的透明点就是可以实现IE5.5以下版本浏览器的渲染模式。
意义:混杂模式通常用于模拟老式浏览器的行为以防止老站点无法工作,可以通过加入XML声明来触发。
实际上:各个浏览器的混杂模式基本就是各个浏览器的私有模式,不相互兼容。所以,除非是为了兼容的问题,比如你不想修改很久很久以前做的IE ONLY的网页,否则刻意触发混杂模式没有任何意义。
简单点说:
区别:严格模式是浏览器根据规范去显示页面;混杂模式是以一种向后兼容的方式去显示。
意义:决定浏览器如何渲染网站(浏览器使用那种规范去解析网页)。
触发:浏览器根据doctype是否使用哪种dtd来决定。
2.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率;使用外链css和js脚本,结构行为表现的分离,文件下载与页面速度更快;内容能被更多的用户所访问、内容能被更广泛的设备所访问;更少的代码和组件,容易维护、改版方便,不需要变动页面内容;提供打印版本而不需要复制内容,提高网站易用性。
3.html、xhtml、html5有什么区别和联系
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言,关系上讲,XHTML是HTML的子集,html5是html的最新标准。(详情)
其中:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
CSS盒模型:content,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的区别是?
内联 内嵌 外链 导入 (见详情)
两者都是外部引用CSS的方式,但是存在一定的区别:
link是XHTML标签,除了加载CSS外,还可以定义RSS(简易信息聚合)等其他事务;@import属于CSS范畴,只能加载CSS。
link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
link支持使用Javascript控制DOM去改变样式;而@import不支持。
@import的优势在于可以在css文件中使用,用来调用别的css。
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符 类选择符 id选择符
指定>继承 id>class>标签选择
后者优先级高
7.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
8.写出几种IE6 BUG的解决方法
1)双边距BUG:float引起的 给float的元素添加一个display:inline
2)3像素问题:当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现,使用zoom和margin:-3px
3)超链接访问后hover失效:使用正确的书写顺序 link visited hover active
4)ie z-index问题:给父级添加position:relative并加上z-index
5)透明PNG图片有灰底:8种解决方案
6)min-height最小高度:min-height: 22px;height: auto!important;height: 22px;
7)select在ie6下遮盖:使用iframe嵌套
8)为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,_zoom:0.08 line-height:1px)
9.zoom有什么作用?
1)zoom属性是ie浏览器的专有属性,Firefox等浏览器不支持。
2)它可以设置或检索对象的缩放比例(用法)
3)触发ie的hasLayout属性,从而清除浮动、清除margin的重叠等。其中,清除浮动
{
overflow:hidden;
_zoom:1;
}
10.IE6 IE7 IE8的css hack(为什么有些css属性前有短横线?)
color{
background-color: #CC00FF; /*所有浏览器都会显示为紫色*/
background-color: #FF0000\9; /*IE6、IE7、IE8会显示红色*/
*background-color: #0066FF; /*IE6、IE7会变为蓝色*/
_background-color: #009933; /*IE6会变为绿色*/
}
好多css hack,最重要的是简单实用能解决问题就行了
总结:
\9: IE6 IE7 IE8
*: IE6 IE7
_: IE6
*+: IE7
11.描述css reset的作用和用途。
Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一(详情)
12.你如何对网站的文件和资源进行优化?期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
13.清除浮动的几种方式,各自的优缺点
关于清除浮动的概念
1.使用空标签清除浮动clear:both(理论上能清楚任何标签,但增加了无意义的标签)
2.使用overflow:auto(使用zoom:1用于兼容IE)
3.使用afert伪元素清除浮动(用于非IE浏览器)
4.其他
14.各种居中问题
见详情
15.javascript的typeof返回哪些数据类型
object number function boolean underfind string
16.split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串
17.数组方法pop() push() unshift() shift()
push()尾部添加 pop()尾部删除
unshift()头部添加 shift()头部删除
18.ajax请求的时候get 和post方式的区别
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
19.js关键
20.弹性盒模型