Day25 - HTML5新特性

简介: Day25 - HTML5新特性

HTML5的重要性


  • 产生于1990年


  • 1997年HTML4出现并且维持了10年时间


  • 2008年 HTML5出现,2012年趋于稳定 (移动互联的红利期)


网络异常,图片无法展示
|


HTML5新特性


www.w3school.com.cn/html/


语义化标签


网络异常,图片无法展示
|


<div class="header">Header</div>
  <div class="nav">Nav</div>
  <div class="body">
    <div class="article">
      Article
      <div class="section">
        Section
      </div>
    </div>
    <div class="aside">
      Aside
    </div>
  </div>
<div class="footer">Footer</div>


<header>Header</header>
  <nav>Nav</nav>
  <div class="body">
    <article>
      Article
      <section>Section</section>
    </article>
    <aside>Aside</aside>
  </div>
<footer>Footer</footer>


  • 清晰易读


  • 有利于SEO,方便搜索引擎识别页面结构


  • 方便设备解析、比如盲人阅读


表单功能增强


<form action="" method="get">
    <p>邮箱标签: <input type="email"></p>
    <p>数字标签: <input type="number"></p>
    <p>滑动条标签: <input type="range"></p>
    <p>搜索框标签: <input type="search"></p>
    <p>日期框: <input type="date"></p>
    <p>星期框: <input type="week"></p>
    <p>月份框: <input type="month"></p>
    <p>颜色框: <input type="color"></p>
    <p>网址框: <input type="url"></p>
    <div>
      <input type="submit">
      <input type="reset">
    </div>
</form>


音视频标签


在h5之前,网页中内嵌音视频普遍会采用flash实现。


<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
</video>


画布 - Canvas+ SVG


HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。


画布是一个矩形区域,您可以控制其每一像素。


canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。


这个后面会专门出一期和svg的对比。


<canvas id="myCanvas" width="200" height="100"></canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);
</script>


拖放


拖放(Drag 和 Drop)是很常见的特性。它指的是您抓取某物并拖入不同的位置。拖放是 HTML5 标准的组成部分:任何元素都是可拖放的。


<!DOCTYPE html>
<html>
  <head>
    <style type="text/css">
      #div1 {
        width: 120px;
        height: 120px;
        padding: 10px;
        border: 1px solid #aaaaaa;
      }
    </style>
    <script type="text/javascript">
      function allowDrop(ev) {
        ev.preventDefault();
      }
      function drag(ev) {
        ev.dataTransfer.setData("Text", ev.target.id);
      }
      function drop(ev) {
        ev.preventDefault();
        var data = ev.dataTransfer.getData("Text");
        ev.target.appendChild(document.getElementById(data));
      }
    </script>
  </head>
  <body>
    <p>请把图片拖放到矩形中:</p>
    <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    <br />
    <img
      id="drag1"
      src="img.png"
      draggable="true"
      ondragstart="drag(event)"
    />
  </body>
</html>


本地存储


通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储。


在 HTML5 之前,应用程序数据只能存储在 cookie 中,包括每个服务器请求。本地存储则更安全,并且可在不影响网站性能的前提下将大量数据存储于本地。


与 cookie 不同,存储限制要大得多(至少5MB),并且信息不会被传输到服务器。


本地存储经由起源地(origin)(经由域和协议)。所有页面,从起源地,能够存储和访问相同的数据。


Web Worker


当在 HTML 页面中执行脚本时,页面是不可响应的,直到脚本已完成。


Web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 运行在后台。


地理定位


HTML5 Geolocation API 用于获得用户的地理位置。


鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。


<script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "<br />Longitude: " + position.coords.longitude;
  }
</script>


datalist


只不过我们经常使用别人已经封装好的 UI 组件,所以就没怎么用过,此标签就是 HTML5 封装的 Select API。


<input id="fruits" list="list" />
<datalist id="list">
  <option value="苹果"></option>
  <option value="香蕉"></option>
  <option value="山楂"></option>
</datalist>


网络异常,图片无法展示
|


可编辑内容


它被广泛的应用,比如很多网页编辑器,内容切换编辑状态等等,都可以通过这个属性来实现。


<div class="edit" contenteditable='true'></div>


网络异常,图片无法展示
|


面试攻略


HTML5是十年前的新技术。有些应用已经非常普遍了。但是还有很多技术还在摸索阶段,大家有机会可以看看Vite中的HMR技术使用了什么样的H5新特性。


相关文章
|
6月前
|
存储 移动开发 前端开发
HTML5的部分特性
【4月更文挑战第9天】HTML5的部分特性
54 1
|
6月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
90 0
|
16天前
|
存储 移动开发 前端开发
html5有哪些新特性?
【10月更文挑战第19天】
|
2月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
39 1
前端基础(十七)_HTML5新特性
|
2月前
|
存储 移动开发 API
HTML5的新特性
HTML5引入了众多新特性和增强功能,简化并强化了网页开发。新增结构元素如`&lt;header&gt;`、`&lt;footer&gt;`、`&lt;article&gt;`等使页面布局更清晰;表单增强支持更多输入类型及属性;内置音频视频播放无需插件;`&lt;canvas&gt;`与SVG支持提升了图形处理能力;Geolocation API和Web存储改善了用户体验;离线应用、拖放功能及Web Workers则进一步提升了网页应用的实用性和交互性。HTML5令网页开发更为现代化,为开发者提供了丰富的工具集。
|
3月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
57 2
|
3月前
|
存储 移动开发 前端开发
HTML5 的新特性
【8月更文挑战第24天】
59 0
|
3月前
|
移动开发 UED HTML5
HTML5新特性概览——揭秘志愿填报的智慧之选
HTML5新特性概览——揭秘志愿填报的智慧之选
|
6月前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性
|
6月前
|
移动开发 搜索推荐 JavaScript
【专栏:HTML 进阶篇】HTML5 新特性探索:视频、音频与画布
【4月更文挑战第30天】HTML5的视频、音频和画布元素为网页开发注入新活力。视频和音频元素提供跨平台兼容的播放体验,支持自适应和交互控制;画布则允许动态图形和动画创作。在线视频网站、音乐播放器和游戏开发广泛应用这些特性。尽管面临版权和性能挑战,HTML5持续发展,为网页创新带来更多可能。拥抱这些新特性,创造更丰富的网页世界!
87 0