美文网首页
html5 学习第四天

html5 学习第四天

作者: 罗_c857 | 来源:发表于2019-10-22 10:24 被阅读0次

    HTML5 语义元素

    什么是语义元素?

    一个语义元素能够清楚的描述其意义给浏览器和开发者。

    无语义 元素实例: <div> 和 <span> - 无需考虑内容.

    语义 元素实例: <form>, <table>, and <img> - 清楚的定义了它的内容.

    HTML5 <section> 元素

    <section> 标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。

    根据W3C HTML5文档: section 包含了一组内容及其标题。

    <section> 

     <h1>WWF</h1> 

     <p>The World Wide Fund for Nature (WWF) is....</p>

    </section>

    HTML5 <article> 元素

    <article> 标签定义独立的内容。.

    <article> 元素使用实例:

    Forum post

    Blog post

    News story

    Comment

    <article> 

     <h1>Internet Explorer 9</h1>  

    <p>Windows Internet Explorer 9(缩写为 IE9 )在2011年3月14日21:00 发布。</p>

    </article>

    HTML5 <nav> 元素

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

    <nav> 元素用于定义页面的导航链接部分区域,但是,不是所有的链接都需要包含在 <nav> 元素中!

    <nav> <a href="/html/">HTML</a> |

        <a href="/css/">CSS</a> |

        <a href="/js/">JavaScript</a> |

        <a href="/jquery/">jQuery</a>

    </nav>

    HTML5 <aside> 元素

    <aside> 标签定义页面主区域内容之外的内容(比如侧边栏)。aside 标签的内容应与主区域的内容相关.

    <p>My family and I visited The Epcot center this summer.</p> 

    <aside> 

     <h4>Epcot Center</h4> 

     <p>The Epcot Center is a theme park in Disney World, Florida.</p>

    </aside>

    HTML5 <header> 元素

    <header>元素描述了文档的头部区域,<header>元素主要用于定义内容的介绍展示区域.在页面中你可以使用多个<header> 元素,以下实例定义了文章的头部:

    <article> 

         <header> 

             <h1>Internet Explorer 9</h1> 

             <p><time pubdate datetime="2011-03-15"></time></p> 

         </header> 

         <p>Windows Internet Explorer 9(缩写为 IE9 )是在2011年3月14日21:00发布的</p>

    </article>

    HTML5 <footer> 元素

    <footer> 元素描述了文档的底部区域,<footer> 元素应该包含它的包含元素,一个页脚通常包含文档的作者,著作权信息,链接的使用条款,联系信息等,文档中你可以使用多个 <footer>元素.

    <footer> 

         <p>Posted by: Hege Refsnes</p> 

         <p><time pubdate datetime="2012-03-01"></time></p>

    </footer>

    HTML5 <figure> 和 <figcaption> 元素

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

    <figure> 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。

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

    <figcaption>元素应该被置于 "figure" 元素的第一个或最后一个子元素的位置。

    <figure> 

         <img src="img_pulpit.jpg" alt="The Pulpit Rock" width="304" height="228"> 

         <figcaption>Fig1. - The Pulpit Pock, Norway.</figcaption>

    </figure>

    我们可以开始使用这些语义元素吗?

    以上的元素都是块元素(除了<figcaption>).

    为了让这些块及元素在所有版本的浏览器中生效,你需要在样式表文件中设置一下属性 (以下样式代码可以让旧版本浏览器支持本章介绍的块级元素):

    header, section, footer, aside, nav, article, figure

    {

        display: block;

    }

    Internet Explorer 8 及更早IE版本中的问题

    IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用 <header>, <section>, <footer>, <aside>, <nav>, <article>, <figure>, 或者其他的HTML5 elements.

    解决办法: 你可以使用HTML5 Shiv Javascript脚本来解决IE的兼容问题。HTML5 Shiv下载地址:https://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js

    <!--[if lt IE 9]>

    <script src="html5shiv.js"></script>

    <![endif]-->

    以上代码在浏览器小于IE9版本时会加载html5shiv.js文件. 你必须将其放置于<head> 元素中,因为 IE浏览器需要在头部加载后渲染这些HTML5的新元素

    HTML5 Web 存储

    什么是 HTML5 Web 存储?

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

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

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

    localStorage 和 sessionStorage 

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

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

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

    localStorage 对象

    localStorage 对象存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

    localStorage.sitename="菜鸟教程";

    document.getElementById("result").innerHTML="网站名:" + localStorage.sitename;

    移除 localStorage 中的 "sitename" :

    localStorage.removeItem("sitename");

    不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

    保存数据:localStorage.setItem(key,value);

    读取数据:localStorage.getItem(key);

    删除单个数据:localStorage.removeItem(key);

    删除所有数据:localStorage.clear();

    得到某个索引的key:localStorage.key(index);

    实例展示了用户点击按钮的次数。

    if (localStorage.clickcount){ 

                 localStorage.clickcount=Number(localStorage.clickcount)+1;}

            else{     

                    localStorage.clickcount=1;}

    document.getElementById("result").innerHTML=" 你已经点击了按钮 " + localStorage.clickcount + " 次 ";

    Web Storage 开发一个简单的网站列表程序

    网站列表程序实现以下功能:

        可以输入网站名,网址,以网站名作为key存入localStorage;

        根据网站名,查找网址;

        列出当前已保存的所有网站;

    //保存数据 function save(){

        var siteurl = document.getElementById("siteurl").value; 

        var sitename = document.getElementById("sitename").value; 

        localStorage.setItem(sitename, siteurl);

        alert("添加成功");}

    //查找数据  function find(){ 

        var search_site = document.getElementById("search_site").value; 

        var sitename = localStorage.getItem(search_site); 

        var find_result = document.getElementById("find_result"); 

        find_result.innerHTML = search_site + "的网址是:" + sitename;  }

    <div style="border: 2px dashed #ccc;width:320px;text-align:center;">

        <label for="sitename">网站名(key):</label> 

        <input type="text" id="sitename" name="sitename" class="text"/> 

        <br/> 

        <label for="siteurl">网 址(value):</label> 

        <input type="text" id="siteurl" name="siteurl"/> 

        <br/> 

        <input type="button" onclick="save()" value="新增记录"/> 

        <hr/> 

        <label for="search_site">输入网站名:</label> 

        <input type="text" id="search_site" name="search_site"/> 

        <input type="button" onclick="find()" value="查找网站"/> 

        <p id="find_result"><br/></p>  </div>

    HTML5 Web SQL 数据库

    Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。Web SQL 数据库可以在最新版的 Safari, Chrome 和 Opera 浏览器中工作。

    核心方法

    以下是规范中定义的三个核心方法:

    1,openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象。

    2,transaction:这个方法让我们能够控制一个事务,以及基于这种情况执行提交或者回滚。

    3,executeSql:这个方法用于执行实际的 SQL 查询。

    打开数据库

    我们可以使用 openDatabase() 方法来打开已存在的数据库,如果数据库不存在,则会创建一个新的数据库,

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

    openDatabase() 方法对应的五个参数说明:

    1,数据库名称

    2,版本号

    3,描述文本

    4,数据库大小

    5,创建回调(会在创建数据库后被调用)

    执行查询操作

    执行操作使用 database.transaction() 函数:

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

    db.transaction(function (tx) {

      tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');});

    插入数据

    在执行上面的创建表语句后,我们可以插入一些数据:

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

    db.transaction(function (tx) { 

     tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');

      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "菜鸟教程")');

      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.runoob.com")');});

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

    db.transaction(function (tx) {

      tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');

      tx.executeSql('INSERT INTO LOGS (id,log) VALUES (?, ?)', [e_id, e_log]);});

    读取数据

    以下实例演示了如何读取数据库中已经存在的数据:

    var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);

    db.transaction(function (tx) { 

    tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');

      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "菜鸟教程")');

      tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "www.runoob.com")');});

    db.transaction(function (tx) {  

     tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {      

            var len = results.rows.length, i;

          msg = "<p>查询记录条数: " + len + "</p>";

          document.querySelector('#status').innerHTML +=  msg;

          for (i = 0; i < len; i++){       

                 alert(results.rows.item(i).log );

          }   

      }, null);});

    删除记录

    删除记录使用的格式如下:

    db.transaction(function (tx) { 

     tx.executeSql('DELETE FROM LOGS WHERE id=1');});

    删除指定的数据id也可以是动态的:

    db.transaction(function(tx) { 

     tx.executeSql('DELETE FROM LOGS WHERE id=?', [id]);});

    更新记录

    更新记录使用的格式如下:

    db.transaction(function (tx) { 

     tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=2');});

    更新指定的数据id也可以是动态的:

    db.transaction(function(tx) { 

     tx.executeSql('UPDATE LOGS SET log=\'www.w3cschool.cc\' WHERE id=?', [id]);});

    相关文章

      网友评论

          本文标题:html5 学习第四天

          本文链接:https://www.haomeiwen.com/subject/nvgfvctx.html