HTML5

文章目录

1、HTML5简介

HTML5 是新一代的HTML 标准,2014年10月由万维网联盟(W3C)完成标准制定

官网地址:
https://www.w3.org/TR/html/index.html
https://whatwg-cn.github.io/html/multipage

优势:

1、针对JavaScript,新增了很多可操作的接口

2、新增了一些语义化标签,全局属性

3、新增了多媒体标签,可以很好的替代flash

4、更加侧重语义化,对于SEO更友好

5、可移植性好,可以大量应用移动设备上

兼容性:支持ChromeSafariOperaFirefox等主流浏览器

注意:IE浏览器必须9及以上版本才支持HTML5,且IE9仅支持部分HTML5新特性

2、新增语义化标签

2.1 布局标签


例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>01_新增布局标签</title>
</head>
<body>
    <!-- 头部 -->
    <header class="page-header">
        <h1>尚品汇</h1>
    </header>
    <hr>
    <!-- 主导航 -->
    <nav>
        <a href="#">首页</a>
        <a href="#">订单</a>
        <a href="#">购物车</a>
        <a href="#">我的</a>
    </nav>
    <!-- 主要内容 -->
    <div class="page-content">
        <!-- 侧边栏导航 -->
        <aside style="float: right;">
            <nav>
                <ul>
                    <li><a href="#">秒杀专区</a></li>
                    <li><a href="#">会员专区</a></li>
                    <li><a href="#">领取优惠券</a></li>
                    <li><a href="#">品牌专区</a></li>
                </ul>
            </nav>
        </aside>
        <!-- 文章 -->
        <article>
            <h2>《如何一夜暴富》</h2>
            <section>
                <h3>第一种方式:通过做梦</h3>
                <p>你要这么做梦:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
            <section>
                <h3>第二种方式:通过买彩票</h3>
                <p>你要这么买彩票:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
            <section>
                <h3>第三种方式:通过学习前端</h3>
                <p>你要来到尚硅谷学前端:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
        </article>
    </div>
    <hr>
    <footer>
        <nav>
            <a href="#">友情链接1</a>
            <a href="#">友情链接2</a>
            <a href="#">友情链接3</a>
            <a href="#">友情链接4</a>
        </nav>
    </footer>
</body>
</html>

2.2、状态标签

2.2.1 meter标签

语义:定义已知范围内的标量测量,也被称为gauge(尺度),双标签。例如:电量、磁盘用量等。

常用属性如下:

2.2.2 progress标签

语义:显示某个任务完成的进度的指示器,一般用于表示进度条,双标签。例如:工作完成进度等。

常用属性:

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>02_新增状态标签</title>
    <style>
        progress {
            width: 50px;
        }
    </style>
</head>
<body>
    <span>手机电量:</span>
    <meter max="100" min="0" value="90" low="10" high="20" optimum="90"></meter>
    <br>
    <span>当前进度:</span>
    <progress max="100" value="20"></progress>
</body>
</html>

2.3 列表标签

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>03_新增列表标签</title>
</head>
<body>
    <form action="#">
        <input type="text" list="mydata">
        <button>搜索</button>
    </form>
    <datalist id="mydata">
        <option value="周杰伦">周杰伦</option>
        <option value="周冬雨">周冬雨</option>
        <option value="马冬梅">马冬梅</option>
        <option value="温兆伦">温兆伦</option>
    </datalist>
    <hr>
    <details>
        <summary>如何一夜暴富?</summary>
        <p>来到尚硅谷学习前端</p>
    </details>
</body>
</html>

2.4 文本标签

2.4.1 文本注音

2.4.2 文本标记

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>04_新增文本标签</title>
</head>
<body>
    <ruby>
        <span>魑魅魍魉</span>
        <rt>chī mèi wǎng liǎng </rt>
    </ruby>
    <hr>
    <div>
        <ruby>
            <span>魑</span>
            <rt>chī</rt>
        </ruby>
        <ruby>
            <span>魅</span>
            <rt>mèi</rt>
        </ruby>
    </div>
    <hr>
    <p>Lorem ipsum <mark>dolor</mark> sit amet consectetur adipisicing elit. Laboriosam, nemo?</p>
</body>
</html>

3、新增表单功能

3.1 表单控件新增属性

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>01_新增的表单控件属性</title>
</head>
<body>
    <form action="">
        账号:<input 
                type="text" 
                name="account" 
                placeholder="请输入账号" 
                required 
                autofocus 
                autocomplete="on"
                pattern="\w{6}"
              >
        <br>
        密码:<input type="password" name="pwd" placeholder="请输入密码" required pattern="\w{6}">
        <br>
        性别:
            <input type="radio" value="male" name="gender" required>男
            <input type="radio" value="female" name="gender">女
        <br>
        爱好:
            <input type="checkbox" value="smoke" name="hobby">抽烟
            <input type="checkbox" value="drink" name="hobby" required>喝酒
            <input type="checkbox" value="perm" name="hobby">烫头
        <br>
        其他:<textarea name="other" placeholder="其他" required pattern="\w{6}"></textarea>
        <br>
        <button>提交</button>
    </form>
</body>
</html>

3.2 input新增属性值

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>02_input新增的type属性值</title>
</head>
<body>
    <form action="" novalidate>
        邮箱:<input type="email" required name="email"><br/>
        url:<input type="url" required name="url"><br/>
        数值:<input type="number" required name="number" step="2" max="80" min="20"><br/>
        搜索:<input type="search" required name="keyword"><br/>
        电话:<input type="tel" required name="phone"><br/>
        光照强度:<input type="range" name="range" max="80" min="20" value="22"><br/>
        颜色:<input type="color" name="color"><br/>
        日期:<input type="date" required name="date"><br/>
        月份:<input type="month" required name="month"><br/>
        周:<input type="week" required name="week"><br/>
        时间:<input type="time" required name="time"><br/>
        日期+时间:<input type="datetime-local" required name="time2"><br>

        <button>提交</button>
    </form>
</body>
</html>

3.3 form标签新增属性

4、新增多媒体标签

4.1 视频标签

<video>标签用来定义视频,它是双标签

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>01_新增视频标签</title>
    <style>
        video {
            width: 600px;
        }
    </style>
</head>
<body>
    <video src="./小电影.mp4" controls muted loop poster="./封面.png" preload="auto"></video>
</body>
</html>

4.2 音频标签

<audio>标签用来定义音频,它是双标签

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>02_新增音频标签</title>
    <style>
        audio {
            width: 600px;
            /* height: 500px; */
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <audio src="./小曲.mp3" controls loop preload="metadata"></audio>
</body>
</html>

5、新增全局属性

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>新增的全局属性</title>
    <style>
        div {
            width: 600px;
            height: 200px;
            border: 1px solid black;
            font-size: 20px;
            margin-bottom: 10px;
        }
        .box1 {
            background-color: skyblue;
        }
        .box2 {
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="box1" spellcheck="true" contenteditable="true">Lorem ipsum dolor sit amet.</div>
    <div class="box2" draggable="true" hidden data-a="1" data-b="2" data-c="3">Lorem ipsum dolor sit amet.</div>
    <h1>hello</h1>
    
</body>
</html>

6、HTML5兼容性处理

  • 添加元信息,让浏览器处于最优渲染模式
html 复制代码
<!--设置IE总是使用最新的文档模式进行渲染-->
<meta http-equiv="X-UA-Compatible" content="IE=Edge">

<!--优先使用 webkit ( Chromium ) 内核进行渲染, 针对360等壳浏览器-->
<meta name="renderer" content="webkit">
  • 使用html5shiv让低版本浏览器认识H5的语义化标签
html 复制代码
<!--[if lt ie 9]>
 <script src="../sources/js/html5shiv.js"></script>
 <![endif]-->
html 复制代码
<!--[if IE 8]>仅IE8可见<![endif]--> 
<!--[if gt IE 8]>仅IE8以上可见<![endif]-->
<!--[if lt IE 8]>仅IE8以下可见<![endif]-->
<!--[if gte IE 8]>IE8及以上可见<![endif]-->
<!--[if lte IE 8]>IE8及以下可见<![endif]-->
<!--[if !IE 8]>非IE8的IE可见<![endif]-->

例:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>兼容性处理</title>
    <!-- 让IE浏览器处于一个最优的渲染模式 -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 针对一些国产的"双核"浏览器的设置,让浏览器优先使用webkit内核去渲染网页 -->
    <meta name="render" content="webkit">
    <!--[if lt ie 9]>
    <script src="./html5shiv.js"></script>
    <![endif]-->
    <style>
        header {
            background-color: orange;
        }
        footer {
            height: 100px;
            line-height: 100px;
            text-align: center;
            background-color: green;
        }
    </style>
</head>
<body>
    <!-- 头部 -->
    <header class="page-header">
        <h1>尚品汇</h1>
    </header>
    <hr>
    <!-- 主导航 -->
    <nav>
        <a href="#">首页</a>
        <a href="#">订单</a>
        <a href="#">购物车</a>
        <a href="#">我的</a>
    </nav>
    <!-- 主要内容 -->
    <div class="page-content">
        <!-- 侧边栏导航 -->
        <aside style="float: right;">
            <nav>
                <ul>
                    <li><a href="#">秒杀专区</a></li>
                    <li><a href="#">会员专区</a></li>
                    <li><a href="#">领取优惠券</a></li>
                    <li><a href="#">品牌专区</a></li>
                </ul>
            </nav>
        </aside>
        <!-- 文章 -->
        <article>
            <h2>《如何一夜暴富》</h2>
            <section>
                <h3>第一种方式:通过做梦</h3>
                <p>你要这么做梦:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
            <section>
                <h3>第二种方式:通过买彩票</h3>
                <p>你要这么买彩票:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
            <section>
                <h3>第三种方式:通过学习前端</h3>
                <p>你要来到尚硅谷学前端:xxxxxxxxxxxxxxxxxxxxxxx</p>
            </section>
        </article>
    </div>
    <hr>
    <!-- 页脚 -->
    <footer>
        <nav>
            <a href="#">友情链接1</a>
            <a href="#">友情链接2</a>
            <a href="#">友情链接3</a>
            <a href="#">友情链接4</a>
        </nav>
    </footer>
</body>
</html>
相关推荐
疯狂的沙粒17 分钟前
Vue项目开发 element-UI 前端实现 1到10排列选择的按钮
前端·vue.js·ui
刺客-Andy22 分钟前
React第六节 组件属性prop的propTypes类型使用介绍
前端·javascript·react.js·typescript
智慧方23 分钟前
HTML实现 扫雷游戏
html5
Mr.Liu61 小时前
小程序24-滚动效果:scroll-view组件详解
前端·微信小程序·小程序
三金121381 小时前
局部使用Vue
前端·javascript·vue.js
LinXunFeng1 小时前
Flutter - 子部件任意位置观察滚动数据
前端·flutter·开源
好开心332 小时前
js高级06-ajax封装和跨域
开发语言·前端·javascript·ajax·okhttp·ecmascript·交互
小镇程序员2 小时前
vue2 src_Todolist消息订阅版本
前端·javascript·vue.js
Zack No Bug2 小时前
解决报错:rror: error:0308010C:digital envelope routines::unsupported
前端·javascript·vue.js
九幽归墟2 小时前
深入理解 CPU 和 GPU 渲染
前端·浏览器·gpu