html面试资料

1.Doctype作用?严格模式与混杂模式如何区分?它们有何意义?
答:告诉浏览器这是html文档用html语言解析代码,标准模式下和混杂模式下标准模式的排版
 和JS运作模式都是以该浏览器支持的最高标准运行。在兼容模式中,页面以宽松的向后兼容的方式显示,
 模拟老式浏览器的行为以防止站点无法工作。

2.HTML5 为什么只需要写 <!DOCTYPE HTML>?
html5不基于sgml语言的,不需要引进dtd,但是要用doctype来规范浏览器的行为让浏览器知道按照它的方式进行解析代码
html4.1基于sgml语言,需要引进dtd,才能够告诉浏览器文档所用类型文件

3.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
行内元素:span input a b strong等
块级元素:div p section form ul li ol等
空标签:hr br input meta 等


4.页面导入样式有几种方法?,使用link和@import有什么区别?
导入样式有:内联,内嵌,导入,外链
同时加载,link可以同过javascript手动更改样式,
页面加载后在加载样式,@import需要在css2.1 提出的, 需要在浏览器5.5以上的版本才兼容,后者无兼容行的问题.

5.介绍一下你对浏览器内核的理解?
主要分为两大内核引擎,渲染引擎和js引擎
渲染引擎负责也页面内容的拉起,整理讯息,输出显示的内容和打印内容,浏览器不同语法和解释会有不同
所以渲染效果也不同所以网页浏览器电子邮件,所以网路的运用都需要内核
js引擎解释javascript来实现网页动态效果
最开始渲染引擎和js引擎并没有区分的很明显后面js引擎越来越独立,内核倾向于渲染引擎

6.常见的浏览器内核有哪些?
trident的内核浏览器ie 360 搜狗
moze是火狐
webkit:谷歌
presto:欧朋

7.html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
html5不基于sgml的子集语言,主要关于图像的位置存储多个任务等功能增加,绘画canvas,用于媒介放回video和Audio元素
本地存储离线文件loalstronage长期存储,浏览器关闭不会丢失,
sessionstronage的数据浏览器关闭后自动删除,
语义化更好的内容元素:article fonter header nav section
表单控件calender data time email url search
新的技术webworker webSocket geolocation
移除元素
纯表现的元素:basefont big center font s strike
可能产生影响的元素frame framset noframes
支持html5的新标签
i6/i8支持通过document.createelement方法产生的标签
可以利用这特性让浏览器支持html5的标签
当然可以直接引用html5shim
如何区分html5doctype声明新增的结构元素和功能

8.简述一下你对HTML语义化的理解?
正确的标签做正确的事情,让页面结构化,更清晰,让流浪器更容易抓取解析数据,
即使没有css样式也可以文档的方式解析并容易阅读,
搜索引擎的爬虫也依赖于html标记确定上下文和关键字利用seo是阅读源码的人更容易将网站分块

9.HTML5的离线储存怎么使用,工作原理能不能解释一下?
在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。
原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源
,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
如何使用:
1、页面头部像下面一样加入一个manifest的属性;
2、在cache.manifest文件的编写离线存储的资源;
3、在离线状态时,操作window.applicationCache进行需求实现。

10.浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,
如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。
如果已经访问过app并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,
然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,
如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。
离线的情况下,浏览器就直接使用离线存储的资源。

11.请描述一下 cookies,sessionStorage 和 localStorage 的区别?
cookies:存储空间小4kb 安全性较低,是跟着http请求携带的数据,记住浏览器和服务器来回传递的值
sessionstroage和localstorage存储空间大在5m,
locastroage在浏览器关闭页面或者关闭浏览器的时候页面会自动保存,除非手动删除
sessionstroage在浏览器关闭和关闭窗口的时候会自动删除缓存数据

12.iframe有那些缺点?
iframe会阻塞主页的onload事件
搜索引擎检索页面的时候无法读取这种页面,不例与seo
使用iframe的使用利用javascript动态的添加一个src属性这样可以绕开这两个缺点

13.Label的作用是什么?是怎么用的?(加 for 或 包裹)
label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。

14.HTML5的form如何关闭自动完成功能?
给不想要提示的form表单中的input设置autocomplete=off;

15,如何实现浏览器内多个标签页之间的通信? (阿里)
 WebSocket、SharedWorker;
也可以调用localstorge、cookies等本地存储方式;

localstorge另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件,
我们通过监听事件,控制它的值来进行页面信息通信;
注意quirks:Safari 在无痕模式下设置localstorge值时会抛出 QuotaExceededError 的异常;

16.webSocket如何兼容低浏览器?(阿里)
基于multipart编码发送xhr
基于长轮询的xhr

17.页面可见性(Page Visibility API) 可以有哪些用途?
通过visiblelitystart的检测页面当前是否,是可见得以及打开网页的的时间,
在页面被切换的时候后台进行程序的时候自动停止音乐和播放器


18.如何在页面上实现一个圆形的可点击区域?
纯js写就需要涉及圆的算法.点在圆上的位置
map+araa或者svg
border-rand
19.实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。
<div style="height:1px backgroundred;></div>
20.网页验证码是干嘛的,是为了解决什么安全问题?
区分机器和人工增加网站的安全性有效的防止黑客
21.title与h1的区别、b与strong的区别、i与em的区别?
title表示标题没有特殊的意义,srtong强调文本的重要性em增加强调文本 b强调内容i 内容展示斜体

原文地址:https://www.cnblogs.com/cxhx/p/6080122.html