面试准备-基础知识部分
对 web标准的理解
简单来说,就是一些列标准的集合,网页一般分为结构、表现和行为三部分,对应的就有三种标准语言,结构化标准语言主要包括XHTML的XML,表现标准语言主要包括CSS,行为标准语言主要包括对象模型DOM、ECMAJavascripe等
而遵循web标准是为了让我们的代码效率更高更好如何去遵循web标准呢
对于结构标准语言来说,主要是标签组成,要做到标签要闭合;标签字母要小写,标签不要随意嵌套;对于表现层和行为部分:使用css外链样式和js脚本。使结构,变现和行为分开,符合规范。同时能提高页面渲染速度,从而提高用户体验。
如何理解浏览器的内核
简单来说。内核是浏览器的核心。内核是基于标记语言显示内容的程序或模块,主要分为两部分,渲染引擎和js引擎;渲染引擎主要负责网页的内容获取,js引擎则负责解析和执行JavaScript来实现网页的动态效果。常见的浏览器内核有这些
trident内核:IE,360搜狗浏览器等
Gecko:Netscape
Presto:Opera7(欧朋)
Webkit:safar和谷歌等如何解决浏览器之间的兼容问题
1 坚决不兼容老浏览器
2 支持拥护成熟的前端框架,因为这些成熟的框架的兼容问题已经处理的很好了,比如说Bootstrap
3 尽可能使用兼容性好的 第三方类库,比如JQuery要用1.X
做好测试问题
举个常见的问题:IE双边距,IE盒模型之类,具体问题具体分析css布局
HTML
1:Doctype作用?标准模式与兼容模式各有什么区别?
Doctype声明位于HTML文档的第一行,处于标签之前。告诉浏览器的解析器用什么文档标准解析这个文档。DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现
2:HTML5为什么只需要写DOCTYPE HTML?
HTML5不基于SGML,因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为;而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用额文档类型。
3:行内元素有哪些?块级元素有哪些?空元素有哪些?
行内元素的display默认属性为“inline”——常见的行内元素有:a,b,span,img,input,select,strong
块级元素的display默认属性为“block”——常见的块级元素有:div,ul,ol,dl,dd,h1,p
常见的空元素【标签不是成对出现的】:area,br,hr,img,input,link,meta
4:页面导入样式时,使用lnk和@import有什么区别?
link属于XHTML标签,除了加载css外,还能同于定义RSS【简易信息聚合,主要用于定制个性化推送信息的服务】,定义rel链接属性等;而@import是css提供的,只能加载css;
页面被加载时,link会被同时加载,而@import是在页面加载完之后再加载;
5:HTML5有哪些新特性,移除了哪些元素,如何处理HTML5新标签的兼容问题?如何区分HTML和HTML5?
一: HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,多任务等功能的增加:
1 绘画canvas ;
2 用于媒介回放的video和audio元素;
3 本地离线存储localStorage长期存储数据,浏览器关闭后数据不丢失;sessionStorage的数据在浏览器关闭之后自动删除;
4 语义化更好的内容元素,例如article,footer,header,nav,section
5 表单控件 :calendar data,time,url,search
6 新的技术webworker,websocket,Geolocation
二:移除的元素
1 纯表现的元素:basefont,big,center,font,s,strike
2 对可用性产生负面影响的元素:frame,frameset,noframes
三:支持HTML5新标签
1 IE8/IE7/IE6支持通过document.crateElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签
2 直接用成熟的框架,比如html5shim
四:如何区分HTML5
1 DOCTYPE声明 ;新增的结构元素;功能元素
6:简述一下你对HTML语义化的理解?
用正确的标签做正确的事
html语义化让页面的内容结构化,结构更清晰,便于浏览器,搜索引擎解析
在没有样式css的情况下也以一种文档格式显示,并且是容易阅读的;
HTML5语义化标记利于搜索爬虫,利于SEO
源代码便于维护和理解