对web标准的理解是什么?javascript
1.DOCTYPE有什么做用?标准模式与混杂模式如何区分?它们有何意义?css
告诉浏览器使用哪一个版本的HTML规范来渲染文档。DOCTYPE不存在或形式不正确会致使HTML文档以混杂模式呈现。
标准模式(Standards mode)以浏览器支持的最高标准运行;混杂模式(Quirks mode)中页面是一种比较宽松的向后兼容的方式显示。html
2.HTML5为何只须要写 <!DOCTYPE HTML>?java
HTML5不基于SGML(Standard Generalized Markup Language 标准通用标记语言),所以不须要对DTD(DTD 文档类型定义)进行引用,可是须要DOCTYPE来规范浏览器行为。web
HTML4.01基于SGML,因此须要引用DTD。才能告知浏览器文档所使用的文档类型,以下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">ajax
3.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?算法
行内元素:a span img input select
块级元素:div ul ol li dl dt dd h1 p
空元素:<br> <hr> <link> <meta>
数据库
4.页面导入样式时,使用link和@import有什么区别?canvas
相同的地方,都是外部引用CSS方式,区别:跨域
<style type="text/css">
标签5.无样式内容闪烁(FOUC)Flash of Unstyle Content
@import导入CSS文件会等到文档加载完后再加载CSS样式表。所以,在页面DOM加载完成到CSS导入完成之间会有一段时间页面上的内容是没有样式的。
解决方法:使用link标签加载CSS样式文件。由于link是顺序加载的,这样页面会等到CSS下载完以后再下载HTML文件,这样先布局好,就不会出现FOUC问题。
6.介绍一下你对浏览器内核的理解?
主要分红两部分:渲染引擎(Layout Engine或Rendering Engine)和JS引擎。
渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,而后会输出至显示器或打印机。浏览器的内核的不一样对于网页的语法解释会有不一样,因此渲染的效果也不相同。
JS引擎:解析和执行javascript来实现网页的动态效果。
最开始渲染引擎和JS引擎并无区分的很明确,后来JS引擎愈来愈独立,内核就倾向于只指渲染引擎。
7.常见的浏览器内核有哪些?
8.HTML5有哪些新特性,移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5
新增长了图像、位置、存储、多任务等功能。
新增元素:
移除的元素:
区分:
9.简述一下你对HTML语义化的理解?
10.HTML5的文件离线储存怎么使用,工做原理是什么?
在线状况下,浏览器发现HTML头部有manifest属性,它会请求manifest文件,若是是第一次访问,那么浏览器就会根据manifest文件的内容下载相应的资源,并进行离线存储。若是已经访问过而且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面。而后浏览器会对比新的manifest文件与旧的manifest文件,若是文件没有发生改变,就不会作任何操做,若是文件改变了,那么就会从新下载文件中的资源,而且进行离线存储。例如,
在页面头部加入manifest属性 : <html manifest='cache.manifest'>
在cache.manifest文件中编写离线存储的资源
11.cookies,sessionStorage和localStorage的区别?
共同点:都是保存在浏览器端,且是同源的。
区别:
12.iframe框架有那些优缺点?
13.label的做用是什么? 是怎么用的?
label标签用来定义表单控件间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。label 中有两个属性是很是有用的, FOR和ACCESSKEY。
FOR属性功能:表示label标签要绑定的HTML元素,你点击这个标签的时候,所绑定的元素将获取焦点。例如,
<Label FOR="InputBox">姓名</Label><input ID="InputBox" type="text">
ACCESSKEY属性功能:表示访问label标签所绑定的元素的热键,当您按下热键,所绑定的元素将获取焦点。例如,
<Label FOR="InputBox" ACCESSKEY="N">姓名</Label><input ID="InputBox" type="text">
14.HTML5的form如何关闭自动完成功能?
HTML的输入框能够拥有自动完成的功能,当你往输入框输入内容的时候,浏览器会从你之前的同名输入框的历史记录中查找出相似的内容并列在输入框下面,这样就不用所有输入进去了,直接选择列表中的项目就能够了。但有时候咱们但愿关闭输入框的自动完成功能,例如当用户输入内容的时候,咱们但愿使用AJAX技术从数据库搜索并列举而不是在用户的历史记录中搜索。
方法:
15.如何实现浏览器内多个标签页之间的通讯?
注意:Safari 在无痕模式下设置 localstorge 值时会抛出QuotaExceededError 的异常
16.webSocket如何兼容低浏览器?
17.页面可见性(Page Visibility)API 能够有哪些用途?
18.如何在页面上实现一个圆形的可点击区域?
19.实现不使用 border 画出1px高的线,在不一样浏览器的Quirks mode和CSS Compat模式下都能保持同一效果
<div style="height:1px;overflow:hidden;background:red"></div>
20.网页验证码是干吗的,是为了解决什么安全问题?
21.title与h1的区别、b与strong的区别、i与em的区别?
title属性没有明确意义,只表示标题;h1表示层次明确的标题,对页面信息的抓取也有很大的影响
strong标明重点内容,语气增强含义;b是无心义的视觉表示
em表示强调文本;i是斜体,是无心义的视觉表示
视觉样式标签:b i u s
语义样式标签:strong em ins del code
22.元素的alt和title有什么异同?
在alt和title同时设置的时候,alt做为图片的替代文字出现,title是图片的解释文字。
23. 一级域名?二级域名是指什么?
24.浏览器解析url过程?
25.iframe的使用场景有哪些?
26.什么是重排和重绘?
如下三种状况,会致使网页从新渲染
从新渲染,就须要从新生成布局和从新绘制。
前者就叫重排,后者就叫作重绘。
27.不一样的字符编码
28.meta的做用及用法
做用:
用法:
语法:<meta name="参数"content="具体的参数值">。
主要参数:
<meta name="keywords"content="xxx">
<meta name="description"content="xxx">
<meta name="robots"content="none">
<meta name="author"content="root,root@xxxx.com">
<META name="revisit-after"CONTENT="7days">
表明7天。<meta http-equiv="expires"content="Fri,12Jan200118:18:18GMT">
注意时间使用的是GMT格式。<meta http-equiv="Pragma"content="no-cache">
。<meta http-equiv="Refresh"content="2;URL=http://www.haorooms.com"> //(注意后面的引号,分别在秒数的前面和网址的后面)
。<meta http-equiv="Set-Cookie"content="cookie value=xxx;expires=Friday,12-Jan-200118:18:18GMT;path=/">
<meta http-equiv="Window-target"content="_top">
强制页面在当前窗口以独立页面显示。<meta http-equiv="content-Type"content="text/html;charset=gb2312">
<meta http-equiv="Content-Language"content="zh-cn"/>
<meta http-equiv="imagetoolbar"content="false"/>
<Meta http-equiv="Content-Script-Type"Content="text/javascript">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
<meta name="apple-mobile-app-capable" content="yes">
:是否启用 WebApp 全屏模式,删除苹果默认的工具栏和菜单。<meta name="apple-mobile-app-status-bar-style" content="black">
:改变顶部状态条的颜色。<meta name="format-detection" content="telphone=no, email=no"/>
:忽略页面中的数字识别为电话,忽略email识别。29.CDN是什么?
即内容分发网络,其基本思路是尽量避开互联网有可能影响数据传输和稳定性的瓶颈和环境,是内容传输更稳定更快。