html5需遵循的6个设计原则


Posted in HTML / CSS onApril 27, 2016

实际上,html5并不是由w3c直接制定的,w3c的方向是xhtml2,而不是html5。当xhtml2脱离现实,无法付诸实践时,w3c工作组才将研究方向转向html5。为什么xhtml2从未落到实处?因为它违反了一条设计原理,这条设计原理就是著名的伯斯塔尔法则——发送时要保守;接收时要开放。而在html5设计过程中遵循了一系列原则,才使得html5得以快速推广,本文将介绍html5遵循的6个设计原则,具体如下

原则一:避免不必要的复杂性

html4

<!DOCTYPE html PUBLIC "-//W3C/DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

html5

<!DOCTYPE html>
 
html4

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

html5

<meta charset="utf-8">
 
原则二:支持已有的内容

以下四段代码,在xhtml中只有第一段是正确的;而在html5中,所有的都是正确的

XML/HTML Code复制内容到剪贴板
  1. <img src="foo" alt="bar" />  
  2. <p class="foo">Hello world</p>  
  3.     
  4. <img src="foo" alt="bar">  
  5. <p class="foo">Hello world   
  6.     
  7. <IMG SRC="foo" ALT="bar">  
  8. <P CLASS="foo">Hello world</P>  
  9.     
  10. <img src=foo alt=bar>  
  11. <p class=foo>Hello world</p>  
  12.   

原则三:解决现实的问题

在html4中,即使两个块级元素元素有相同的链接地址,也必须分开写,因为内联元素不能包含块级元素

<h2><a href="/path/to/resource">Headline text</a></h2>
<p><a href="/path/to/resource">Paragraph text.</a></p>

而在html5中,由于使用了内容模型,<a>元素也可以包含块级元素

XML/HTML Code复制内容到剪贴板
  1. <a href="/path/to/resource">  
  2.     <h2>Headline text</h2>  
  3.     <p>Paragraph text.</p>  
  4. </a>  

 
原则四:求真务实

html5新增了多个元素,其中包括:section、article、aside和nav,它们代表了一种新的内容模型——给内容分区。以前人们一直都在用div来组织页面中的内容,但与其他类似的元素一样,div本身并没有语义。但section、article、aside和nav实际上是在明确地告诉你——这一块就像文档中的另一个文档一样。位于这些元素中的任何内容,都可以拥有自己的概要、标题,自己的脚部。

原则五:平稳退化
 
浏览器在遇到不识别的type值时,会将type的值解释为text

input type="number"
input type="search"
input type="range"
input type="email"
input type="date"
input type="url"

原则六:最终用户优先

一旦遇到冲突,最终用户优先,其次是作者,其次是实现者,其次标准制定者,最后才是理论上的完满。

以上就是html5需遵循的6个设计原则,希望对大家的学习有所帮助。

HTML / CSS 相关文章推荐
CSS3中几个新增加的盒模型属性使用教程
Mar 01 HTML / CSS
CSS3 文字动画效果
Nov 12 HTML / CSS
Html5 postMessage实现跨域消息传递
Mar 11 HTML / CSS
html5定制表单_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5探秘:用requestAnimationFrame优化Web动画
Jun 03 HTML / CSS
利用HTML5中Geolocation获取地理位置调用Google Map API在Google Map上定位
Jan 23 HTML / CSS
HTML5实现简单图片上传所遇到的问题及解决办法
Jan 20 HTML / CSS
html5表单及新增的改良元素详解
Jun 07 HTML / CSS
html如何对span设置宽度
Oct 30 HTML / CSS
Html5定位终极解决方案
Feb 05 HTML / CSS
CSS3 Tab动画实例之背景切换动态效果
Aug 23 HTML / CSS
css3 选择器
May 11 HTML / CSS
HTML5+Canvas+CSS3实现齐天大圣孙悟空腾云驾雾效果
Apr 26 #HTML / CSS
HTML5标签嵌套规则详解【必看】
Apr 26 #HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
Apr 26 #HTML / CSS
HTML5本地数据库基础操作详解
Apr 26 #HTML / CSS
HTML5移动端手机网站开发流程
Apr 25 #HTML / CSS
基于html5绘制圆形多角图案
Apr 21 #HTML / CSS
浅析border-radius如何兼容IE
Apr 19 #HTML / CSS
You might like
PHP高手需要要掌握的知识点
2014/08/21 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
JavaScript与C# Windows应用程序交互方法
2007/06/29 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
JS截取字符串常用方法整理及使用示例
2013/10/18 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
2016/03/12 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
使用python绘制人人网好友关系图示例
2014/04/01 Python
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
python中Flask框架简单入门实例
2015/03/21 Python
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python绘制3D图形
2018/05/03 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
上班离岗检讨书
2014/01/27 职场文书
社区学习雷锋活动总结
2014/04/25 职场文书
宣传工作经验材料
2014/06/02 职场文书
完整版商业计划书
2014/09/15 职场文书
销售员态度差检讨书
2014/10/26 职场文书
2015新生加入学生会自荐书
2015/03/24 职场文书
开会通知短信大全
2015/04/20 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
就业指导讲座心得体会
2016/01/15 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书