(第一天)HTML5新增元素、属性、类型(上)

HTML5新增的元素


  • 结构元素
    • section:内容块,用于分块使用,通常由标题与内容组成
    • article:页面独立的内容,通常用于正文;可嵌套使用,可表示插件
    • aside:article内容之外的区域,如评论区、引用区、广告区等
    • header:头部区域,如页面头部,文章头部等
    • hgroup:标题集合,如标题中包含正标题及子标题
    • footer:底部区域,如页面底部,文章底部等
    • nav:导航;如传统导航条、侧边栏、页内导航、翻页操作。
    • figure:流内容,如瀑布流; 独立内容,移除对网页无影响
    • form:html5的前提下,form下的从属元素可以在form外部,只需在外部的form从属元素中添加form属性,且该属性值等于对应form元素的id值即可。
<!-- 以上元素的综合应用示例 -->
<body>
    <!-- hedaer作为页面头部使用 -->
    <header>
        <!-- hgroup的使用 -->
        <hgroup>
            <h1>正标题</h1>
            <h2>副标题</h2></hgroup>
        <!-- nav的使用 -->
        <nav>
            <ul>
                <li><a href="#">主页</a></li>
                <li><a href="#">开发文档</a></li>
            </ul>
        </nav>
    </header>
    <!-- article作为正文使用 -->
    <article>
        <!-- header作为正文头部使用 -->
        <header>
            <h1>article</h1>
            <!-- aside作为正文头部的文章概要使用 -->
            <aside>
                这是概要
            </aside>
        </header>
        <!-- section作为文章内区块的使用 -->
        <section>
            <h2>红富士</h2>
            <p>这是一个苹果品牌</p>
        </section>
        <section>
            <h2>红富士</h2>
            <p>这是一个苹果品牌</p>
        </section>
        <section>
            <h2>红富士</h2>
            <p>这是一个苹果品牌</p>
        </section>
        <!-- footer作为文章结尾使用 -->
        <footer>
            这是页面结尾
        </footer>
    </article>
    <!-- aside作为正文相关的评论区域使用 -->
    <aside>
        <!-- header作为评论区的头部使用 -->
        <header>
            作者
        </header>
        <p>评论</p>
        <!-- footer作为评论区的尾部使用 -->
        <footer>
            时间
        </footer>
    </aside>
    <!-- article作为插件嵌套使用 -->
    <article>
        <header>
            <h1>这是一个嵌入内容,嵌入本页所有内容</h1>
        </header>
        <embed src="#" height="300" width="500">
    </article>
    <!-- aside作为广告区域使用 -->
    <aside>
        <!-- 广告的提交表单 -->
        <form id="html5form">
            <!-- 表单元素在form外面 -->
        </form>
        <!-- id为html5form的表单外部的input元素 -->
        <input type="text" form="html5form">
    </aside>
    <!-- footer作为页面尾部使用 -->
    <footer>
        这是页面尾部
    </footer>
</body>
  • 其它元素 (此处只记录重要部分)
    • video:视频
    • audio:音频
    • canvas:画布;一个图形容器,必须使用脚本(js)来绘制图形
    • time:时间 与datetime属性配合使用,datetime属性值2016-10-17T21:30Z中T表示日期与时间的间隔符,Z表示时间为UTC格式.+09:00表示时区的调整。
      • 格式1:<time datetime="2016-10-10">2016-10-10</time>
      • 格式2:<time datetime="2016-10-10T09:00">2016-10-10</time>
      • 格式3:<time datetime="2016-10-10T09:00Z">2016-10-10</time>
      • 格式4:<time datetime="2016-10-10T09:00+09:00">2016-10-10</time>
    • address:联系人相关信息,如姓名,地址,联系方式等
<address>
Written by IOLG<br />
<a href="mailto:yidian.kong@qq.com">Email us</a><br />
Address: 中国,上海市,浦东新区<br />
Phone: +86 021-88888888
</address>

HTML5新增的属性


  • 全局属性
    • contentEditable:布尔类型,true表示允许用户修改内容;该属性有继承特性,若为声明值,则继承父属性值。注:元素须可获得焦点,否则无效。
    • designMode:on/off,若为on,未定义contentEditable属性的元素将全部调整为可编辑状态;off反之;该属性只能通过JS添加修改。定义contentEditable属性的将根据contentEditable自身属性状态执行。
    • hidden:隐藏区域,即通知浏览器加载时不渲染,等待JS相关操作后再做渲染。
    • spellcheck:语法检查,如将该属性添加到input元素中,则该input元素具备输入语法检查功能。
    • tabindex:索引元素,自定义tab按键的先后顺序(1为第一个);正常情况下,除url类型元素及表单元素外,若需获取tab按键选择,须添加tabindex属性实现;若需添加tabindex属性但又不想立即生效,可将tabindex属性值修改为-1。
<!--以上属性的综合示例-->
<body>
<script>
    function changeEditable(mode) {
        //修改文档中的所有元素
        document.designMode = mode;
        alert(mode);
    }
</script>
<h2>这是一个可编辑的列表</h2>
<!--可编辑的a元素,将失去打开链接的功能-->
<a href="#" contenteditable="true">tab</a>
<a href="#">tab</a>
<a href="#">tab</a>
<!-- contentEditable="true"可随便编辑ul中的所有内容; tabindex="1":按tab键后第一个获取到焦点-->
<ul contentEditable="true" id="firstUl" tabindex="1">
<!--hidden属性 隐藏整个元素,即下方整个li不会显示-->
    <li hidden>列表1-内容1</li>
<!--spellcheck属性 applee单词拼写错误,将出现错误提示,提示方式与word相同-->
    <li spellcheck>applee</li>
    <li>列表1-内容3</li>
</ul>
<!-- 可随便编辑p&button中的所有内容 -->
<p contenteditable="true">这是一个编辑的段落</p>
<!-- onclick仍然不会失效 -->
<button contenteditable="true" onclick="javascript:alert('有效');">按钮也能编辑</button>
<!-- 无法编辑ul中的内容 -->
<ul contenteditable="false">
    <li hidden>列表2-内容1</li>
    <li spellcheck>列表2-内容2</li>
    <li>列表2-内容3</li>
</ul>
<!--点击后未声明contentEditable属性的元素都可编辑,声明的根据声明定义执行-->
<button onclick="changeEditable('on')">将未定义contentEditeable属性的所有元素调整为可编辑模式</button>
</body>
  • time元素pubdate属性
    明确含pubdate属性的time元素为发布日期,区分于其他不同时间
<h1>iphone7</h1>
<p>发布时间:
<!--通过pubdate声明发布时间-->
<time datetime="2016-10-10" pubdate>2016-10-10</time>
</p>
<p>舞会时间:
<time datetime="2016-10-12">2016-10-12</time>
</p>
  • 表单内部元素属性(form从属属性)
    • formaction:自定义提交路径
      <input type="submit" formaction="/xxx">
    • formmethod:自定义提交方法(GET、POST等)
      <input type="submit" formmethod="POST">
    • formenctype:自定义编码方式
      <input type="file" formenctype="multipart/form-data">
    • formtarget:自定义打开方式
      <input type="submit" formtarget="_blank">
    • autofocus:通过添加该属性,自动获取光标焦点;若该属性存在多个,以第一个为准。
      <input type="text" autofocus>
    • required:适合输入型元素,通过该属性,强制该元素提交时必须存在字符,否则进行提交操作时会提示"请填写此字段"并终止提交。
<form>
        <input type="text" required>
        <input type="submit" value="提交">
    </form>
* ***labels***:多个label元素与一个其他表单元素如input组成一个集合;通过代码示例说明:
<label for="txt">张三</label>
<label for="txt">李四</label>
<input type="text" id="txt">

以上两个label都是属于同一个input,通过label元素的for属于与input元素的id属性相互关联;在js中,除了元素正常获取的方法外,还可以通过先获取input元素,然后通过input元素.labels[0]的方式访问label元素,labels为一个数组,以0开始从上往下依次索引。

<small>表单元素(共7个):input、select、textarea、button、datalist、keygen、output (最后3个为HTML5新增的表单元素)。

HTML5新增的类型


  • input元素的新增类型
    • email:email格式,若格式有误,输入时不提示,提交时错误信息
    • url:url格式;格式输入有误不提示,提交时提示
    • number:数字类型,只能输入数字或科学计数法类型,有加减控件
      <input type="number" value="20" min="-100" max="100" step="5">
    • range:数字范围,默认为0-100范围内的可滑动控件,value值为初始位置,与number类型一样,可配合min,max,step属性使用
    • date:日期类型,包含日历控件,可选择日期或日期逐步增减;显示方式:年/月/日
    • datetime-local:日期时间类型,与date相同,只是多了时间;显示方式:年/月/日 小时:分钟
    • month:月份时间类型;显示方式:年/月
    • week:星期时间类型;显示方式: --年 第--周
    • color:颜色选择器
<body>
<!--下方示例中,当color类型的input发生改变时,页面背景颜色及span的文本信息都将改变-->
    <input type="color" onchange="document.body.style.backgroundColor = document.getElementById('currentColor').textContent = this.value;">
    <span id="currentColor"></span>
</body>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,600评论 18 139
  • 结构元素 section 表示页面中的一个内容区块,比如章节、页眉、页脚或页面 article 表示页面中的一块与...
    小菜鸟程序媛阅读 541评论 0 3
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,728评论 1 92
  • 本人做php的,最近发现JS真的是博大精深啊,比PHP难.在HTML中,表单是由form元素来表示的,但是在jav...
    linfree阅读 2,135评论 3 17
  • 文/孤鸟差鱼 昨天,看了这么一句话“知道吗?你以日以月为单位浪费着生命,却以分以秒为单位浪费生命带来的焦虑。”眼前...
    孤鸟差鱼阅读 194评论 0 5