html5最快熟练掌握并上手

1. 重点提炼

  • 【了解】什么是HTML5
  • 【理解】HTML5新标签
  • 【记忆】HTML5新增表单元素属性

2. 什么是 HTML5

2.1 HTML版本

image-20200816092217512


2.2 html5简介

万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改。用于取代HTML4XHTML的新一代标准版本,所以叫HTML5。作为新的html语言,具有新的元素,属性和行为。


XHTML 可扩展超文本标记语言
XHTML是一种增强了的HTML,它的可扩展性和灵活 性将适应未来网络应用更多的需求 。


HTML5
HTML5的设计目的是为了在移动设备上支持多媒体,有更大的技术集,允许更多样化和强大的网站和应用程序。

增加了新特性:语义特性,本地存储特性,设备兼容特 性,连接特性,网页多媒体特性,三维、图形及特效特 性,性能与集成特性,CSS3特性。

废弃一些元素和属性比如 fontcenter 等…


2.3 HTML5 的概念与定义

  • 定义:HTML5 定义了 HTML 标准的最新版本,是对 HTML 的第五次重大修改,号称下一代的 HTML
  • 两个概念:
    • 是一个新版本的 HTML 语言,定义了新的标签、特性和属性
    • 拥有一个强大的技术集,这些技术集是指: HTML5CSS3javascript, 这也是广义上的 HTML5

2.4 HTML5 拓展了哪些内容

  • 语义化标签
  • 本地存储
  • 兼容特性
  • 2D3D
  • 动画、过渡
  • CSS3 特性
  • 性能与集成

2.5 HTML5 的现状

绝对多数新的属性,都已经被浏览器所支持,最新版本的浏览器已经开始陆续支持最新的特性,

总的来说:HTML5 已经是大势所趋


2.6 优势与劣势

HTML5 优势

提高可用性和改进用户的友好体验
更好的语义化标签
可以给站点带来更多的多媒体元素(视频和音频)
可以很好的替代FLASHSilverlight
当涉及到网站的抓取和索引的时候,对于SEO很友好;
将被大量应用于移动应用程序和游戏
可移植性好


HTML5 劣势

该标准并未能很好的被PC端浏览器所支持


2.7 HTML5前景趋势

  • 移动优先
  • 游戏开发者领衔“主演”

image-20200816092951427


2.8 广义的HTML5


2.9 小结

  • HTML5就是HTML 版本的第五次重大修改,目的为了适用移动端的发展
  • 版本: HTML4XHTMLHTML5
  • 简单了解 HTML5 的优缺点
  • HTML5 前景移动端优先
  • 广义的HTML5HTML5本身 + CSS3 +JavaScript

3. HTML5 新增标签

3.1 什么是语义化

以前布局,我们基本用div来做。 div 对于搜索引擎来说,是没有语义的。

<div class=“header”> </div>
<div class=“nav”> </div>
<div class=“content”> </div>
<div class=“footer”> </div>

3.2 新增了那些语义化标签

  • header — 头部标签
  • nav — 导航标签
  • article — 内容标签
  • section — 块级标签
  • aside — 侧边栏标签
  • footer — 尾部标签

主要目的是帮助搜索引擎更快抓取信息。

在这里插入图片描述

3.2.1 example01

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        header,
        nav,
        section {
            display: block;
            height: 120px;
            background-color: pink;
            margin: 10px;
        }
    </style>

</head>

<body>
    <header> header</header>
    <header> header</header>
    <nav> nav </nav>
    <section></section>
</body>

</html>

image-20200816095537621

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.08
Branch: branch04
commit description:a2.08(example01—— HTML5新增语义标签)

tag:a2.08


3.3 使用语义化标签的注意

  • 语义化标签主要针对搜索引擎
  • 新标签可以使用一次或者多次
  • IE9 浏览器中,需要把语义化标签都转换为块级元素
  • 语义化标签,在移动端支持比较友好,
  • 另外,HTML5 新增的了很多的语义化标签,随着课程深入,还会学习到其他的

4. 多媒体音频标签重点提炼

  1. 多媒体标签有两个,分别是

    • 音频 – audio
    • 视频 – video
  2. audio 标签说明

    • 可以在不使用标签的情况下,也能够原生的支持音频格式文件的播放,
    • 但是:播放格式是有限的
  3. audio 支持的音频格式

    • audio 目前支持三种格式
  4. audio 的参数


5. 多媒体视频标签

多媒体标签包含两个,具体如下:

  • 音频:<audio>
  • 视频:<video>

使用它们可以很方便的在页面中嵌入音频和视频,而不再去使用落后的 flash 和其他浏览器插件


5.1 audio音频标签

HTML5 在不使用插件的情况下也可以原生的支持音频格式文件的播放,当然支持格式是有限的。


5.1.1 音频格式

当前,<audio>元素支持三种音频格式:

格式IE9Firefox3.5Opera10.5Chrome3.0Safari3.0
Ogg Vorbis✔️✔️✔️
MP3✔️✔️✔️
Wav✔️✔️✔️

5.1.2 <audio> 音频标签语法格式

<audio src="文件地址" controls="controls"></audio>

< audio controls="controls"	>
<source src="happy.mp3" type="audio/mpeg" >
<source src="happy.ogg" type="audio/ogg" >
您的浏览器暂不支持audio标签。
</ audio>

5.1.3 <audio> 音频标签常见属性

属性描述
autoplayautoplay如果出现该属性,则音频在就绪后马上播放。(谷歌浏览器把该属性禁了)
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
looploop如果出现该属性,则每当音频结束时重新开始播放。(循环播放)
preloadpreload如果出现该属性,则音频在页面加载时进行加载,并预备播放。 如果使用 “autoplay”,则忽略该属性。
srcurl要播放的音频的 URL。

5.1.4 example02

5.1.4.1 example02-1
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
     <audio src="media/snow.mp3" controls="controls"></audio>
</body>

</html>

直接播放就可以听到音乐了。

image-20200816102840165

image-20200816103255495

但是它的重大缺陷大家也可以看到,就是不同浏览器,播放风格不统一。

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.09
Branch: branch04
commit description:a2.09(example02-1——audio标签的基本使用)

tag:a2.09


5.1.4.2 example02-2

因为不同浏览器支持不同格式,我们采取的解决方案是我们为这个音频准备多个格式。

准备多个来源。 => 浏览器如果不兼容第一个source,就会去找第二个,有点类似if逻辑判断。

    <audio controls="controls">
        <source src="media/snow.mp3" type="audio/mpeg" />
        <source src="media/snow.ogg" type="audio/ogg" />
            您的浏览器不支持播放声音
    </audio>

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.10
Branch: branch04
commit description:a2.10(example02-2——audio标签兼容使用)

tag:a2.10


5.2 video 视频标签

  • 目前支持三种格式(基本准备mp4和ogg,大部分浏览器均是支持的)
格式IEFirefoxOperaChromeSafari
OggNo3.5+10.5+5.0+No
MPEG 49.0+NoNo5.0+3.0+
WebMNo4.0+10.6+6.0+No

5.2.1 <video> 视频标签语法格式

<video src="文件地址" controls="controls"></video>

< video	controls="controls"	width="300">
<source src="move.ogg" type="video/ogg" >
<source src="move.mp4" type="video/mp4" >
您的浏览器暂不支持video标签。播放视频
</ video >

5.2.2 <video> 视频标签常见属性

属性描述
autoplayautoplay视频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放问题)
controlscontrols向用户显示播放控件
widthpixels(像素)设置播放器宽度
heightpixels(像素)设置播放器高度
looploop播放完是否继续播放该视频,循环播放
preloadauto(预先加载视频)none(不应加载视频)规定是否预加载视频(如果有了autoplay 就忽略该属性)
srcurl视频url地址
posterImgurl加载等待的画面图片
mutedmuted静音播放

5.2.3 video 代码演示

<body>
  <!-- <video src="./media/video.mp4" controls="controls"></video> -->

  <!-- 谷歌浏览器禁用了自动播放功能,如果想自动播放,需要添加 muted 属性 -->
  <video controls="controls" autoplay muted loop poster="./media/pig.jpg">
    <source src="./media/video.mp4" type="video/mp4">
    <source src="./media/video.ogg" type="video/ogg">
  </video>
</body>

5.2.4 example03

5.2.4.1 example03-1

一般视频会非常大且清晰度高,这样缩小之后不至于模糊。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        video {
            width: 300px;
        }
    </style>
</head>

<body>
     <video src="media/video.mp4" controls="controls"></video>
</body>

</html>

在这里插入图片描述

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.11
Branch: branch04
commit description:a2.11(example03-1——video标签使用)

tag:a2.11


5.2.4.2 example03-2

因为不同浏览器,播放控件的样式都不一样,所以有的时候是不需要,而是自动播放的。

谷歌浏览器把自动播放功能给禁用了(其他浏览器不禁用)

有解决方案: 给视频添加静音属性,同时设置循环播放,并设置兼容性

<video autoplay muted="muted" loop="loop">

    <video autoplay muted="muted" loop="loop">
        <source src="media/video.mp4" type="video/mp4" />
        <source src="media/video.ogg" type="video/ogg" />
        您的浏览器太low了,不支持播放此视频
    </video>

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.12
Branch: branch04
commit description:a2.12(example03-2——video标签使用,给视频添加静音属性,同时设置循环播放,并设置兼容性)

tag:a2.12


5.2.4.3 example03-3

可以设置播放加载等待的画面图片

    <video muted="muted" loop="loop" poster="media/pig.jpg" controls>
        <source src="media/video.mp4" type="video/mp4" />
        <source src="media/video.ogg" type="video/ogg" />
        您的浏览器太low了,不支持播放此视频
    </video>

image-20200816123235222
在这里插入图片描述

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.13
Branch: branch04
commit description:a2.13(example03-3——video标签使用,设置播放加载等待的画面图片)

tag:a2.13


5.3 总结

  • 音频标签与视频标签使用基本一致
  • 多媒体标签在不同浏览器下情况不同,存在兼容性问题
  • 谷歌浏览器把音频和视频标签的自动播放都禁止了
  • 谷歌浏览器中视频添加 muted 标签可以自己播放,音频不可以
  • 视频标签是重点,我们经常设置自动播放,不使用controls控件,循环和设置大小属性
  • 注意:重点记住使用方法以及自动播放即可,其他属性可以在使用时查找对应的手册

6. H5新增input表单

属性值说明
type=“email”限制用户输入必须为Email类型(验证)
type=“url”限制用户输入必须为URL类型(验证)
type=“date”限制用户输入必须为日期类型(验证)
type=“time”限制用户输入必须为时间类型(验证)
type=“month”限制用户输入必须为月类型(验证)
type=“week”限制用户输入必须为周类型(验证)
type=“number”限制用户输入必须为数字类型(验证)
type=“tel”手机号码
type=“search”搜索框
type=“color”生成一个颜色选择表单

6.1 example04

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <form action="">
        邮箱: <input type="email" />
        <input type="submit" value="提交">
    </form>
</body>

</html>

    <form action="">
        <ul>
            <li>邮箱: <input type="email" /></li>
            <li>网址: <input type="url" /></li>
            <li> <input type="submit" value="提交"></li>
        </ul>
    </form>

必须输入完整url

<li>日期: <input type="date" /></li>

<li>时间: <input type="time" /></li>

重点在于输入数字,做数字验证。

只能输入数字和e(科学计数法)。

<li>数量: <input type="number" /></li>

重点在于手机号码,注册用户都需要它。

<li>手机号码: <input type="tel" /></li>

由于各个国家手机号码格式不一定一样,这里没做验证。

重点在于搜索框,在页面当中也会经常用到。

<li>搜索: <input type="search" /></li>

可以点击✖️ 任何一次性删除所有内容。

颜色选择表单。

<li>颜色: <input type="color" /></li>

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.14
Branch: branch04
commit description:a2.14(example04——h5表单使用)

tag:a2.14

我们可以在手机上看看效果。

在这里插入图片描述


7. H5新增表单属性

属性说明
requiredrequired表单拥有该属性表示其内容不能为空,必填
placeholder提示文本(占位符)表单的提示信息,存在默认值将不显示
autofocusautofocus自动聚焦属性,页面加载完成自动聚焦到指定表单
autocompleteoff / on当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。 默认已经打开,如 autocomplete=”on “关闭 autocomplete =”off”-需要放在表单内同时加上name属性-同时成功提交
multiplemultiple可以多选文件提交

7.1 example05

以上表单,几乎是什么都可以提交。

required属性限制表单不能为空

    <form action="">
        用户名: <input type="text" required="required"> 
        <input type="submit" value="提交"> 
    </form>

placeholder属性 => 提示文本/占位符 (字体灰色,而value值是黑色)

用户名: <input type="text" required="required" placeholder="请输入用户名" > 

image-20200816135244732

autofocus => 自动聚焦属性,页面加载完成自动聚焦到指定表单

用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus"> 

name => 便于利用url调用接口或切换页面路由

autocomplete =>

当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。

默认已经打开,如 autocomplete='on'

关闭 autocomplete ='off' (用得较多,这是隐私,一般都不想记录这些输入的内容)

使用前提如下:

  • 需要放在表单内同时加上name属性
  • 同时成功提交
用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus" name="username">

用户名: <input type="text" required="required" placeholder="请输入用户名" autofocus="autofocus" name="username" autocomplete="off"> 

multiple => 多选文件,多用于上传用

上传头像: <input type="file" name="" id="" multiple="multiple">

参考:https://github.com/6xiaoDi/blog-CSS/tree/a2.15
Branch: branch04
commit description:a2.15(example05——HTML5新增表单属性)

tag:a2.15


8. H5小结

  1. HTML5 里面新增的语义化标签
  2. HTML5 视频标签设置自动播放以及修改大小
  3. HTML5 中新增的数字表单、手机号码表单以及搜索表单
  4. HTML5 表单中新增的占位符以及多选属性



(后续待补充)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值