HTML5基础

什么是HTML5?

HTML5 是最新的 HTML 标准。

HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件。

HTML5 拥有新的语义、图形以及多媒体元素。

HTML5 提供的新元素和新的 API 简化了 web 应用程序的搭建。

HTML5 是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。

HTML5新特性

HTML5 的一些最有趣的新特性:

新的语义元素,比如 <header>, <footer>, <article>, and <section>。

新的表单控件,比如数字、日期、时间、日历和滑块。

强大的图像支持(借由 <canvas> 和 <svg>)

强大的多媒体支持(借由 <video> 和 <audio>)

强大的新 API,比如用本地存储取代 cookie。

HTML5被删元素:

以下 HTML 4.01 元素已从 HTML5 中删除:

<acronym> <applet> <basefont> <big> <center> <dir> <font> <frame> <frameset> <noframes> <strike> <tt>

HTML5兼容浏览器:

所有现代浏览器都支持 HTML5。

此外,所有浏览器,不论新旧,都会自动把未识别元素当做行内元素来处理。

正因如此,您可以帮助老式浏览器处理”未知的“ HTML 元素。

注:您甚至可以教授石器时代的 IE6 如何处理未知的 HTML 元素。

把 HTML5 元素定义为块级元素

HTML5 定义了八个新的语义 HTML 元素。所有都是块级元素。

您可以把 CSS display 属性设置为 block,以确保老式浏览器中正确的行为

header, section, footer, aside, nav, main, article, figure {
      display: block; 
}

此外你还可以通过浏览器 trick 向 HTML 添加任何新元素

向 HTML 添加了一个名为 <myHero> 的新元素,并为其定义 display :block

Internet Explorer 的问题

上述方案可用于所有新的 HTML5 元素,但是:

注意:Internet Explorer 8 以及更早的版本,不允许对未知元素添加样式。

幸运的是,Sjoerd Visscher 创造了 "HTML5 Enabling JavaScript", "the shiv":

<!--[if lt IE 9]>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
 <![endif]-->

 引用 shiv 代码的链接必须位于 <head> 元素中,因为 Internet Explorer 需要在读取之前认识所有新元素。

以上代码是一段注释,但是 IE9 的早期版本会读取它(并理解它)。

HTML5新元素:

HTML5 提供的新元素可以构建更好的文档结构:

<article>    定义页面独立的内容区域。

<aside>    定义页面的侧边栏内容。

<bdi>    允许您设置一段文本,使其脱离其父元素的文本方向设置。

<details>    用于描述文档或文档某个部分的细节

<dialog>    定义对话框,比如提示框

<summary>    标签包含 details 元素的标题

<figure>    规定独立的流内容(图像、图表、照片、代码等等)。

<figcaption>    定义 <figure> 元素的标题

<footer>    定义 section 或 document 的页脚。

<header>    定义了文档的头部区域

<mark>  定义带有记号的文本。

<meter>  定义度量衡。仅用于已知最大和最小值的度量。

<nav>    定义导航链接的部分。

<progress>  定义任何类型的任务的进度。

<ruby>      定义 ruby 注释(中文注音或字符)。

<rt>  定义字符(中文注音或字符)的解释或发音。

<rp>  在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。

<section>  定义文档中的节(section、区段)。

<time>    定义日期或时间。

<wbr>    规定在文本中的何处适合添加换行符。 具体使用参考:https://www.runoob.com/html/html5-new-element.html

HTML5新的表单元素:

<datalist> 定义输入控件的预定义选项。

<datalist> 元素为 <input> 元素规定预定义选项列表。

用户会在他们输入数据时看到预定义选项的下拉列表。

<input> 元素的 list 属性必须引用 <datalist> 元素的 id 属性。

<form action="#">
     <input list="browsers" name="browser">
     <datalist id="browsers">
         <option value="Internet Explorer">
         <option value="Firefox">
         <option value="Chrome">
         <option value="Opera">
         <option value="Safari">
     </datalist>
     <input type="submit">
</form>
!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>
    <link rel="stylesheet" href="./css/index.css">
</head>
<body>
    <form action="#">
        <input type="text" list="lang">
        <datalist id="lang">
            <option value="HTML5">HTML5</option>
            <option value="CSS3">CSS3</option>
            <option value="Bootstrap">Bootstrap</option>
            <option value="ES6">ES6</option>
        </datalist>
    </form>
</body>
</html>

HTML5媒体元素:

<audio>    定义音频内容

<video>    定义视频(video 或者 movie)

<source>    定义多媒体资源 <video> 和 <audio>

<embed>    定义嵌入的内容,比如插件。

 <!-- <audio>	定义音频内容 -->
    <!-- controls显示控件 -->
    <!-- autoplay 自动播放 -->
    <audio src="./source/清水er - 大天蓬 (女生版) .mp3" controls autoplay></audio>
    <!-- <video>	定义视频(video 或者 movie)-->
    <video src="./source/RÉCORD站姐最新更新|朴彩英(rosé)cover.太阳《眼,鼻,嘴》18082.mp4" controls autoplay></video>
    <audio controls>
        <source src="./source/清水er - 大天蓬 (女生版) .mp3"/>
        <source src="./source/苏名哲 - 好运来.mp3"/>
    </audio>
    <!-- <embed>	定义嵌入的内容,比如插件。 -->
    <embed src="./source/清水er - 大天蓬 (女生版) .mp3" type="">
    <embed src="./03-HTML5新的表单元素.html" type="">

cookie:

<body>
    <!-- 
        Cookie 是一些数据, 存储于你电脑上的文本文件中。
        当 web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。
        Cookie 的作用就是用于解决 "如何记录客户端的用户信息":
            当用户访问 web 页面时,他的名字可以记录在 cookie 中。
            在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。
     -->

</body>
<script>
    // JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie
    // 创建cookie
    document.cookie = 'name=张三'
    // 为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:
    // document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";
    // 您可以使用 path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。
    // document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";


    // 修改(覆盖)
    document.cookie = 'name=李四'
    // 删除(设置过期时间)
    document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 GMT";
    // 读取cookie
    var x = document.cookie;
    console.log(x);
</script>

HTML5 Web 存储:

HTML5 web 存储,一个比cookie更好的本地存储方式。

什么是 HTML5 Web 存储?

使用HTML5可以在本地存储用户的浏览数据。

早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.

数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

Internet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存储。

注意: Internet Explorer 7 及更早IE版本不支持web 存储.

客户端存储数据的两个对象:

localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。

sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

localStorage:

<body>
    <div id="result"></div>
</body>
<script>
    if (typeof (Storage)) {
        // 添加
        localStorage.name = "张三"
        // 添加 key-value
        localStorage.setItem('sex','男')
        // 获取 key
        var sex= localStorage.getItem('sex')
        console.log(sex);
        // 移除
        // localStorage.removeItem('name')
        // 删除所有
        // localStorage.clear()
        // 得到某个索引的key
        var value = localStorage.key(0)
        console.log(value);
        console.log(localStorage);
        document.getElementById('result').innerHTML = localStorage.name
    } else {
        console.log('不支持');
    }
</script>
<body>
    <div id="result"></div>
    <button onclick="counter()">+1</button>
</body>
<script>

    function counter() {
        if (typeof (Storage)) {
            if (localStorage.num != 'NaN') {
                localStorage.num = Number(localStorage.num) + 1
            } else {
                localStorage.num = 1
            }
            console.log(localStorage.num);
            document.getElementById('result').innerHTML = localStorage.num
        } else {
            console.log('不支持');
        }
    }
</script>

sessionStorage:

<body>
    <div id="result"></div>
</body>
<script>
    if (typeof (Storage)) {
        // 添加
        sessionStorage.name = "张三"
        // 添加 key-value
        sessionStorage.setItem('sex','男')
        // 获取 key
        var sex= sessionStorage.getItem('sex')
        console.log(sex);
        // 移除
        // sessionStorage.removeItem('name')
        // 删除所有
        // sessionStorage.clear()
        // 得到某个索引的key
        var value = sessionStorage.key(0)
        console.log(value);
        console.log(sessionStorage);
        document.getElementById('result').innerHTML = sessionStorage.name
    } else {
        console.log('不支持');
    }

    
</script>
<body>
    <div id="result"></div>
    <button onclick="counter()">+1</button>
</body>
<script>

    function counter() {
        if (typeof (Storage)) {
            if (sessionStorage.num != 'NaN') {
                sessionStorage.num = Number(sessionStorage.num) + 1
            } else {
                sessionStorage.num = 1
            }
            console.log(sessionStorage.num);
            document.getElementById('result').innerHTML = sessionStorage.num
        } else {
            console.log('不支持');
        }
    }
</script>

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值