1. html5大纲
    分析工具:https://gsnedders.html5.org/outliner/

    <section>
    <h1>HTML部分</h1>
    <section>
    <h2>HTML5的大纲上</h2>
    <section>
    <h3>什么是HTML5大纲</h3>
    </section>
    <section>
    <h3>HTML5大纲分析工具</h3>
    </section>
    <section>
    <h3>分析一个网页的大纲</h3>
    </section>
    </section>
    <section>
    <h2>HTML5的大纲下</h2>
    <section>
    <h3>显示编排</h3>
    </section>
    </section>
    </section>

      

  2. 大纲的编排规则:显示编排(用section分块,每块使用Hn标题)|隐式编排(不使用section进行明确的区块划分,根据Hn,hgroup等元素自行创建区块。因为html分析器可以根据不同级别的标题判断出对应的内容区块
    <body>
    <header>
    <h1>HTML大纲实例</h1>
    <nav>
    <ul>
    <li><a href="">首页</a></li>
    <li><a href="">产品介绍</a></li>
    <li><a href="">联系我们</a></li>
    </ul>
    </nav>
    </header>
    <article>
    <hgroup>
    <h1>文章主标题</h1>
    <h2>文章子标题</h2>
    <p>文章内容</p>
    </hgroup>
    <section>
    <h1>文章评论列表</h1>
    <article>
    <h1>文章评论A</h1>
    <p>评论内容A</p>
    </article>
    <article>
    <h1>文章评论B</h1>
    <p>评论内容B</p>
    </article>
    </section>
    </article>
    <footer>
    <small>版权所有</small>
    </footer>
    </body>

      

  3. 加强版的ol元素,start属性控制起始值,type属性控制序号标记,reversed属性反序
    1、
    <ol start="2" type="A">
    <li><a href="">有序列表</a></li>
    <li><a href="">有序列表</a></li>
    <li><a href="">有序列表</a></li>
    <li><a href="">有序列表</a></li>
    </ol>
    2、
    <ol  type="A" reversed>
     <li><a href="">有序列表</a></li>
     <li><a href="">有序列表</a></li>
     <li><a href="">有序列表</a></li>
     <li><a href="">有序列表</a></li>
    </ol>

      

  4. dl元素在html4中,是一个专门用来定义术语的列表,在HTML5中对dl元素进行了重定义,dl列表带多个dt,dd列表项
    <h1>本套课程介绍</h1>
    <article>
    <h1>HTML5+CSS3轻松入门与实战视频教程</h1>
    <p>本套课程主要讲解了……</p>
    <aside>
    <h2>术语解释</h2>
    <dl>
    <dt>HTML5</dt>
    <dd>HTML5是超文本标记语言</dd>
    <dt>CSS3</dt>
    <dd>CSS3是层叠式样式表</dd>
    </dl>
    </aside>
    </article>

      

  5. canvas元素创建画布
    1.   canvas绘制矩形

      function draw(id){
      // 1、getElementById获取canvas元素
      var canvas=document.getElementById(id);
      // 2、getContext()取得上下文
      var context=canvas.getContext('2d');
      // 3、设置绘制样式,fillStyle()填充颜色与strokeStyle()绘制边框颜色
      context.fillStyle="#000";
      context.strokeStyle="#f60";
      // 4、指定画笔宽度
      context.lineWidth=5;
      //5、从左上角开始画一个宽400高300的矩形
      context.fillRect(0,0,400,300);
      //6、绘制180*120的矩形边框
      context.strokeRect(50,50,180,120);
      }
    2. canvas绘制圆形
      function draw(id){
      var canvas=document.getElementById(id);
      var context=canvas.getContext('2d');
      // 设置填充颜色
      context.fillStyle='#f1f2f3';
      // 绘制灰色背景矩形画布
      context.fillRect(0,0,400,400);
      // 循环画圆
      for(var i=0;i<10;i++){
      // 开始创建路径
      context.beginPath();
      // 创建图形路径,context.arc(x,y,radius,startAngel,endAngel,anticlockwise),radius是半径
      // anticlockwise是布尔值,表示是否按照顺时针方向绘制,Math.PI表示180度
      context.arc(i*25,i*25,i*10,0,Math.PI*2,true);
      // 关闭路径
      context.closePath();
      // 设置填充颜色
      context.fillStyle="rgba(255,0,0,0.25)";
      // 填充颜色
      context.fill();
      } }
    3. canvas绘制文本

      • 设置字体  context.font="font-weight font-size font-family",
        font-weight可选值(normal,bold,bolder,lighter或者100到900,normal为400,bold为700

      • 设置文字垂直对齐方式    context.textBaseline=''alphabetic"
        可选值为top、middle、bottom、hanging悬挂、alphabetic是默认值

      • 设置文字水平对齐方式    textAlign="start",
        可选值为start(默认值),end ,left,center,right

      • 绘制字符串
        fillText(text,x,y,maxwidth)用填充的方法绘制字符串,text为要绘制的字符串,maxwidth为可选参数,表示显示文字时的最大宽度,防止文字溢出
        strokeText()用轮廓的方式来绘制字符串

        function draw(id){
        var canvas=document.getElementById(id);
        var context=canvas.getContext('2d');
        context.fillStyle='green';
        context.fillRect(0,0,800,300);
        context.fillStyle='white';
        context.strokeStyle='white';
        // 设置文本垂直对齐方式
        context.textBaseline='hanging';
        // context.textAlign='center'; 设置文本水平对齐方式
        // 设置字体
        context.font="bold 40px '微软雅黑','fangsong'";
        //填充方式绘制字符串
        context.fillText('欢迎收看麦子学院推出的',0,40);
        context.fillText('《HTML5+CSS3轻松入门与实战》',40,100,800);
        context.fillText('视频教程',580,160);
        // context.strokeText('轮廓字体',0,100); 轮廓方式绘制字符串
        }
    4. canvas保存文件

      很多时候绘制完成的图片需要保存,那么我们就刻意使用canvas API来完成最后一步
      canvas API使用toDataURL方法把我们绘画的状态动态地输出到一个data URL地址所指向的数据中的过程
      data URL实际上就是base64位编码的URL,主要用于小型的,可以在网页中直接嵌入,而不需要从外部嵌入的数据,比如img元素里的图像文件
      data URL的格式   data:image/jpeg;base64/9i/4……

      toDataURL的使用方法
      canvas.toDataURL(type);这个方法使用一个参数type,表述输出数据的MIME类型
      什么是MIME类型?jpg image/jpeg

      function draw(id){
      var canvas=document.getElementById(id);
      var context=canvas.getContext('2d');
      context.fillStyle='green';
      context.fillRect(0,0,400,300);
      window.location=canvas.toDataURL('image/jpeg');
      }
    5. canvas绘制动画实际上就是不断变化坐标,擦除,重绘的过程
      1、使用setInterval方法设置动画的间隔时间
       setInterval(code,millsec)  第一个参数为执行动画的函数,第二个参数为间隔时间,单位是毫秒,1秒等于1000毫秒
      2、用来绘画的函数
       方法一、通过不断变换x,y坐标来实现动画效果

      var context;
      var i=0;
      function draw(id){
      var canvas=document.getElementById(id);
      context=canvas.getContext('2d');
      setInterval(painting,100);
      }
      function painting(){
      context.fillStyle='green';
      context.fillRect(i,i,10,10);
      context.fillRect(400-i,i,10,10);
      context.fillRect(400-i,400-i,10,10);
      context.fillRect(i,400-i,10,10);
      i++;
      }

      方法二、在该函数中先用clearRect方法将画布整体或者是局部擦除
       擦除图像方法clearRect(x,y,width,height),width和heigt分别是擦子的宽高

      var context;
      var width,height;
      var i;
      function draw(id){
      var canvas=document.getElementById(id);
      context=canvas.getContext('2d');
      setInterval(painting,100);
      width=canvas.width;
      height=canvas=height;
      i=0;
      } function painting(){
      context.fillStyle='white';
      context.clearRect(0,0,width,height);
      context.fillStyle='green';
      context.fillRect(i,20,10,10);
      i+=20;
      }
  6.  Web Storage本地存储

    在HTML5中,除了canvas元素,另外一个新增的非常重要的功能就是可以在本地客户端存储数据的Web Storage功能
    在HTML4中我们是使用cookies在客户端保存用户名等等一些简单的用户信息
    cookies的缺点:大小限制在4kb、带宽浪费、难以操作

    Web Storage:
    1、sessionStorage临时保存,在打开网站到关闭网站之间要求进行保存的数据,把数据保存在session对象之中
    用法:sessionStorage.setitme('key','value')//或者sessionStorage.key='value'
    临时读取数据的方法:变量=sessionStorage.getitem('key')//或者sessionStorage.key
    2、localStorage永久保存

    html页面 [这里有个bug,id不能设置为msg]
    <h1>Web Storage本地存储</h1>
    <div id="show" style="border:1px solid red;width: 100px;height: 100px;"></div>
    <input type="text" id="input">
    <input type="button" name="save" value="临时保存" onclick="saveSession('input');">
    <input type="button" value="读取临时数据" onclick="getSession('show');">
    <input type="button" name="save" value="永久保存" onclick="saveLocal('input');">
    <input type="button" value="读取永久数据" onclick="getLocal('show');">

      js代码

    // 临时保存
    function saveSession(id){
    var target=document.getElementById(id);
    var str=target.value;
    sessionStorage.setItem('mess',str);
    }
    // 读取临时数据
    function getSession(id){
    var target=document.getElementById(id);
    var msg=sessionStorage.getItem('mess');
    target.innerHTML=msg;
    }
    // 永久保存
    function saveLocal(id){
    var target=document.getElementById(id);
    var str=target.value;
    localStorage.setItem('mess',str);
    }
    // 读取永久数据
    function getLocal(id){
    var target=document.getElementById(id);
    var msg=localStorage.getItem('mess');
    target.innerHTML=msg;
    }

      

02_HTML5+CSS详解第二天的更多相关文章

  1. 02_HTML5+CSS详解第四天

    依旧是CSS部分贴个CSS主要知识点总结的链接:http://blog.csdn.net/html5_/article/details/26098273 [自己的笔记做得好乱,以前一直以为是字丑的原因 ...

  2. 02_HTML5+CSS详解第三天

    WebStorage简单的网页留言板用到的函数有3个1.saveStorage函数使用"new Date().getTime()"语句来获取当前的日期和时间戳,然后使用localS ...

  3. 02_HTML5+CSS详解第一天

    视频来源:麦子学院 讲师:朱朝兵 HTML5概念:HTML即超文本标记语言(HyperText Makeup Language),是一种语法简单,结构清晰的解释型文档,不同于其他编程语言. HTML5 ...

  4. CSS详解

    Web前端开发css基础样式总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-255 ...

  5. 前端技术之_CSS详解第二天

    前端技术之_CSS详解第二天 1.css基础选择器 html负责结构,css负责样式,js负责行为. css写在head标签里面,容器style标签. 先写选择器,然后写大括号,大括号里面是样式. & ...

  6. css详解background八大属性及其含义

    background(背景) 以前笔者在css盒模型以及如何计算盒子的宽度一文中提到过盒模型可以看成由 元素外边距(margin).元素边框(border).元素内边距(padding)和元素内容(c ...

  7. jquery的css详解(二)

    jq的工具方法style用于设置样式,jq的实例方法css在设置样式时就是调用的它,接下来分析一下源码. jQuery.extend({ ............................ st ...

  8. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

  9. PE文件格式详解,第二讲,NT头文件格式,以及文件头格式

    PE文件格式详解,第二讲,NT头文件格式,以及文件头格式 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) PS:本篇博客 ...

随机推荐

  1. java基础概述

    写代码: 1,明确需求. 2,分析思路. 3,确定步骤. 4,代码实现. Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用 ...

  2. 【转载】MySQL · 性能优化· InnoDB buffer pool flush策略漫谈

    背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数个内存块加上一组控制结构体对象组成.内存块的个数取决于buffer pool inst ...

  3. CSS3 动画 cheatsheet

    Transition 实例 .box { height: 100px; width: 100px; background: #212121; transition: width 1s ease, he ...

  4. mysql数据库快速入门(1)

    1.数据库操作 1.1.连接mysql服务器 mysql -u root( 用户名 ) -p 1.2.退出mysql命令提示窗 exit 1.3.查看版本 SELECT VERSION(); 1.4. ...

  5. 关于soapui简介与入门

    SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Ecl ...

  6. unison+inotify实现数据双向同步

    unison是一款跨windows/linux/MAC OS平台的文件同步工具,不仅支持本地对本地同步,也支持通过SSH.RSH和Socket等网络协议进行同步.更棒的是,unison支持双向同步操作 ...

  7. 树莓派搭建WEB服务器

    树莓派搭建WEB的教程网上有许多,但感觉每一篇都有一些问题,这次我将网上的教程汇总,并亲身实践,将注意的问题都写进去,方便新手学习! 目录:1,安装nginx+sqlite+php5打造轻量级服务器, ...

  8. JavaScript判断对象是否含有某个属性

    两种方式,但稍有区别 1,in 运算符 1 2 3 var obj = {name:'jack'}; alert('name' in obj); // --> true alert('toStr ...

  9. 跨浏览器开发:CSS

    理解CSS盒子模型 如果不需要很多奇巧淫技的跨浏览器兼容的 CSS 代码,透彻地理解 CSS 盒子模型是首要事情,CSS 盒子模型并不难,且基本支持所有浏览器,除了某些特定条件下的 IE 浏览器.CS ...

  10. Java面向对象接口的应用实例练习

    interface USB { public void open(); public void close(); } class Upan implements USB { public void o ...