知识复习篇:1.HTML篇

120 阅读7分钟

问: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是拖放元素结束拖放时候触发