识HTML5和HTML4在架构上有很大的不同,但是基本的标记语法并没有很大的改变,下面我们来了解一下HTML5和HTML4的差异。
广义的HTML5除了本身的HTMl5标记外,还包含CSS3与javascript。为配合css语法,HTML5在架构与网页排版美化方面的标记做了很大的更改,但是基本的标记语法并没有大的改变。下面列出几项HTML4和HTML5的较大差异,请参考!
语法简化
1.HTML,XHTML的DOCTYPE,html,meta,script等标记,在HTML中有大幅度的简化。
统一的网页内嵌影音的语法
以前播放影音时,需要使用ActiveX或Plug-in的方式来完成,例如 YOU Tube影音需要安装Flash Player,苹果网站的影音则需要安装QuickTimeplayer。HTML5之后使用<video>或<audio>标记播放影音,不需要安装额外的外挂了。
新增<header>,<footer>,<section>,<article>等语义标记
为了让网页的可读性更高,HTML5 增加了<header>,<footer>,<section>,<article>等标记,明确了网页的结构,这样搜索引擎就能轻易的抓到网页的重点,对于SEO有很大的帮助。
全新的表单设计
对于网页的程序设计者来说,表单是最常见的功能,在这方面HTML5做了很大更改不但新增几项新的标记,原来的<form>标签也增加了许多属性。
利用<canvas>标签绘制图形
HTML5新增了绘图功能<canvas>,利用它可以搭配JavaScript语法在网页上画出线条和图形
提供API开发网页应用程序
HTML5提供了多种API供设计使用,例如Web SQL Database,让设计者可以脱机访问客户端的数据库,当然,要使用这些API,就得熟悉JavaScript语法。
创建HTMl文件
学习html不需要昂贵的硬件与软件设备,只要准备好两个基本工具就好
1.浏览器,IE,Google Chrome或者火狐浏览器
纯文本编辑软件
HTMl是标准的文件格式,任何一种纯文本编辑软件都可以编辑HTMl文件,例如记事本
本文中,我列出了十个我过去没用过的HTML5功能,但现在发现它们很有用,废话不多说,让我们开始吧。
<details>标签向用户提供按需查看详细信息的效果。如果需要按需向用户显示内容,简单的做法就是使用此<details>标签。默认情况下,它是收起来的,打开后,它将展开并显示被隐藏的内容。
事例:
<details>
<summary>Click Here to get the user details</summary>
<table>
<tr>
<th>#</th>
<th>Name</th>
<th>Location</th>
<th>Job</th>
</tr>
<tr>
<td>1</td>
<td>Adam</td>
<td>Huston</td>
<td>UI/UX</td>
</tr>
</table>
</details>
运行结果:
在 GitHub Readme 中使用它来显示按需的详细信息。这是一个示例https://github.com/atapas/notifyme#properties
contenteditable是可以在元素上设置以使内容可编辑的属性。它适用于DIV,P,UL等元素。
注意,当在元素上没有设置contenteditable属性时,它将从其父元素继承该属性。
<h2> Shoppping List(Content Editable) </h2>
<ul class="content-editable" contenteditable="true">
<li> 1. Milk </li>
<li> 2. Bread </li>
<li> 3. Honey </li>
</ul>
运行结果:
可以让span或div标签可编辑,并且可以使用css样式向其添加任何丰富的内容。这将比使用输入字段处理它更好。试试看!
HTML <map> 属性 与 <area> 属性一起使用来定义一个图像映射(一个可点击的链接区域)。可点击的区域可以是这些形状中的任何一个,矩形,圆形或多边形区域。如果不指定任何形状,则会考虑整个图像。
事例:
<div>
<img src="circus.jpg" width="500" height="500" alt="Circus" usemap="#circusmap">
<map name="circusmap">
<area shape="rect" coords="67,114,207,254" href="elephant.htm">
<area shape="rect" coords="222,141,318, 256" href="lion.htm">
<area shape="rect" coords="343,111,455, 267" href="horse.htm">
<area shape="rect" coords="35,328,143,500" href="clown.htm">
<area shape="circle" coords="426,409,100" href="clown.htm">
</map>
</div>
运行结果:
map有其自身的缺点,但是你可以将其用于视觉演示。
<p> Did you know, you can <mark>"Highlight something interesting"</mark> just with an HTML tag? </p>
运行结果:
可以使用css更改高亮颜色:
mark {
background-color: green;
color: #FFFFFF;
}
data-*属性用于存储页面或应用程序专用的自定义数据。可以在 JavaScript 代码中使用存储的数据来创建更多的用户体验。
data-*属性由两部分组成
事例:
<h2> Know data attribute </h2>
<div
class="data-attribute"
id="data-attr"
data-custom-attr="You are just Awesome!">
I have a hidden secret!
</div>
<button onclick="reveal()">Reveal</button>
在 JS 中:
function reveal() {
let dataDiv = document.getElementById('data-attr');
let value = dataDiv.dataset['customAttr'];
document.getElementById('msg').innerHTML = `<mark>${value}</mark>`;
}
**注意:**要在 JS 中读取这些属性的值,可以通过getAttribute('data-custom-attr')g来获取,但是标准方式是用dataset来获取。
你可以使用它在页面中存储一些数据,然后使用REST调用将其传递给服务器。
<output> 标签表示计算或用户操作的结果。
<form oninput="x.value=parseInt(a.value) * parseInt(b.value)">
<input type="number" id="a" value="0">
* <input type="number" id="b" value="0">
= <output name="x" for="a b"></output>
</form>
如果要在客户端 JS 中执行任何计算,并且希望结果反映在页面上,可以使用<output>,这样就无需使用getElementById()获取元素的额外步骤。
<datalist>元素包含了一组<option>元素,这些元素表示其它表单控件可选值.
事例:
<form action="" method="get">
<label for="fruit">Choose your fruit from the list:</label>
<input list="fruits" name="fruit" id="fruit">
<datalist id="fruits">
<option value="Apple">
<option value="Orange">
<option value="Banana">
<option value="Mango">
<option value="Avacado">
</datalist>
<input type="submit">
</form>
dataList的表现很像是一个select下拉列表,但它只是提示作用,并不限制用户在input输入框里输入什么
select标签创建了一个菜单。菜单里的选项通option标签指定。一个select元素内部,必须包含一个option元素,
总的来说就是,它们都可以显示出一个下拉表单框,但是select标签只能在它提供的选项中选择,而datalist不仅可以让你选择,还可以让你自己输入其它的选项。
range是一种 input 类型,给定一个滑块类型的范围选择器。
<form method="post">
<input
type="range"
name="range"
min="0"
max="100"
step="1"
value=""
onchange="changeValue(event)"/>
</form>
<div class="range">
<output id="output" name="result"> </output>
</div>
<meter>元素用来显示已知范围的标量值或者分数值。
<label for="home">/home/atapas</label>
<meter id="home" value="4" min="0" max="10">2 out of 10</meter><br>
<label for="root">/root</label>
<meter id="root" value="0.6">60%</meter><br>
不要将<meter>用作进度条来使用,进度条对应的<Progress> 标签。
<label for="file">Downloading progress:</label>
<progress id="file" value="32" max="100"> 32% </progress>
对于input标签类型,最常见的有 text,password 等等,下面列举一些比较少见的语法。
要求输入字段必填。
<input type="text" id="username1" name="username" required>
文本输入字段被设置为当页面加载时获得焦点:
<input type="text" id="username2" name="username" required autofocus>
可以使用regex指定一个模式来验证输入。
<input type="password"
name="password"
id="password"
placeholder="6-20 chars, at least 1 digit, 1 uppercase and one lowercase letter"
pattern="^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20}$" autofocus required>
一个简单的颜色选择器。
<input type="color" onchange="showColor(event)">
<p id="colorMe">Color Me!</p>
作者:Ahmad shaded 译者:前端小智 来源:sitepoint
原文:https://dev.to/atapas/10-useful-html5-features-you-may-not-be-using-2bk0
于新手学习html5的同学来说,想要学好html5首先要有一点学习的方法和路线图,了解清楚之后再开始学习会更加清晰自己的学习效果。
随着互联网的高速发展,近年来HTMl5发展的越来越火热,而在HTML5高薪资、优待遇的诱惑之下,现在学习学习HTML5人也是日益渐增的,但是学习HTML5除了要抛下足够的汗水之外,我们还需要有一个正确的学习技巧通常合理的学习方法能够达到事半功倍的效果,相反不合理的学习方法则只能够事倍功半。
html5可以将web打造成创建真正应用程序的一流环境,html5提供了对浏览器API的一系列关键扩展,以此加强了Java现有的工具集,随着全球html5设备的使用量不断提升,html5开发人才需求量也与日剧增,可以看出html5开发的发展前景十分广阔,接下来就简单了解一些html5学习方法指南中的三要素和技能清单的相关内容吧。
html5学习方法之三要素:
Web 前端开收技术包括三个要素:HTML、CSS和Java,但随着RIA的流行和普及,Flash/Flex、Silverlight、XML 和服务器端语言也是前端开收工程师应该掌握的。Web前端开收工程师既要与上游的交互设计师、视觉设计师和产品经理沟通,又要与下游的服务器端工程师沟通,需要掌握的技能非常多。这就从常识的广度上对Web前端开收工程师提出了要供。如果要精通前端开发,起码要精通十行,但现实生活中这样的全才是很少的,所以对于一些不太重要的常识,只需通便可。
Html5开发可以说前端开发的入门门槛是比较低的,与服务器端语言先缓后快的学习曲线相比,前端开收的学习曲线是先快后缓。所以,对于从事IT工作的人来说,前端是个不错的切入点。为了满足“高可保护性”的需要,需要更深入、更系统地去掌握前端常识,这样才可能创建一个好的前端架构,保证代码的质量。
html5学习方法之技能清单:
必须掌握基本的Web前端开收技术,其中包括:CSS、HTML、DOM、java、Ajax,jquery,Vue,jquery- mobile,zepto等,在掌握这些技术的同时,还要清楚地了解它们在不同浏览器上的兼容情况、渲染原理和存在的Bug。这是前端工程师的核心技能,是专做页面效果的技术。如果想更深条理的做好前端开收,那就需要学习和了解更多的东西,比如一些热门的框架backbone,angularjs 等;nodejs近几年也越来越火了,同样需要学习。
对于初学者来说,想进入html5开发行业,掌握必须要学习的内容,才能够更好的去入行这一职业,才能在就业中迎刃有余,那么学习html5自身应该注重哪几点呢?
方法一:注重实践,由实践出真知
现在学多的学员在学习HTNL5的过程中有很多不喜欢自己动手实践操作,而是喜欢讲师或者自己背诵,其实这种学习方法是不对的,因为学习代码是需要我们自己动手实践的只有实践的多了我们才会更加的熟悉,他是一个需要循循渐进的过程。所以掌握代码不仅仅只有记忆还有尝试。尝试自己去写代码,然后发现问题,最后进行归纳总结,同时形成理论并记忆。
方法二:由整体到局部,由骨架到血肉
我们在学习HTML和css的时候,会经常涉及到网页的搭建等相关知识,而我们在学习这方面知识的时候我们采取的方法是,“由外及内”、“由整体到部分”、“由全局到细节”的学习方法。所以我们在学习新的知识的时候一定要主干到枝叶,不要拘泥于某一个细节而沉溺于其中。主干如同我们学习的一个大纲,这种先找主干后添枝叶的学习方法能够让知识遗漏变成最少,也会比较容易建立起知识与知识间的关系。
方法三:记忆很重要
在方法一种我们讲到注重实践,但是这并不是代表就让我们忽略了记忆,记忆也是非常重要的,我们在学习中经常会遇到个汇总各样的问题这时就是需要记忆的知识点。如有哪些数据类型、有哪些标签元素等等。遇到这类知识点时我们一定要通过记忆将其熟练掌握,因为许多人在学习的过程中觉得还是理解是最重要的,这种想法是错误的。因为如果连记都记不住还谈什么理解呢?
方法四:类比
在学习CSS引入方式这种知识点时,我们采用了另一种学习方法。类比,或者也可以叫做辨析。而这种学习的方法主要是针对于我们区分相似的两种或多种事物。如strong与em,块元素与行元素,同步与异步等等此类知识具有相似性的知识,所以我们在学习的时候应多多思考,抓取几种事物的不同点,结合去记忆。
方法五:循序渐进的学习
学习是一个日积月累的过程,谁也不能一下子就能学习很多的东西,正如我们在学习的过程中通常会遇到一些大型的知识,这种知识是比较难啃的。当然我们遇到此类型的知识的时候,千万不要着急,要脚踏实地一步一步的来,例如动画框架的学习就是一个典型的例子。
学习并不是一蹴而就的,在学习过程中有一个良好的学习方法这是至关重要的。掌握一套自己的学习方法,日后必定受益终生的。
*请认真填写需求信息,我们会在24小时内与您取得联系。