Skip to content

HTML

H5新特性

功能实现
选择器document.querySelector、document.querySelectorAll
拖拽(Drag and Drop)API
媒体播放video、audio
本地存储localStorage、sessionStorage
离线应用manifest
桌面通知Notification
语义化标签article、footer、header、nav、section
增强表单控件calendar、date、time、email、url、search
地理位置Geolocation
多任务webworker
全双工通信协议websocket
历史管理history
跨域资源共享(CORS)Access-Control-Allow-Origin
页面可见性改变事件visibilitychange
跨窗口通信PostMessage
绘画canvas
其他Form Data对象

H5语义化

html
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  
  <title>        页面主体内容。
    <hn>         h1~h6,分级标题,<h1> 与 <title> 协调有利于搜索引擎优化。
    <ul>         无序列表。
    <li>         有序列表。
    <header>     页眉通常包括网站标志、主导航、全站链接以及搜索框。
    <nav>        标记导航,仅对文档中重要的链接群使用。
    <main>       页面主要内容,一个页面只能使用一次。如果是web应用,则包围其主要功能。
    <article>    定义外部的内容,其中的内容独立于文档的其余部分。
    <section>    定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
    <aside>      定义其所处内容之外的内容。如侧栏、文章的一组链接、广告、友情链接、相关产品列表等。
    <footer>     页脚,只有当父级是body时,才是整个页面的页脚。
    <small>      呈现小号字体效果,指定细则,输入免责声明、注解、署名、版权。
    <strong>     和 em 标签一样,用于强调文本,但它强调的程度更强一些。
    <em>         将其中的文本表示为强调的内容,表现为斜体。
    <mark>       使用黄色突出显示部分文本。
    <figure>     规定独立的流内容(图像、图表、照片、代码等等)(默认有40px左右margin)。
    <figcaption> 定义 figure 元素的标题,应该被置于 figure 元素的第一个或最后一个子元素的位置。
    <cite>       表示所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。
    <blockquoto> 定义块引用,块引用拥有它们自己的空间。
    <q>          短的引述(跨浏览器问题,尽量避免使用)。
    <time>       datetime属性遵循特定格式,如果忽略此属性,文本内容必须是合法的日期或者时间格式。
    <abbr>       简称或缩写。
    <dfn>        定义术语元素,与定义必须紧挨着,可以在描述列表dl元素中使用。
    <address>    作者、相关人士或组织的联系信息(电子邮件地址、指向联系信息页的链接)。
    <del>        移除的内容。
    <ins>        添加的内容。
    <code>       标记代码。
    <meter>      定义已知范围或分数值内的标量测量。(Internet Explorer 不支持 meter 标签)
    <progress>   定义运行中的进度(进程)。
</body>

</html>

元素类型

元素类型示例
行内元素a b span img input select strong
块级元素div p ul ol li dl dt dd h1 h2 h3 h4…
空元素br hr img input link meta

TIP

行内元素不可以设置宽高,不独占一行。

块级元素可以设置宽高,独占一行

全局属性

属性描述
id元素id,⽂档内唯⼀
class为元素设置类标识
style⾏内css样式
data为元素增加⾃定义属性
draggable设置元素是否可拖拽
lang元素内容的的语⾔
title元素相关的建议信息

DOM性能优化

html
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <ul id="list">
  </ul>

  <script>
    const list = document.querySelector("#list")

    // 创建一个dom片段
    const frag = document.createDocumentFragment()

    for (let i = 1; i <= 10; i++) {
      const li = document.createElement("li")
      li.innerHTML = `item - ${i}`

      frag.appendChild(li)
    }

    // 批量插入 节约性能
    list.appendChild(frag)
  </script>

</body>

</html>