HTML语义化HTML标签语义化是指:使用包含语义(如h1-h6)的标签来恰当地表示文档结构css命名语义化是指:HTML标签添加有意义的类为什么需要语义:去除样式后,页面呈现清晰的结构您对HTML语义的理解?用正确的标签做正确的事。HTML语义使页面内容结构化、清晰,便于浏览器和搜索引擎解析;即使没有样式CSS,也以文档格式显示,易于阅读;搜索引擎爬虫还依靠使用HTML标签来确定每个关键字的上下文和权重,这有利于SEO;方便阅读源码的人把网站分块,方便阅读、维护和理解Doctype的作用?标准模式和兼容模式有什么区别?声明位于HTML文档的第一行,在标记之前。告诉浏览器的解析器使用什么文档标准来解析这个文档。DOCTYPE不存在或格式不正确将导致文档以兼容模式呈现。标准模式的排版和JS运行模式均以浏览器支持的最高标准运行。在兼容模式下,页面以一种宽松的向后兼容方式显示,模拟旧浏览器的行为,以防止站点无法运行HTML5为什么只需要写?HTML5不是基于SGML的,所以不需要引用DTD,但是需要doctype来规范浏览器的行为(让浏览器正常运行)而HTML4.01是基于SGML的,所以需要引用DTD来告知为浏览器文档使用的文档类型页面导入样式时使用link和@import有什么区别?链接是一个XHTML标签。除了加载CSS,还可以用来定义RSS,定义rel连接属性等;而@import是CSS提供的,只能用来加载CSS。当页面加载时,链接也会同时加载。@import引用的CSS会等到页面加载完成后才加载importCSS2.1提出,只能被IE5及以上识别,link是一个XHTML标签。没有兼容性问题的常见浏览器内核有哪些?Trident内核:IE、MaxThon、TT、TheWorld、360、搜狗浏览器等。【又称MSHTML】Gecko内核:Netscape6及以上、FF、MozillaSuite/SeaMonkey等Presto内核:Opera7及以上。【Opera内核原为:Presto,现为:Blink;】Webkit内核:Safari、Chrome等。【Chrome的Blink(WebKit的一个分支)】html5有哪些新特性,去掉了哪些元素?如何处理HTML5新标签的浏览器兼容性问题?如何区分HTML和HTML5?HTML5不再是SGML的子集,主要是增加了图像、位置、存储、多任务等功能DrawingcanvasvideoandaudioelementsformediaplaybackLocalofflinestoragelocalStorage长期存储数据,数据不会被浏览器关闭后丢失sessionStorage数据在浏览器关闭后自动删除语义更好的内容元素,如文章、页脚、页眉、导航、部分表单控件、日历、日期、时间、电子邮件、url、搜索新技术webworker,websocket,Geolocation删除的元素:纯粹的表现元素:basefont,big,center,font,s,strike,tt,u对可用性有负面影响的元素:frame,frameset,noframesHTML5支持新标签:IE8/IE7/IE6支持通过Thedocument.createElement方法生成的标签可以利用这个特性让这些浏览器支持HTML5新标签。浏览器支持新标签后,需要添加标签。如何处理HTML5新标签的浏览器兼容性问题?如何区分HTML和HTML5?HTML5不再是SGML的子集,主要是增加了图像、位置、存储、多任务等功能DrawingcanvasvideoandaudioelementsformediaplaybackLocalofflinestoragelocalStorage长期存储数据,数据不会被浏览器关闭后丢失sessionStorage数据在浏览器关闭后自动删除语义更好的内容元素,如文章、页脚、页眉、导航、部分表单控件、日历、日期、时间、电子邮件、url、搜索新技术webworker,websocket,Geolocation删除的元素:纯粹的表现元素:basefont,big,center,font,s,strike,tt,u对可用性有负面影响的元素:frame,frameset,noframes支持HTML5新标签:IE8/IE7/IE6支持通过document.createElement方法生成的标签。您可以使用此功能使这些浏览器支持HTML5新标签。浏览器支持新标签后,当然需要添加标签的默认样式。直接使用成熟的框架,比如html5shim如何区分HTML5:新增结构元素和功能元素的DOCTYPE声明如何使用HTML5的离线存储,能解释一下工作原理吗?当用户未连接到互联网时,网站或应用程序可以正常访问,当用户连接到互联网时,更新用户机器上的缓存文件原理:HTML5离线存储是基于一个新创建的.),通过这个文件上的解析列表离线存储资源,这些资源会像cookies一样被存储。当网络离线时,浏览器将通过离线存储的数据来显示页面。使用方法:page在header中添加manifest属性如下;当写入cache.manifest文件且离线存储资源离线时,运行window.applicationCache实现需求CACHEMANIFEST#v0.11CACHE:js/app.jscss/style.cssNETWORK:resource/logo.pngFALLBACK://offline.html浏览器如何管理和加载HTML5离线存储资源?在线时,浏览器在html头中找到manifest属性,就会请求manifest文件。如果是第一次访问app,浏览器会根据manifest文件的内容下载相应的资源并离线存储。如果app被访问过,并且资源已经离线存储,浏览器会使用离线资源加载页面,然后浏览器会比较新的manifest文件和旧的manifest文件,如果文件没有变化,什么都不做,如果文件发生变化,文件中的资源会被重新下载并离线存储。离线时,浏览器直接使用离线存储的资源请描述一下cookies、sessionStorage和localStorage的区别?Cookie是网站为了识别用户身份而存储在用户本地终端(ClientSide)上的数据(通常是加密的)。cookie数据总是携带在同源http请求中(即使不需要),在浏览器和服务器之间记录。来回传递sessionStorage和localStorage不会自动向服务器发送数据,只在本地保存存储大小:cookie数据大小不能超过4ksessionStorage,localStorage也有存储大小限制,但是比cookie大很多,可以达到5M或者较大的一段时间时间:localStorage存储持久化数据,浏览器关闭后数据不会丢失,除非主动删除数据sessionStorage数据在当前浏览器窗口关闭后自动删除。缺点?缺点:iframe会阻塞主页面的Onload事件。搜索引擎的检索程序无法解释这种页面,不利于SEOiframe和主页面共享连接池,而且浏览器对同域的连接有限制,所以会影响页面的并行加载。在iframe之前需要考虑这两个缺点。如果需要使用iframe,最好通过javascript动态的给iframe添加src属性值,这样可以绕过以上两个问题。优点:可用于加载慢速内容(如广告),使脚本并行下载,实现跨子子。域通信标签的作用是什么?它是如何使用的?label标签用于定义表单控件之间的关系。当用户选择标签时,浏览器会自动将焦点转到与标签相关的表单控件上。HTML5表单如何关闭自动完成功能?为您不想提示的表单或输入设置autocomplete=off。如何实现浏览器中多个标签页之间的通信?(阿里)WebSocket和SharedWorker也可以调用localstorge、cookies等本地存储方式。webSocket如何兼容低级浏览器?(阿里)AdobeFlashSocket,ActiveXHTMLFile(IE),基于multipart编码发送XHR,基于长轮询的XHR页面可见性(PageVisibilityAPI)。通过visibilityState的值检测页面当前是否可见,打开页面的时间等;当页面切换到其他后台进程时,如何自动暂停播放音乐或视频,实现页面圆形可点击区域?map+area或者svgborder-radius的纯js实现,需要点不在圆上,算法简单,获取鼠标坐标等绘制1px高的线不使用边框,标准模式和怪异模式均可使用不同浏览器保持一致的效果
