1、src和href的区别
| src | href | |
|---|---|---|
| 作用 | 替换当前元素 | 将当前文档和资源建立联系 |
| 加载 | 运行到这里,会把资源下载下来,并完成编译,运行。 | 运行到这里,会并行的下载当前资源,不会影响当前文档的资源处理 |
| 阻塞 | 会阻塞当前界面的其他资源的下载 | 不会阻塞当前界面的其他资源 |
| 位置 | script代码中出现src,推荐放到底部而不是头部 | 对于css文件,推荐使用link的方式加载,不推荐@import |
2、2种渲染模式
浏览器的2种渲染模式: 一种标准模式,一种怪异模式
产生的原因就是各个浏览器的发展,在前期没有标准,所以W3C提出了标准
在html的第一行这是<!DOCTYPE html> 就是标准模式,什么都不写就是怪异模式
3、html语义化
含义:根据内容的语义化选择合适的标签
优点: 便于seo,便于搜索引擎的爬虫爬取相关的内容 对开发者友好,便于代码的维护
常见的语义化标签:
<header>头部</header>
<nav>导航</nav>
<aside>侧边栏</aside>
<main>主要内容区</main>
<article>文章区</article>
<section>定义文档中的节</section>
<footer>尾部</footer>
4、常见的meta标签
- charset: 描述html文档的编码类型
<meta charset="UTF-8">
- 设置IE的兼容模式
<meta http-equiv="X-UA-Compatible" content="IE=edge">
//以上代码告诉浏览器,IE8/9以及以后的版本都会最高版本IE来渲染界面
- viewport设置手机端的适配
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0 maximum-scale=1.0">
// width:移动端的宽度
// initial-scale:初始缩放比例
// user-scalable:是否允许用户缩放
// maxinum-scale: 最大缩放比例
5、html5新属性
-
语义化标签
header、footer、nav、aside、article、main、section
-
媒体标签
aduio音频、vedio视频
-
表单新增类型
-
进度条
progress
-
DOM查询
querySelector、querySelectorAll querySelector匹配第一个符合的元素 querySelectorAll匹配所有符合的元素 参数可以是id、class、标签
-
web存储
locationStorage、sessionStorage
-
其他
拖放:dragable 画布:canvas SVG:svg
6、块、行内、空元素
块级元素:
h1~h6、p、div、dl、dt、hr、ol、ul、li、form、pre、table、td、th
行内元素:
em、strong、span、button、input、label、code、select、img、textarea
空元素:
空元素是指没有内容的html元素,空元素下是没有子级节点和内容的,空元素是在开始标签中结束的,没有闭合标签
br、hr、img、input、link、meta
7、title与h1的区别、b与strong的区别、i与em的区别
-
title与h1
title 显示在网页标题中 h1显示在网页内容中 title更有利于seo引擎爬取
-
b与strong
b 单纯为了完成加粗的功能 strong 强调重点,以加粗的方式体现 strong推荐,有利于seo引擎爬取
-
i与em
i 单纯了的为了完成斜体 em为了加强突出,以斜体体现 em推荐,有利于seo引擎爬取
8、head标签
head用于定义文档的头部,他是所有头部元素的容器 在head中可以引用脚本,指示浏览器在哪里找到css文件,定义一些属性 head中可以使用base、link、meta、script、title、style 其中title是必不可少的元素
9、文档声明
文档声明的含义
文档声明就是告诉浏览器,当前的html是按照什么版本的html来写的,这样浏览器才能正确的解析
文档声明的两种模式
使用<!DOCTYPE html>是标准模式,会按照w3c的标准解析
使用<DOCTYPE>是混杂模式,会按照浏览器的规则自己解析
10、浏览器乱码
- 出现乱码原因
- 网页源代码是gbk编码,内容中的中文是utf-8编码,这样浏览器打开就是乱码
- 网页源代码是gbk编码,程序从数据库读取数据是utf-8的编码然后呈现,也就出现乱码
- 浏览器不能自动检测网页的编码,造成网页乱码
- 解决方案
- 使用程序进行转码
- 在查询数据库之后,进行展示前进行转码
11、web worker
1、概念
html在执行脚本的时候,页面是不会响应的,只有脚本执行完毕,页面才会响应,web worker是运行在后台的js,独立于其他的脚本,通过postMessage和主线程进行交互,这样可以把复杂的逻辑交给web worker,并且不会阻塞主线程。
web worker 的限制: 同源:web worker和主线程必须同源 操作DOM:web worker不能操作DOM,不能使用Document、Window、Parent这些对象 脚本限制:不能使用alert、confirm但可以使用ajax 通信限制:只能使用postMessage和主线程通信