一、指代不同
1、html5:是Web中核心语言HTML的规范。
2、html:称为超文本标记语言,是一种标识性的语言。
二、特点不同
1、html5:用户使用任何手段进行网页浏览时看到的内容原本都是HTML格式的,在浏览器中通过一些技术处理将其转换成为了可识别的信息。
2、html:包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。
三、构成不同
1、html5: 由不同的技术构成,其在互联网中得到了非常广泛的应用,提供更多增强网络应用的标准机
2、html:是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。
参考资料来源:百度百科-html5
参考资料来源:百度百科-HTML
HTML: 指的是超文本标记语言 (Hyper Text Markup Language),这个也是我们网页最常用普通的语言了,经历了多个版本的发展,现在已经发展到401版了,得力于W3C建立的标准和规范,现在已普遍升级到了XHTML,XHTML 指可扩展超文本标签语言(EXtensible HyperText Markup Language), XHTML 于2000年的1月26日成为 W3C 标准,是更严格更纯净的 HTML 代码,XHTML 的目标是取代 HTML。XHTML 与 HTML 401 几乎是相同的,XHTML 是作为一种 XML 应用被重新定义的 HTML,是一个 W3C 标准。W3C 将 XHTML 定义为最新的HTML版本。所有新的浏览器都支持 XHTML。 另外,W3C 与 WHATWG 合作创建一个新版本的 HTML,就是HTML5。HTML5 将成为 HTML、XHTML 以及 HTML DOM 的新标准,为HTML世界注入更多惊喜,尽管 HTML5 仍处于完善之中,然而,大部分现代浏览器已经具备了某些 HTML5 支持,显示出来的生机和活力已是那样的激奋人心,特别是前端的工作中,那些针对浏览器兼容的问题将能得到很好的解决,更多的效果和应用也能更方便的实现。 前端工程师,也必然要与时俱进,紧跟业界时代发展的前沿,不然永远只停留在旧的技术上,只会被无情的淘汰。
第一阶段——HTML的学习。
超文本标记语言(HyperText Mark-up Language 简称HTML)是一个网页的骨架,无论是静态网页还是动态网页,最终返回到浏览器端的都是HTML代码,浏览器将HTML代码解释渲染后呈现给用户。因此,我们必须掌握HTML的基本结构和常用标记及属性。
HTML的学习是一个记忆和理解的过程,在学习过程中可以借助Dreamweaver的“拆分”视图辅助学习。在“设计”视图中看效果,在“代码”视图中学本质,将各种视图的优势发挥到极致,这种对照学习的方法弥补了单纯识记HTML标签和属性的枯燥乏味,想必对各位初学的小盆友们来说必定是极好的!
在学习了HTML之后,我们只是掌握了各种“原材料”的制作方法,要想盖一幢楼房就还需要把这些“原材料”按照我们设计的方案组合布局在一起并进行一些样式的美化。
于是进入第二个阶段——CSS的学习。
培训是针对那些有条件的人来说,很多小伙伴更喜欢的是自学。但是一个人自学毕竟力量是有限的,为了让想学习的人可以更好的学习,给大家推荐一个裙,前面是6 1 1,中间是肆 二 8,最后面就是壹 四 二,这里有很多想学习的人和你一起交流,也有大牛每天晚上免费教学,想要学习的人都可以加入我们,但是我们只欢迎想学习的人,不是来学习,随便看看的就不要进了。
CSS是英文Cascading Style Sheets的缩写,叫做层叠样式表,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言其样式是可以复用的,这样就极大地提高了我们开发的速度,降低了维护的成本。
同时CSS中的盒子模型、相对布局、绝对布局等能够实现对网页中各对象的位置排版进行像素级的精确控制。通过此阶段的学习,我们就可以顺利完成“一幢楼房”的建设。
“楼房”建设完成之后,我们可以交给用户使用,但是如果想让用户获得更佳的体验,我们还可以对“楼房”进行更深一步的“装修”,让它看起来更“豪华”一些。
为了完成这个任务,我们进入第三个阶段——JavaScript的学习。
JavaScript是一种在客户端广泛使用的脚步语言,在JavaScript当中为我们提供了一些内置函数、对象和DOM *** 作,借助这些内容我们可以来实现一些客户端的特效、验证、交互等,使我们的页面看起来不那么呆板,屌丝瞬间逆袭高富帅!有么有?
此时,也许你还沉浸在JavaScript给你带来的惊喜之中,但你的项目经理却突然对你大吼道:
“这个效果在××浏览器下不兼容,重新搞……”
“不兼容?”瞬间石化了有木有?
“我擦,坑爹啊!那可是花了我一个晚上写了几百行代码搞定的啊,吐血了都!”
JavaScript的兼容性和复杂性有时候的确让我们头疼,还好有“大神”帮我们做了封装。
接下来我们进入第四个阶段——jQUery的学习。
jQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery20及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了我们开发的时间,提高了开发速度,这也充分体现了其write less,do more的核心宗旨。这个Feel倍儿爽!有么有?
“豪华大楼”至此拔地而起,但是每天这样日复一日,年复一年的盖楼,好繁琐!能不能将大楼里面每一个单独部件模块化,当需要盖楼时就像堆积木一样组合在一起,这样岂不是爽歪歪?可以实现吗?答案是肯定的。
这种思想在Web前端开发中也是适合的,于是乎就出现了各种前端框架,在这里推荐给大家的是Bootstrap。 Bootstrap是Twitter推出的一个开源的用于前端开发的工具包,是一个CSS/HTML框架,并且支持响应式布局。一经推出后颇受欢迎,一直是GitHub上的热门开源项目。
在项目开发过程中,我们可以借助Bootstrap提供的CSS样式、组件、JavaScript插件等快速的完成页面布局和样式设置,然后再有针对性的微调样式,这样基于框架进行开发大大缩短了开发周期。站在巨人的肩膀上就是爽!
Web前端的学习建议
最后给大家聊聊在学习Web前端中的一些建议和方法。
在CSS布局时需要注意的一个问题是很多同学缺乏对页面布局进行整体分析,不能够从宏观上对页面中盒子间的嵌套关系进行把握,就急于动手去做,导致页面中各元素间的关系很混乱,容易出现盒子在浮动时错位等情况。建议大家在布局时采用“自顶向下,逐步细化”的思想,先用几个盒子将页面从整体上划分,然后逐步在盒子中继续嵌套盒子。
“君子生非异也,善假于物也”,在学习的过程中还要多浏览一些优秀的网站,善于分析借鉴其设计思路和布局方法,见多方能识广,进而才可以融会贯通,取他人之长为我所用。
同时还要善于使用Firebug这个利器。Firebug一方面可以在我们学习过程中帮助我们调试自己的页面,另一方面我们可以使用Firebug方便地查看、分析别人网站的源代码,“偷”也是一种技能!
随着移动互联网热潮的到来,移动开发越来越受到大家的追捧,响应式布局、微网站等需求量不断增加,也是我们Web前端未来的发展方向之一,学有余力的同学可以多多关注。最后祝愿大家能在Web前端开发道路上走出一片更宽更广的天地!
HTML5是用于取代1999年所制定的HTML401和XHTML10标准的HTML(标准通用标记语言下的一个应用)标准版本;现在仍处于发展阶段,但大部分浏览器已经支持某些HTML5技术。HTML5有两大特点:首先,强化了Web网页的表现性能。其次,追加了本地数据库等Web应用的功能。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。
目前HTML5已向开发人员提供了很多新的标签,如section,nav,article,header和footer等。这些标签语义化程度高,会被经常使用,但在IE6,IE7,IE8和Firefox 2等老式浏览器中却不能识别和正常使用。
一、HTML5标签在浏览器展示存在的问题
对于现阶段来说,使用HTML5标签可能遇到的最大问题就是如何在不支持新标签的浏览器中做恰当的处理。当我们在页面中使用HTML5元素时,可能会得到三种不同的结果。
结果1:标签被当作错误处理并被忽略。那么DOM构建的时候,就会当作这个标签不存在。
结果2:标签会被当作错误处理,并在DOM构建的时候依然会按照预期的代码进行创建,并且HTML标签会被构造成行内元素(也就是说虽然不能识别,但是代码里section标签依然会在dom中创建一个对应section节点,但是属于行内元素)。
结果3:标签被识别为HTML5标签,然后用DOM节点对其进行替换。DOM在构建的时候和预想的一致,并且合适的样式会应用到标签上(大部分情况下是块级元素)。
有一个具体的例子,大家思考一下下面的代码:
<div class="outer">
<section>
<h1>title</h1>
<p>text</p>
</section>
</div>
很多浏览器(比如Firefox 36和Safari4)解析的时候都会将div作为最外层的元素,然后div里面是一个识别不了的元素(section),它会在DOM中创建,并被作为一个行内元素存在。h1和p元素都是作为section元素的子节点。因为section在DOM中真实存在,所以也可以修改其样式。这种情况对应结果2。
IE9之前的版本会认为section标签是一个错误,并直接将其忽略,那么h1和p标签会被解析,然后成为div标签的子节点。</section>也会被认为是一个错误并直接跳过。在这些浏览器中实际有效的代码是这样的:
<div class="outer">
<h1>title</h1>
<p>text</p>
</div>
那么,旧版本的IE浏览器除了生成的DOM结构和其他浏览器不一样,其对不可识别标签的容错能力还是很棒的。因为section节点没有在DOM树中构建,所以也就不能给其增加样式。这种情况对应结果1。
当然,支持HTML5的浏览器比如IE9,Firefox4+,Safari5+会创建正确的DOM结构,然后这些标签会默认附带HTML5规范中定义的默认样式。
那么,我们所面临的最大问题就是同样的代码在不同的浏览器中形成了不同的DOM结构,并且含有不同的样式。
二、如何解决HTML5标签不兼容
或许会有很多人在质疑:为什么老式的浏览器不能识别这些标签?其实错不在浏览器,因为在那个时代根本不存在这种标签,所以不能正确识别出来,而这种不寻常的标签识别令DOM结构变得异常。对此,人们想出了很多在现阶段页面中使用HTML5元素的解决方案。每一个解决方案为了做到兼容都会遇到一些特定的问题。在此也在马海祥博客上跟大家分享一下:
1、实现标签被识别
马海祥曾做个一个测试(以IE8为例),是一个文章标题和蓝色字的文章内容,其中文章内容用了article标签。代码如下:
<!DOCTYPE html>
<html xmlns="" lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>测试</title>
<style>
article{color:#06F;}
</style>
</head>
<body>
<h1>文章标题</h1>
<article>
这是文章内容,应该是一段蓝色的文字。在老式浏览器中,如果不做hack将显示异常。
</article>
</body>
</html>
在IE8浏览器中,显示如下:
IE8不能识别article标签, 定义在标签上的CSS样式没有起作用。 在IE8中,<article>被解释成命名为<article />和</article />两个空的标签元素,与文章内容并列为兄弟节点,如下图所示:
既然因为不能识别标签而不能使用,那我们的解决办法就是让标签被识别出来。所幸,简单地通过documentcreateElement(tagName)即可以让浏览器识别标签和CSS引擎知道该标签的存在。假设我们上面的例子的<head>区域加上如下代码。
<script>
documentcreateElement('article');
</script>
IE8浏览器中的DOM解释就会变成下图所示:
自然,文字也显示成正常的蓝色。如下图所示:
2、JavaScript解决方案
JavaScript解决方案目的是解决在旧版本的IE中样式应用的问题。老版本的IE不会识别不明元素已经是一个耳熟能详的特性,而如果这些元素已经通过documentcreateElement()创建,那么浏览器就可以识别这些标签,并可以将其在DOM树中构建,然后允许开发者对其应用样式。
这个方法可以确保HTML5标签能在旧版本IE中对应创建DOM节点,然后可以对其应用样式。这个方法将HTML5块级元素设置成display:block,从而可以在各个浏览器中做到兼容。
今天测试以下把马海祥博客的网页改成了HTML5的,调试了一下,在FF和Opera中都显示正常了,到了IE6上却变得面目全非了。对此我还特意去找了一些使用JS代码支持HTML5标签元素的方法,在此也跟大家分享一下:
(1)、使用html5shiv
查看了一下,发现了html5shiv能解决这个问题,可以把HTML5的新元素转换成IE6认识的内容。只需要在你的head中调用这段代码就行:
<!--if lt IE 9]>
<script src=""></script>
<![endif]-->
当然你也可以直接把这个文件下载到自己的网站上。但这个文件必须在head标签中调用,因为IE必须在元素解析这前知道这些元素,才能启作用!但马海祥还要提醒你一下:还要在你的CSS文件中加上以下代码,不然有可能会出现些莫名其妙的问题。
header,nav,article,section,aside,footer{display:block;}
另外excanvasjs是Google为IE6支持canvas元素写的脚本,以后马海祥会跟大家再细说这样的例子,感兴趣的朋友可以去试试。
(2)、使用Kill IE6
除此之外你还可以使用KILL IE6一族,前提是你的浏览器允许执行JS文件。方法很简单,在你的网站的</body>之前加上以下代码就可以了:
<!--if lte IE 6]>
<script src=""></script>
<![endif]-->
上面写的<!--if lte IE 6]>在正常的HTML中属于注释,不会被执行,但在IE中是一个判断语句,所以这些代码只有在IE中才会被识别并加载。
lte:就是Less than or equal to的简写,也就是小于或等于的意思。
lt :就是Less than的简写,也就是小于的意思。
gte:就是Greater than or equal to的简写,也就是大于或等于的意思。
gt :就是Greater than的简写,也就是大于的意思。
! : 就是不等于的意思,跟javascript里的不等于判断符相同
说实话,马海祥不喜欢这个利用JavaScript解决的方案,因为它破坏了我最主要的web应用开发原则:我们不应该使用JavaScript来控制布局。不仅仅是因为这个做法给那些禁用脚本的用户带来了糟糕的用户体验,更重要的是,如果我们希望我们的web应用代码是面向未来,并且维护性高的,那么必须将视图相关部分分离出来。这个方案对在跨浏览器中构建相同的DOM结构很有帮助,也可以确保你的JavaScript和CSS在各个地方运行结果相同,但是这个优势并不能改变我对这个方法的不认同。
3、Namespace hack
永远不要缺乏使用hack解决问题的能力,在IE中还有其他技术来让浏览器识别不明的标签。这个来自Elco Klingen日志的方法一开始引起了广泛的关注。该技术包含了一个XML形式的命名空间,并使用了含有namespace前缀的元素。例如:
<html xmlns="" xmlns:html5="">
<body>
<html5:section>
<!-- content -->
</html5:section>
</body>
</html>
前缀html5是纯粹是用于这个例子而且也不是官方支持的,你甚至可以用"foo"作为前缀,结果还是一样。有了前缀之后,IE会识别新的元素,从而可以应用样式。在其他浏览器中一样有效,那么最后,你就成功地在各个浏览器中构建了一样的元素和一样的样式。
这个方法的缺陷很明显:你必须在HTML文档中使用XML格式的命名空间,同样,你也需要在css中这么做:
html5\:section {
display: block;
}
马海祥点评:这并不是我期望Web开发者编写代码的方式。虽然这是一个非常杰出的解决方案,但是这让应用变得不自然。我不希望看到文件中充满了带命名空间的元素。
4、Bulletproof技术(防d衣技术)
说实话,我是第一次接触到这个技术,建议在所有新的HTML5块级元素中增加一个内部的div元素,然后包含一个CSS class,用这个元素来替代HTML元素(类似在里面穿了一件防d衣),例如:
<section>
<div class="section">
<!-- content -->
</div>
</section>
在应用样式的时候,Tantek推荐直接给div增加样式,而不是给新元素增加样式
推荐使用:
section {
color: blue;
}
而不是:
section {
color: blue;
}
这个方案的原理是用简单的方式将原来的样式应用方式转移到一个代表了HTML5标签的元素上。由于我一般情况下不会将样式通过标签名的方式应用到元素上,所以马海祥也并完全支持这个建议。
马海祥觉得这个方案的缺陷是不同的浏览器构建了不同的DOM结构,那么你必须在编写JavaScript和CSS的时候格外小心。获取子节点或者父节点的时候,不同的浏览器返回的结果可能会不一样。特别是在下面的代码中:
<div class="outer">
<section>
<div class="section main">
<!-- content -->
</div></section>
</div>
5、反向的bulletproof技术
还有一些方法,比如尝试使用和Tanteck方案相反的技术,也就是把HTML5元素放在div元素内部,例如:
<div class="section">
<section>
<!-- content -->
</section>
<div>
这个方案唯一的不同是HTML5元素的位置,其他都一样。喜欢这个技术的支持者认为他的一致性很好(适用于所有的元素,包括<hgroup>)。但是DOM结构的不同让这个方案意义变得不大。他的主要优势是技术上的一致性。
6、关于X-UA-Compatible的使用
目前绝大多数网站都用以下代码来作为IE8的兼容方法。
<meta >
整体结构
页面头部
1、文件应以“<!DOCTYPE >”首行顶格开始,推荐使用“<!DOCTYPE html>”
<!DOCTYPE html>
2、必须声明文档的编码charset,且与文件本身编码保持一致,指定字符编码的 meta 必须是 head 的第一个直接子元素。推荐使用UTF-8编码<meta charset="utf-8">
(1)网页显示字符集
(2)可选标签
公司的版权注释
网页制作者信息
网站简介
设定网页的到期时间,一旦网页过期,必须到服务器上重新调阅
禁止浏览器从本地机缓存中调阅内容
用来防止别人在框架中调用你的页面
自动跳转
网页搜索机器人向导,用来告诉机器人哪些页面需要搜索,哪些页 面不需要搜索
收藏夹图标
3、根据页面内容和需求填写适当的keywords和description
4、页面title是不可缺少的一项,title 必须作为 head 的直接子元素,并紧随 charset 声明之后
html和html5的element还是有区别的,分辨方法如下:1、简化的语法
HTML5简化了很多细微的语法,例如doctype的声明,你只需要写<!doctype html>就行了。HTML5与HTML5,XHTML1兼容,但是与SGML不兼容。
2、HTML5<canvas>标签替代Flash
Flash给很多Web开发者带来了麻烦,要在网页上播放Flash需要一堆代码和插件。<canvas>标签使得开发者只要使用一个标签就 能和用户产生UI交互。虽然目前<canvas>标签还不能实现Flash的所有功能,但是很快<canvas>就会让 Flash看起来老土,哈哈!
3、HTML5新增 <header> 和 <footer> 标签
HTML5设计的一个原则是更好的体现网站的语义性,所以增加了<header>和<footer>这样的标签,用来明确表示网页的结构。
4、HTML5新增 <section> 和 <article> 标签
与<header>, <footer>类似,<section>和<article>也有利于清晰化网页的结构,更有利于SEO。
5、HTML5新增 <menu> 和 <figure> 标签
<menu>可以被用于创建传统的菜单,也可以用于工具栏和上下文菜单。<figure>标签使得网页文字和的排版更专业。
6、HTML5新增 <audio> 和 <video> 标签
这两个标签可能是HTML5里面最有用的两个标签了。顾名思义,这两个标签是用来播放音频和视频的。
7、全新的表单
HTML5对 <form> 和 <forminput> 标签进行了大量修改,添加了很多新的属性,也修改了很多属性。
8、HTML5删除 <b> 和 <font> 标签
9、HTML5删除了 <frame>, <center>, <big> 标签
首先先说一下HTML5的代码只是在原有的XHTML基础上增加了一些新的标签(还有一些新的特性,例如数据库和缓存等特性)
以下为此页面的结构代码:
<!doctype html><html>
<head>
<meta charset="utf-8">
<meta name="revised" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="robots" content="all" />
<title>页面标题</title>
</head>
<body>
<header>
<div></div><!--登陆注册区域-->
</header><!--头部[html5新标签]-->
<nav></nav><!--导航[html5新标签]-->
<div></div><!--banner-->
<div></div><!--左上-->
<div></div><!--右上-->
<div></div><!--左下-->
<div></div><!--右下-->
<footer></footer><!--底部[html5新标签]-->
</body>
</html>
注:以上为页面的大的框架,相对用HTML5新的标签更合理的,全用上了新的带有语义标签。
另外多说一下,[注册登陆]这块在html5的新标签里面没有很合适的语义化的标签,所以依然采用原有的div标签为最合理。html5只是在原有的技术的基础上更细化了,咱在制作代码的过程中没必要必须用HTML5的代码,主要看是否合理,合理的为较合适的。
多说的:不管用XHTML还是HTML5写代码,结构(HTML5)与样式(CSS)尽量要分离!
希望能帮到你!
html5与传统html区别
一 HTML5语法的改变
该知识点所说变化指的是基于HTML4基础上所定义的改变,主要有如下:
1HTML5的文件扩展符(html或htm)与内容类型(text/html)保持不变。
2HTML5中,刻意不使用版本声明,一份文档将会适用于所有版本的HTML。
3从HTML5开始,对于文件的字符编码推荐使用UTF-8。
4HTML5确保了与之前HTML版本的最大程度的兼容性。
为了保证兼容性,需从元素说起,在HTML5中,元素的标记可以省略。其体来说,元素的标记分为“不允许写结束标记”、“可以省略结束标记”和‘“开始标记和结束标记全部可以省略”三种类型。
不允许写结束标记元素有:area、base、br、col
可以省略结束标记:li、dt、dd、p、rt
开始标记和结束标记全部可以省略:html、head、body
二新增的结构元素
section元素表示页面中的一个内容区块,比如章节、页眉、页脚或页面中的其他部分;
article元素表示页面中的一块与上下文不相关的独立内容,譬如博客中的一篇文章或报纸中的一篇文章;
aside元素表示article元素的内容之外的、与article元素的内容相关的辅助信息;
header元素表示页面中一个内容区块或整个页面的标题;
hgroup元素用于对整个页面或页面中一个内容区块的标题进行组合;
footer元素表示整个页面或页面中一个内容区块的脚注。一般来说,它会包含创作者的姓名、创作日期以及创作者联系信息;
nav元素表示页面中导航链接的部分;
figure元素表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元,使用figcaption元素为figure元素组添加标题
2、新增的其他元素
audio元素定义音频,比如音乐或其他音频流;
embed元素用来插入各种多媒体,格式可以是Midi、Wav、AU、MP3等;
mark元素上要用来在视觉上向用户呈现那些需要突出显示或高亮显示的文字,典型应用就是在搜索结果中向用户高亮显示搜素关键词;
progress元素表示运行中的进程
ruby元素表示ruby注释(中文注音或字符)
rt元素表示字符(中文注音或字符)的解释或发音
rp元素在ruby注释中使用,以定义不支持ruby素的浏览器所显示的内容。
wbr元素表示软换行,而当宽度不够时,主动在此处进行换行
canvas元素表示图形,比如图表和其他图像
cammand元素表示命令按钮,比如单选按钮、复选框或按钮
details元素表示用户要求得到并且可以得到的细节信息
datagrid元素表示可选数据的列表,它以树形列表的形式来显示
keygen元素表示生成密钥
output元素表示不同类型的输出,比如脚本的输出
source元素为媒介元素(比如和)定义媒介资源
menu元素表示菜单列表
3、新增的input元素
email 类型表示必须输入E-main地址的文本输入框
url 类型表示必须输入URL地址的文本输入框
number类型表示必须输人数值的文本输入框
range 类型表示必须输入一定范围内数字值的文本输人框
HTML5拥有多个可供选取日期和时间的新型输入文本框:
date ——选取日、月、年
month ——选取月、年
week ——选取周和年
time ——选取时间(小时和分钟)
datetime ——一选取时间、日、月、年(UTC 时间)
datetimelocal ——选取时间、日、月、年(本地时间)
三废除元素
1、能使用CSS替代的元素
对干basefont、big、center、font、s、strike、tt、u这些元素,由于它们的功能都是纯粹去画面展示服务的,而HTML5中提倡把画面展示性功能放在CSS样式表中统一编辑,所以这些元素废除了
2、不再使用frame框架
对于frameset元素、frame元素与noframes元素,由于frame框架对网页可用性存在负面影响,在HTML5中已不支持frame框架,只支持iframe框架,或者用服务器方创建的由多个页面组成的复合页面的形式,同时将以上这三个元素废除。
3、只有部分浏览器支持的元素
对于applet、bgsound、blink、marquee等元素,由于只有部分浏览器支持这些元素,特别是bgsound元素以及marquee元素,只被Internet Explorer所支持,所以在HTML 5中被废除。其中applet元素可由ernedd元素或object元素替代,bgsound元素可由audio元素替代,marquee可以由JavaScript编程的方式所替代
4、其他被废除的元素:
废除rb元素,使用ruby元素替代
废除acronym元素,使用abbr元素替代
废除dir元素,使用ul元素替代
废除isindex元素,使用form元素与input元素相结合的方式替代
废除listing元素,使用pre元素替代
废除xmp元素,使用code元素替代
废除nextid元素,使用GUIDS替代
废除plaintext元素,使用“ text/plian” MIME类型替代
四新增属性和废除属性
一、新增属性
1、与表单相关属性
新增autofocus属性,它以指定属性的方式让元素在画面打开时自动获得焦点;
新增placeholder属性,它会对用户的输入进行提示,提示用户可以输入的内容;
新增form属性,声明它属于哪个表单,然后将其放置在页面上任何位置,而不是表单之内;
新增required属性,该属性表示在用户提交的时候进行检查,检查该元素内一定要有输入内容;
2、与链接相关属性
增加media属性,该属性规定目标URL是为什么类型的媒介/设备进行优化的,只能在href属性存在时使用;
增加hreflang属性与rel属性,以保持与a元素、link元素的一致;
3、其他属性
属性reverend,它指定列表倒序显示;
为script元素增加async属性,它定义脚本是否异步执行;
二、废除属性
能被CSS样式表替代的属性全部废除掉;
多余属性,例如:target、profile、version等被废除掉;
五全局属性
在HTML5中,新增了一个’‘全局属性“的概念。所谓全局属性,是指可以对任何元素都使用的属性。
1、contentEditable 属性
该属性允许用户编辑元素中的内容,可以获得鼠标焦点,属性为布尔值,可被指定为true或false。另外,该属性还有个隐藏inherit状态,为true时,允许编辑,为false时,不允许编辑,未指定时,由inherit决定。
2、designMode 属性
该属性用来决定整个页面是否可编辑。有两个属性“on”与"off"。属性为"on"时,可编辑,为“off”时,不可编辑。
3、hidden属性
所有元素都允许使用一个hidden属性,该属性类似于input元素中的hidden元素,功能是通知浏览器不渲染该元素,使该元素处于不可见状态。该属性值为布尔值,为true时,不可见,为false时,可见。
4、spellcheck属性
该属性是HTML 5针对input元素(type=text) 与textarea这两个文本输入框提供的一个新属性,主要对用户输入内容进行拼写与语法检查。属性值为布尔值,书写时必须明确声明属性值为true或false书写方式如下:
详解form属性
在HTML4中,表单内的从属元素必须书写在表单内部,但是在HTML5中,可以把他们书写在页面上任何地方,然后给元素制定一个form属性,属性值为该表单单位的id,这样就可以声明该元素从属于指定表单了。
input元素从属于表单,它呗书写在表单内部,用不着再对它制定form属性。textarea元素呗书写在表单之外,但它从属于表单,所以表单的id制定给textareea元素的form属性。
这样做的好处是当需要给页面中的元素添加样式时可以更方便地添加,因为它们不是被分散在各表单之内的了。
;(1)HTML5支持SVG,画布和其他虚拟矢量图形,而在HTML中,只有将它与Flash,Silver-light等不同技术结合在一起才能使用矢量图形。(2)HTML5使用Web SQL数据库,可用于临时存储数据但在HTML中只有浏览器缓存才可用于此目的。
(3)HTML5支持新的表单控件,例如:日期和时间,电子邮件,数字,范围,电话,网址,搜索等。
(4)HTML 5是否允许音频和视频控件以及标签,HTML不允许音频<audio>和video <video>标签。
(5)在HTML 5中,Doctype声明非常简单易用,Doctype声明在HTML中太长且复杂
(6)charset,async和ping的属性是HTML 5的一部分,HTML中不存在charset,async和ping等属性
(7)增强了对Web应用程序功能的支持:在HTML5允许浏览器作为应用程序平台运行不需要使用任何基于JS或Flash的方法,因为HTML5中固有的元素提供了所有功能。
(8)新增加的<menu>和<menuitem>元素是互动元素规格的成分,但不经常使用或开发者社区津津乐道。但是,这两个项目可用于确保增强的Web交互<menu>性。为简单起见,标签用于表示移动和桌面应用程序中的菜单命令。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)