介绍
HTML 的英文全称叫 Hyper Text Markup Language
,也叫做 超文本标记语言 ,是一种使用结构化 Web 网页及其内容的标记语言。
主要用于定义网页中的结构。
HTML 语义化
用正确的标签做正确的事情。
html 语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;即使在没有样式 CSS 情况下也以一种文档格式显示,并且是容易阅读的;
搜索引擎的爬虫也依赖于 HTML 标记来确定上下文和各个关键字的权重,利于 SEO;
使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
DOCTYPE
DOCTYPE作用
DOCTYPE (document type) 声明位于文档的最前面,处于标签之前,它不是 html 标签。
主要作用是告诉浏览器使用哪个版本的 HTML 规范来渲染文档。DOCTYPE 不存在或形式不正确会导致HTML文档以混杂模式呈现。
标准模式与混杂模式如何区分
标准模式(Standards mode)以浏览器支持的最高标准运行;
混杂模式(Quirks mode)中页面是一种比较宽松的向后兼容的方式显示。
块级元素和行内元素
块级元素和行内元素的区别
块级元素
- 与其他行内元素并排
- 不能设置宽高,默认的宽度就是文字的宽度
行内元素
- 独占一行,不能与其他任何元素并列
- 能接受宽高,如果不设置宽度,那么宽度将默认变为父级的100%
块级元素和行内元素都有哪些
块级元素
常用元素
div
,p
,form
,section
,table
标题
h1
,h2
,h3
,h4
,h5
,h6
列表
ul
,ol
,dd
,dl
h5新特性
section
,header
,footer
,video
,output
,audio
,aside
行内元素
常用元素
a
,button
,span
,img
,em
,i
,label
,select
,textarea
链接打开方式有几种
总共有五种:
_blank
在新窗口中打开被链接文档。
_self
默认。在相同的框架中打开被链接文档。
_parent
在父框架集中打开被链接文档。
_top
在整个窗口中打开被链接文档。
framename
在指定的框架中打开被链接文档。
script 标签中 defer 和 async 的区别
defer 和 async 都是作用于 外链JS 的。对于 内部JS 是没有效果的。
defer 和 async 都是异步的,主要的区别在于执行顺序以及执行的时间。
async 标志的脚本文件一旦加载完成就会立即执行,并且不会按照书写顺序,谁下载好了就直接执行。所以适用于那些没有代码依赖顺序,并且没有 DOM操作 的脚本文件。
defer 标志的脚本文件会严格按照书写顺序执行,并且,会在 DOMContentLoaded 事件之前(也就是页面DOM加载完成时)执行。适用于有 DOM操作 ,或者是有代码依赖顺序的脚本文件。
HTML5离线存储
HTML5的离线储存
HTML5的离线存储是基于一个新建的.manifest文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,
这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示。
离线储存资源进行管理和加载
在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问app,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。如果已经访问过app并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。