问:src与href的区别
答:src是将外部资源嵌入到当前标签元素内,当加载外部资源时,会暂停其他资源的渲染和下载,直到此资源加载编译执行完毕,这也是为什么将script标签一般放入底部的原因
href是建立当前元素与外部资源的链接,它是指向网络资源的位置,不会影响当前文档其他资源的加载,所以这为什么推荐用link来加载css资源的原因,而不是用@import
对HTML语义化的理解
答:用正确的标签做正确的事情,不滥用标签,尽量做到内容与标签展示的意义相符合
语义化标签有:`<header></header>-->头部标签` `<footer></footer> 底部标签` `<main></main>主要区域` `<aside></aside> 侧边栏` 等等..
DOCTYPE(文档类型)的作用
答:DOCTYPE是HTML5中标准的文档类型声明,它的作用是告诉浏览器解析器用什么样(html或xhtml)的文档类型来解析文档
不同的模式会使浏览器对css代码的解析和js脚本的解析有一定的差异,所以它必须声明在html文件的第一行
document.compatMode-->可获取当前页使用的是浏览器的哪种模式(CSS1Compat标准模式,BackCompat怪异模式)
script标签asnyc 和 defer 的区别
答:script标签没有async和defer属性那么当加载到script标签时候会阻塞页面的解析,直到script脚本执行完毕
async和defer都是异步执行的方式,不会阻塞页面的解析,async使script脚本的加载和页面解析同步进行,直到脚本加载完毕开始执行,然后脚本执行完毕在继续解析页面,defer是会等页面元素加载完毕在执行script脚本
常用的meta标签有哪些
答:meta标签由name和content属性定义,name传递的是属性,content是属性的一些设置
常用的meta标签有:<meta charset='UTF-8>' charset-->设置HTML文档的编码类型
<meta name='keywords' content='关键词'> keywords-->设置关键词
<meta name='description' content='描述'> description-->设置描述
<meta http-equiv='refresh' content='0,url='> refresh-->页面重定向和刷新
<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1'> viewport-->适配移动端,控制视口大小比例,缩放等
<meta name='robots' content='index,follow'> robots-->搜索引擎索引方式。
content参数有:all(全部可以被检索,链接可以被查询),none(都不可以检索),index(文件可以被检索),follow(链接可以被查询),noindex,nofollow(与之相反)
媒体标签
答:audio:音频
<audio src='...' controls autoplay loop='true'>
属性:controls-->控制面板 autoplay-->自动播放;loop-->循环播放
video:视频
<vedio src='' poster='.../1.jpg' controls >
属性:poster-->设置封面图;controls-->控制面板;width,height -->设置宽高
source:浏览器对视频格式的支持程度不同,所以为了兼容不同浏览器,可以通过source指定视频源
<video><source src='aa.flv' type='video/flv'></source>
<source src='aa.mp4' type='video/mp4'></source>
</video>
Dom查询操作
- document.querySelector()
- document.querySelectorAll()
它们选择的对象可以是标签,可以是类(需要加点),可以是ID(需要加#)
Web存储
- localStorage - 没有时间限制的数据存储
- sessionStorage - 针对一个 session 的数据存储
localStorage的数据页面关闭还是会存在,sessionStorage的数据页面关闭会清空
地址栏history的API
答:history.go()-->前进
history.back()-->后退
history.forward()-->前进一页
history.pushstate(obj,title,url)-->新增一条历史记录
对于web worker的理解
答:在html页面中,如果在执行脚本时候页面是不可响应的,直到脚本执行结束。
webworker是运行在后台的js,独立于其他脚本,不会影响页面的性能,执行完毕后通过postMessage将结果传回主线程。这样就不会阻塞主线程的运行
如何创建webworker?-->1.检查浏览器的支持性2.创建web worker文件(js,回传函数等),3.创建web worker对象
HTML5的离线存储怎么使用,它的工作原理是什么
离线存储就是:基于.appcache文件的缓存机制,会将文件清单内的资源进行缓存起来,当没有网络的时候会使用此文件的资源
title与h1的区别,b和strong的区别,i和em的区别
title标签表示标题,h1标签表示一级标题,对页面信息的抓取影响不同
b标签一般表示加粗,strong标签更强调语义加重的效果,搜索引擎更侧重与strong标签
i标签展示为斜体,em表示强调文本
iframe标签的优点和缺点
iframe标签会创建一个新页面,我们可以在里面加载一些想要的内容(如广告)
优点:同域的iframe页面可以可以操作子页面,不同域的iframe页面可以访问浏览
缺点:可能有的浏览器不支持,会产生很多页面,会阻塞主页面的onload事件
具体学习可参考链接:blog.csdn.net/u011280778/…
label标签的作用和如何使用
label标签一般是用来定义与表单控件的关系的。当用户选择label标签时候,浏览器会自动将焦点转到与label标签相关的表单控件上
使用方法:<label><input type='text'/></label>
Canvas和SVG的区别
1.SVG:1.不依赖分辨率(不会失真),2.支持事件绑定,3.适合大型渲染区域的应用程序(谷歌地图),4.复杂度高渲染速度较慢,5.不适合游戏应用
2.Canvas:画布,通过Javascript来绘制形成的2d图形。1.依赖分辨率。2.不支持绑定事件。3.弱文本渲染能力,适合图像密集型游戏,因为会被频繁重绘
head标签有什么作用,其中什么标签必不可少
head标签用于定义文档的头部,他是所有头部元素的容器,head标签内可以引入script,css样式表,制定标题,meta标签等
title标签必不可少,他是定义文档标题的元素
文档声明(Doctype)和有什么作用?严格模式和混杂模式如何区分,有什么意义
Doctype是告诉浏览器用什么版本的HTML来写的,这样浏览器才能按照对应版本来解析
是告诉浏览器进入标准模式,使用最新的HTML5来解析渲染页面,如果不写页面则会进入混杂模式严格模式和混杂模式通过:DTD来区分,有URL过渡的DTD是严格模式,没有URL过度的DTD是混杂模式
严格模式又称标准模式,按照W3C的标准来解析代码,混杂模式则是浏览器按照自己的标准来解析(一般是老式浏览器)
浏览器乱码的原因是什么?有什么解决办法
乱码原因是网页源代码是gbk编码但是内容文字是utf-8编码,或者调用数据库的内容也是utf-8编码,会容易导致乱码
解决方法:1.使用软件编辑内容,2.数据库数据显示前可以进行程序转码。3.在浏览器中找到转换编码菜单进行转化
渐进增强和优雅降级之间的区别
渐进增强:主要针对低版本浏览器进行页面重构,在保证基本功能的前提下向高版本浏览器进行靠拢
优雅降级:一开始就构建完整的功能,然后针对低版本浏览器进行兼容
说一下HTML5 drag API
dragstart是被拖放元素开始拖动时候触发
drag是拖放元素正在被拖放时候触发
dragenter是目标元素,拖放元素进入目标元素时候触发
dragover是目标元素,拖放元素在目标元素内移动时候触发
dragleave是目标元素,拖放元素离开目标元素内触发
dragend是拖放元素结束拖放时候触发