HTML5---新标签与特性

1.HTML5新标签与特性

HTML5 是对 HTML 标准的第五次修订,目前仍未完工。2014年10月由万维网联盟(W3C)完成标准制定,其设计目的是为了在移动设备上支持多媒体。HTML5的出现,对于WEB来说意义重大。因为它的意图是想要把目前WEB上存在的各种问题一并解决掉,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。

  • Web浏览器之间的兼容性很低

  • 文档结构不够明确(增加了很多结构, 语义化的标签)

  • Web应用程序的功能受到了限制Web浏览器之间的兼容性很低

总之:HTML5就是对HTML4已有标签属性的删除和增加,另外又增加了新的多媒体等标签,解决目前WEB上存在的问题。

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

  • 用于绘画的 canvas 元素
  • 用于媒介回放的 video 和 audio 元素
  • 对本地离线存储的更好的支持
  • 新的特殊内容元素,比如 article、footer、header、nav、section
  • 新的表单控件,比如 calendar、date、time、email、url、search

1.1 文档类型设定

  • document
    • HTML: html:4t
    • XHTML: html:xt
    • HTML5: html:5

1.2 字符设定

  • :HTML与XHTML中建议这样去写,其中,http-equiv 属性可用于模拟一个 HTTP 响应头。
  • :HTML5的标签中建议这样去写

1.3 常用新标签

w3c 手册中文官网:http://www.w3school.com.cn/

  • header:定义文档的页眉

  • nav:定义导航链接的部分

  • footer:定义文档或节的页脚

  • article:标签规定独立的自包含内容

  • section:定义文档中的节(section、区段)

  • aside:定义其所处内容之外的内容

  • datalist:标签定义选项列表。请与 input 元素配合使用该元素,其中input的list属性值必须和datalist的id值一致。(修改后要刷新页面)

  • fieldset:可将表单内相关元素分组,与legend 配合使用

  • meter: 使用 meter 元素来度量给定范围(gauge)内的数据

    <meter value="3" min="0" max="10">十分之三meter>
    
  • progress: 标签定义运行中的进度(进程)

    <progress value="3" min="0" max="10">progress>
    

1.4 常用新属性

属性**** 用法**** 含义****
placeholder**** 占位符提供可描述输入字段预期值的提示信息
autofocus**** 规定当页面加载时 input 元素应该自动获得焦点
multiple**** 多文件上传
autocomplete**** 规定表单是否应该启用自动完成功能,on默认,启用自动完成(name必须,提交按钮必须)
required**** 必填项
accesskey**** 规定激活(使元素获得焦点)元素的快捷键,Alt+S键

1.5 新增的input的type属性值:

类型**** 使用示例**** 含义****
email**** 输入邮箱格式
tel**** 输入手机号码格式
url**** 输入url格式
number**** 输入数字格式
search**** 搜索框(体现语义化)
range**** 自由拖动滑块
time****
date****
datetime****
month****
week****

综合案例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WoBIu6yz-1574499871178)(media\zonghe.png)]

<form action="">
  <fieldset>
    <legend>学生档案legend>
    <label for="userName">姓名:label>
    <input type="text" name="userName" id="userName" placeholder="请输入用户名"> <br>
    <label for="userPhone">手机号码:label>
    <input type="tel" name="userPhone" id="userPhone" pattern="^1\d{10}$"><br>
    <label for="email">邮箱地址:label>
    <input type="email" required name="email" id="email"><br>
    <label for="collage">所属学院:label>
    <input type="text" name="collage" id="collage" list="cList" placeholder="请选择"><br>
    <datalist id="cList">
      <option value="前端与移动开发学院">option>
      <option value="java学院">option>
      <option value="c++学院">option>
    datalist><br>
    <label for="score">入学成绩:label>
    <input type="number" max="100" min="0" value="0" id="score"><br>
    <label for="level">基础水平:label>
    <meter id="level" value="10" max="100" min="0" low="59" high="90">meter><br>
    <label for="inTime">入学日期:label>
    <input type="date" id="inTime" name="inTime"><br>
    <label for="leaveTime">毕业日期:label>
    <input type="date" id="leaveTime" name="leaveTime"><br>
    <input type="submit">
  fieldset>
form>

1.6 多媒体标签

  • embed:标签定义嵌入的内容

  • audio:播放音频

  • video:播放视频

1.6.1 多媒体 embed(会使用)

embed可以用来插入各种多媒体,格式可以是 Midi、Wav、AIFF、AU、MP3等等。url为音频或视频文件及其路径,可以是相对路径或绝对路径。我们这里只讲解 插入网络视频, 后面H5会讲解 audio 和video 视频多媒体。

<embed height=498 width=510 src='http://player.youku.com/embed/XNDMyNDAxMTM5Ng==' 'allowfullscreen'>embed>

优酷,土豆,爱奇艺,腾讯、乐视等等

  1. 先上传
  2. 在分享

1.6.2 多媒体 audio

HTML5通过标签来解决音频播放的问题。

使用相当简单,如下图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DpFJKC4g-1574499871180)(media\1498468026526.png)]

并且可以通过附加属性可以更友好控制音频的播放,如:

autoplay 自动播放(目前很多浏览器不支持自动播放)

controls 是否显不默认播放控件

loop 循环播放

由于版权等原因,不同的浏览器可支持播放的格式是不一样的,如下图供参考

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uurhM9OL-1574499871181)(media\1498468041058.png)]

多浏览器支持的方案,如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrPJ1Ctz-1574499871183)(media\1498468052965.png)]

1.6.3多媒体 video

HTML5通过标签来解决音频播放的问题。

同音频播放一样,使用也相当简单,如下图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ey1PnPn4-1574499871186)(media\1498468072194.png)]

同样,通过附加属性可以更友好的控制视频的播放

autoplay 自动播放(18年开始,谷歌浏览器不支持自动播放)

muted 静音播放

controls 是否显示默认播放控件

loop 循环播放

width 设置播放窗口宽度

height 设置播放窗口的高度

由于版权等原因,不同的浏览器可支持播放的格式是不一样的,如下图供参考

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AaD1gg5s-1574499871188)(media\1498468086199.png)]

多浏览器支持的方案,如下图****

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jQwtB55G-1574499871190)(media\1498468097509.png)]

2.字体图标

图片是有诸多优点的,但是缺点很明显,比如图片不但增加了总文件的大小,还增加了很多额外的"http请求",这都会大大降低网页的性能的。更重要的是图片不能很好的进行“缩放”,因为图片放大和缩小会失真。 我们后面会学习移动端响应式,很多情况下希望我们的图标是可以缩放的。此时,一个非常重要的技术出现了,额不是出现了,是以前就有,是被从新"宠幸"啦。。 这就是字体图标(iconfont).

2.1 字体图标优点

可以做出跟图片一样可以做的事情,改变透明度、旋转度,等..
但是本质其实是文字,可以很随意的改变颜色、产生阴影、透明效果等等...
本身体积更小,但携带的信息并没有削减。
几乎支持所有的浏览器
移动端设备必备良药...

2.2 字体图标使用流程

总体来说,字体图标按照如下流程:

2.3 设计字体图标

假如图标是我们公司单独设计,那就需要第一步了,这个属于UI设计人员的工作, 他们在 illustrator 或 Sketch 这类矢量图形软件里创建 icon图标, 比如下图:

之后保存为svg格式,然后给我们前端人员就好了。

其实第一步,我们不需要关心,只需要给我们这些图标就可以了,如果图标是大众的,网上本来就有的,可以直接跳过第一步,进入第三步。

2.4 上传生成字体包

当UI设计人员给我们svg文件的时候,我们需要转换成我们页面能使用的字体文件, 而且需要生成的是兼容性的适合各个浏览器的。

阿里icon font字库

http://www.iconfont.cn/

这个是阿里妈妈M2UX的一个icon font字体图标字库,包含了淘宝图标库和阿里妈妈图标库。可以使用AI制作图标上传生成。 一个字,免费,免费!!

icomoon字库

IcoMoon成立于2011年,推出的第一个自定义图标字体生成器,它允许用户选择他们所需要的图标,使它们成一字型。 内容种类繁多,非常全面,唯一的遗憾是国外服务器,打开网速较慢。

http://www.iconfont.cn/

fontello

http://fontello.com/

在线定制你自己的icon font字体图标字库,也可以直接从GitHub下载整个图标集,该项目也是开源的。

Font-Awesome

http://fortawesome.github.io/Font-Awesome/

这是我最喜欢的字库之一了,更新比较快。目前已经有369个图标了。

Glyphicon Halflings

http://glyphicons.com/

这个字体图标可以在Bootstrap下免费使用。自带了200多个图标。

Icons8

https://icons8.com/

提供PNG免费下载,像素大能到500PX

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z4HkWA0X-1574499871192)(media\1513132290173.png)]

2.5 下载兼容字体包

刚才上传完毕, 网站会给我们把UI做的svg图片转换为我们的字体格式, 然后下载下来就好了

当然,我们不需要自己专门的图标,是想网上找几个图标使用,以上2步可以直接省略了, 直接到刚才的网站上找喜欢的下载使用吧。

2.6 字体引入到HTML

得到压缩包之后,最后一步,是最重要的一步了, 就是字体文件已经有了,我们需要引入到我们页面中。

  1. 首先把 以下4个文件放入到 fonts文件夹里面。 通俗的做法

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cpzR3l95-1574499871194)(media\1498032122244.png)]

    第一步:在样式里面声明字体: 告诉别人我们自己定义的字体
    @font-face {
      font-family: 'icomoon';
      src:  url('fonts/icomoon.eot?7kkyc2');
      src:  url('fonts/icomoon.eot?7kkyc2#iefix') format('embedded-opentype'),
        url('fonts/icomoon.ttf?7kkyc2') format('truetype'),
        url('fonts/icomoon.woff?7kkyc2') format('woff'),
        url('fonts/icomoon.svg?7kkyc2#icomoon') format('svg');
      font-weight: normal;
      font-style: normal;
    }
    
    第二步:给盒子使用字体
    span {
    		font-family: "icomoon";
    	}
    
    第三步:盒子里面添加结构
    span::before {
    		 content: "\e900";
    	}
    或者  
      
    

    追加新图标到原来库里面

    如果工作中,原来的字体图标不够用了,我们需要添加新的字体图标,但是原来的不能删除,继续使用,此时我们需要这样做

    把压缩包里面的selection.json 从新上传,然后,选中自己想要新的图标,从新下载压缩包,替换原来文件即可。

3.运用知识点

3.1 引入ico图标

代码:       

注意:

  1. 它不是iconfont字体哦 也不是图片。

  2. 位置是放到 head 标签中间。

  3. 后面的type=“image/x-icon” 属性可以省略。(我相信你也愿意省略。)

  4. 为了兼容性,请将favicon.ico 这个图标放到根目录下。(我们就不要任性了,听话放位置,省很多麻烦。。你好,我也好)

3.2 转换ico图标

我们可以自己做的图片,转换为 ico图标,以便放到我们站点里面。 http://www.bitbug.net/

4. 网站优化三大标签

SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”!SEO是指通过对网站进行站内优化、网站结构调整、网站内容建设、网站代码优化等)和站外优化,从而提高网站的关键词排名以及公司产品的曝光度。 简单的说就是,把产品做好,搜索引擎就会介绍客户来。

我们现在阶段主要进行站内优化。网站优化,我们应该要懂。。。

网页title 标题

title具有不可替代性,是我们的内页第一个重要标签,是搜索引擎了解网页的入口,和对网页主题归属的最佳判断点。

建议:

首页标题:网站名(产品名)- 网站的介绍

例如:

小米商城 - 小米5s、红米Note 4、小米MIX、小米笔记本官方网站

Description 网站说明

对于关键词的作用明显降低,但由于很多搜索引擎,仍然大量采用网页的MATA标签中描述部分作为搜索结果的“内容摘要”。 就是简要说明我们网站的主要做什么的。
我们提倡,Description作为网站的总体业务和主题概括,多采用“我们是…”“我们提供…”“×××网作为…”“电话:010…”之类语句。
苏宁易购:



注意点:

  1. 描述中出现关键词,与正文内容相关,这部分内容是给人看的,所以要写的很详细,让人感兴趣, 吸引用户点击。
  2. 同样遵循简短原则,字符数含空格在内不要超过 120 个汉字。
  3. 补充在 title 和 keywords 中未能充分表述的说明.
  4. 用英文逗号 关键词1,关键词2


Keywords 关键字

Keywords是页面关键词,是搜索引擎关注点之一。Keywords应该限制在6~8个关键词左右,电商类网站可以多 少许。

京东网:



小米网:


网站收录

百度:https://ziyuan.baidu.com/linksubmit/url

搜狗:http://fankui.help.sogou.com/

360:http://info.so.360.cn/

站长之家:http://www.webmasterhome.cn/seo/addurl.asp

5.W3C 统一验证工具

W3C 统一验证工具: http://validator.w3.org/unicorn/ ☆☆☆☆☆

可以检测本地文件

css 代码压缩:http://tool.chinaz.com/Tools/CssFormat.aspx

6. Markdown 是什么

Markdown是目前互联网上最流行的写作语言,它使用一些简单的符号(* / ` > [] () #)来标记文本格式,其简洁的语法、优美的格式以及强大的软件支持深受广大网友的喜爱。

维基百科上对 Markdown 的描述:

Markdown是一种轻量级标记语言,创始人是约翰·格鲁伯(John Gruber)。它允许人们 “使用易读易写的纯文本格式编写文档,然后转换成有效的 HTML 文档。”

为什么要用 Markdown?回想一下我们在写作的时候会遇到什么样的问题?

Word 应该是大家写作时最常用的软件,每当打开一个 Word 文档,速度慢先不说,应该是现代互联网时代大家最先要学会的事情。

  • 软件不兼容:这个想必是大家最痛苦的事情,我用的 Word 版本是 2016,你用的是 2003,两人互传资料,一打开格式全乱了。

  • 写作时总想着换种字体会不会好看一些,换个颜色试试,用一下这个功能怎么样等等,时间就是这样一点点被浪费的。罗振宇在 2016 年 “时间的朋友” 跨年演讲中提到过一个观点我非常认同,他说:”当我需要一个服务的时候,不要给我太多选择,请直接告诉我什么是最好的,我要你的最佳方案”。难以团队协作:如果一个项目需要多人共同参与,比如共同翻译一本书,你可能需要版本管理、相互 Review、开放试读、开源、自出版等等,这些使用 Word 是无法满足需求的。

  • Markdown 如何解决这些问题的呢?语法简单:Markdown 的语法是一些简单而且常用的标记符号,任何人只要花几分钟就能学会;兼容性强:Markdown 是兼容性非常强的纯文本内容,可以使用任何编辑器打开,格式都不会乱;导出方便:Markdown 可以导出 PDF、Word、HTML、Epub、LaTeX 等文件格式;专注内容:使用 Markdown 写作再也不用纠结排版,其简洁优雅的格式会让你沉浸到写作的乐趣之中;团队协作:Github、Gitlab、Gitbook 都支持 Markdown,团队协作再也不是问题了;

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uk5h5KUw-1574499871196)(media\mdyufa.png)]

你可能感兴趣的:(HTML5)