HTML5语义化标签总结

1.语义化标签总结

基础布局标签

 <header></header>
     <nav></nav>
 <main></main>
     <aside></aside>
     <article></article>
 <footer></footer>

注意:IE8以后不兼容H5标签,如果需要兼容IE8一下的浏览器,则需要如下操作:

如果在sublime,或者WebStrom使用 可是使用快捷点: cc:ie6+tab

生成内容:

<!--[if lt IE 9]>
    <script type="text/javascript" src='js/html5shiv.min.js'></script>
<![endif]-->
或者

<!--[if lte IE 6]>        
    <script type="text/javascript">
        alert("我执行了");
        window.onload = function(){
            var createHeader = document.createElement("header");
            document.body.appendChild(createHeader);
        }
    </script>
<![endif]-->

H5解决方案:可以引入上面的html5shiv.min.js,百度搜索进行下载即可。

2.H5表单

input标签新增属性

<form action="#">
        <fieldset>
            <legend>新输入类型</legend>
            <label>type=color
                <input type="color">
            </label>
            <label>type=date
                <input type="date">
            </label>
            <label>type=datetime
                <input type="datetime">
            </label>
            <label>type=datetime-local
                <input type="datetime-local">
            </label>
            <label>type=date
                <input type="date">
            </label>
            <label>type=email
                <input type="email">
            </label>
            <label>type=month
                <input type="month">
            </label>
            <label>type=week
                <input type="week">
            </label>
            <label>type=day
                <input type="week">
            </label>
            <label>type=number
                <input type="number">
            </label>
            <label>type=range
                <input type="range">
            </label>
            <label>type=search
                <input type="search">
            </label>
            <label>type=url
                <input type="url">
            </label>
        </fieldset>
    </form>

注意:有些效果显示在浏览器显示不明显(没有变化),在移动端会有变化。(移动端的支持 比桌面端要好)

新表单元素

<datalist></datalist>//定义下拉列表
<keygen></keygen>  //(生成秘钥)
<output></output> //定义输出的一些类型。

使用方法:

<input id="myCar" list="cars" />
    <datalist id="cars">
      <option value="BMW">
      <option value="Ford">
      <option value="Volvo">
    </datalist>

剩余的两个理解就好。

3.新表单属性

操作对象:

<input type="text" name="">

在表单可添加属性,如下:

  1. placeholder:占位符提示
  2. autofocus:获取焦点
  3. autocomplete: 规定是否使用输入字段的自动完成功能。
  4. multiple:支持多文件选择
  5. form:此属性不推荐使用

演示代码:

<form action="#" id='form'>
<fieldset>
<legend>新表单属性</legend>
<!--  input标签 默认的 提醒信息  -->
<input type="text" name="" placeholder="请输入用户名">
<input type="email" name="" placeholder="请输入电子邮箱" autofocus>
<input type="file" multiple>
<!-- 必须 为 该标签 添加name属性  还需要改表单 曾经提交过-->
<input type="tel" name="telPhone" autocomplete placeholder="请输入电话号码">
<input type="submit" >
</fieldset>
</form>

<input type="text" name="userHabbit" placeholder="请输入你的爱好" form='form'>

表单验证:
添加属性:

  1. required:必须填写,不能为空
  2. pattern:可是使用正则来验证
<form action="#">
        <fieldset>
            <legend>表单验证</legend>
            <!-- email这个标签 自带了 表单的格式验证 不能验证 空的值 -->
            <input type="email" name="userEmail" required>
            <!-- 对 字符串 格式的验证 使用的是 正则 
                pattern 中可以写正则 进行验证
            -->
            <input type="tel" placeholder="请输入电话号码"  name='userTel' required pattern="\d{3}"
                   oninvalid="    this.setCustomValidity('亲爱的用户你输入的格式不正确,请重新输入')">
            <input type="submit">
        </fieldset>
    </form>

4.音频(audio )

音频属性: controls autoplay loop

  • controls:控制器
  • autoplay:是否自动播放
  • loop:是否循环播放
  • muted:是否静音

演示源码:

<audio  controls autoplay loop>
    <source src="music/music.ogg" >
    <source src="music/郝云 - 活着.mp3" >
    亲爱的用户,你的浏览器版本太低,无法享受这个页面的所有功能,建议进行更新 ^_^ <a href="#">戳我下载</a>
</audio>

5.视频(video):

视屏播放器:

  • autoplay autoplay 如果出现该属性,则视频在就绪后马上播放。
  • controls controls 如果出现该属性,则向用户显示控件,比如播放按钮。
  • height pixels 设置视频播放器的高度。
  • loop loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
  • muted muted 规定视频的音频输出应该被静音。
  • poster URL 规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
  • preload preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。
  • 如果使用 "autoplay",则忽略该属性。
  • src url 要播放的视频的 URL。
  • width pixels 设置视频播放器的宽度。

演示代码:

<!--<video src="movie/[报告老板][第二季]第11集_bd.mp4" controls  loop height="100px" width="300px"
    poster="https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"></video>-->
<!--浏览器会从上往下 找到可以播放的 进行播放-->
<video  controls>
    <source src="movie/movie04.ogg">
    <source src="movie/[报告老板][第二季]第11集_bd.mp4">
    亲爱的用户,你的浏览器版本太久了,建议升级 <a href="#"> 点我下载 最新的浏览器(⊙o⊙)</a>
</video>

6.获取元素新方法

document.querySelector('li')

document.querySelectorAll('')

注意:这个选着器的使用方式和jQuery选着器使用方式是一样的。

7.类名操作(classList)

这是一个对象,对象有如下方法:

add() (添加一个类名)

remove() (删除一个类)

contains() (是否包含类)

toggle() (切换类)

示例代码:

// 获取 要操纵的div 方便后续的操作
var div = document.querySelector('.showBox');
// querySelector
// 新增class
document.querySelector('input[value=add]').onclick = function(){
// alert('ADD');
div.classList.add('orange');
}

    // 移除class
    document.querySelector('input[value=remove]').onclick = function () {
        div.classList.remove('orange');
    }
    // 判断是否存在class
    document.querySelector('input[value=contains]').onclick = function () {
        alert(div.classList.contains('orange'));
    }
    // 切换class
    document.querySelector('input[value=toggle]').onclick = function () {
        div.classList.toggle('skyBlue');
    }

8.自定义属性(dataset)

代码演示:

<body>
<!-- html5为了规范自定义属性的写法,新增了一个 data-的属性 -->
    <div data-age='18' data-skill='eatFood' data-habbit = 'tableTannis'
         data-food-vegetable='西兰花' data-foodMeat='牛肉'></div>
</body>
</html>
<script type="text/javascript">
    window.onload = function(){
        // 所有 通过 data-的方式 添加的属性 都会保存在dom元素的 dataset属性中 他是一个对象
        // 设置属性时 能够使用大写字母 但是会自动帮我们转化为 小写的字母
        // 作用是 为了规范 自定义属性的写法
        console.log(document.querySelector('div').dataset);
        console.log(document.querySelector('div').dataset.age);
        console.log(document.querySelector('div').dataset.foodVegetable);
        console.log(document.querySelector('div').dataset.foodmeat);
    }
</script>
posted @ 2017-04-13 22:17  我叫睡不醒  阅读(1491)  评论(0编辑  收藏  举报