多媒体与表单事件

**H5 的经典网页布局:**

```html

<!-- 头部 -->

<header>

    <ul class="nav"></ul>

</header>

<!-- 主体部分 -->

<div class="main">

    <!-- 文章 -->

    <article></article>

    <!-- 侧边栏 -->

    <aside></aside>

</div>

<!-- 底部 -->

<footer>

</footer>

```


 

## H5中新增的语义标签

- `<section>` 表示区块

- `<article>` 表示文章。如文章、评论、帖子、博客

- `<header>` 表示页眉

- `<footer>` 表示页脚

- `<nav>` 表示导航

- `<aside>` 表示侧边栏。如文章的侧栏

- `<figure>` 表示媒介内容分组。

- `<mark>` 表示标记 (用得少)

- `<progress>` 表示进度 (用得少)

- `<time>` 表示日期


 

### H5中新增的表单类型

- `email` 只能输入email格式。自动带有验证功能。

- `tel` 手机号码。

- `url` 只能输入url格式。

- `number` 只能输入数字。

- `search` 搜索框

- `range` 滑动条

- `color` 拾色器

- `time`    时间

- `date` 日期

- `datetime` 时间日期

- `month` 月份

- `week` 星期


 

### 表单属性

- `placeholder` (提示文字)

- `autofocus` 自动获取焦点

- `multiple` 文件上传多选或多个邮箱地址

- `autocomplete` 自动完成(填充的)。on 开启(默认),off 取消。用于表单元素,也可用于表单自身(on/off)

- `form` 指定表单项属于哪个form,处理复杂表单时会需要

- `novalidate` 关闭默认的验证功能(只能加给form)

- `required` 表示必填项

- `pattern` 自定义正则,验证表单。例如



 

### 表单事件

- `oninput()`:用户输入内容时触发,可用于输入字数统计。

- `oninvalid()`:验证不通过时触发。比如,如果验证不通过时,想弹出一段提示文字,就可以用到它。

```html

    <style>

        form {

            width: 100%;

            /* 最大宽度*/

            max-width: 400px;

            /* 最小宽度*/

            min-width: 200px;

            margin: 0 auto;

            font-family: "Microsoft Yahei";

            font-size: 20px;

        }

        input {

            display: block;

            width: 100%;

            height: 30px;

            margin: 10px 0;

        }

    </style>

</head>

<body>

<form action="">

    <fieldset>

        <legend>表单事件</legend>

        <label for="">

            邮箱:<input type="email" name="" id="txt1"/>

        </label>

        <label for="">

            输入的次数统计:<input type="text" name="" id="txt2"/>

        </label>

        <input type="submit"/>

    </fieldset>

</form>

<script>

    var txt1 = document.getElementById('txt1');

    var txt2 = document.getElementById('txt2');

    var num = 0;

    txt1.oninput = function () {  //用户输入时触发

        num++;  //用户每输入一次,num自动加 1

        //将统计数显示在txt2中

        txt2.value = num;

    }

    txt1.oninvalid = function () {  //验证不通过时触发

        this.setCustomValidity('亲,请输入正确哦');  //设置验证不通过时的提示文字

    }

</script>

</body>

</html>

```


 

## 多媒体

### 音频:`<audio>`标签来解决音频播放的问题。

```html

    <audio src="music/yinyue.mp3" autoplay controls> </audio>

```

属性:

- `autoplay` 自动播放。写成`autoplay` 或者 `autoplay = ""`,都可以。

- `controls` 控制条。

- `loop` 循环播放。

- `preload` 预加载 同时设置 autoplay 时,此属性将失效。

<!--推荐的兼容写法:-->

<audio controls loop>

    <source src="music/yinyue.mp3"/>

    <source src="music/yinyue.ogg"/>

    <source src="music/yinyue.wav"/>

</audio>

```


 

### 视频:`<video>`标签来解决视频播放的问题。

```html

    <video src="video/movie.mp4" controls autoplay></video>

```

:属性:

- `autoplay` 自动播放。写成`autoplay` 或者 `autoplay = ""`,都可以。

- `controls` 控制条。

- `loop` 循环播放。

- `preload` 预加载 同时设置 autoplay 时,此属性将失效。

- `width`:设置播放窗口宽度。

- `height`:设置播放窗口的高度。

```html

    <video controls autoplay>

        <source src="video/movie.mp4"/>

        <source src="video/movie.ogg"/>

        <source src="video/movie.webm"/>

    </video>

```


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值