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开启硬件加速的使用和坑
Aug 21 HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
Apr 04 HTML / CSS
一款css实现的鼠标经过按钮的特效
Sep 11 HTML / CSS
html5+css3气泡组件的实现
Nov 21 HTML / CSS
css3 实现圆形旋转倒计时
Feb 24 HTML / CSS
Css3实现无缝滚动防抖
Sep 14 HTML / CSS
移动web模拟客户端实现多方框输入密码效果【附代码】
Mar 25 HTML / CSS
html通过canvas转成base64的方法
Jul 18 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 HTML / CSS
使用HTML5的Canvas绘制曲线的简单方法
Sep 08 HTML / CSS
移动端html5模拟长按事件的实现方法
Sep 30 HTML / CSS
z-index不起作用
Mar 31 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超牛逼无限极分类生成树方法
2015/05/11 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
js复制到剪切板的实例方法
2013/06/28 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
详解原生JavaScript实现jQuery中AJAX处理的方法
2016/05/10 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
python得到单词模式的示例
2018/10/15 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
捷克体育用品购物网站:D-sport
2017/12/28 全球购物
KIEHL’S科颜氏官方旗舰店:源自美国的顶级护肤品牌
2018/06/07 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
营业员实习自我鉴定
2013/12/07 职场文书
食堂员工工作职责
2013/12/18 职场文书
会计岗位描述
2014/02/22 职场文书
欢迎领导标语
2014/06/27 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2019个人半年工作总结
2019/06/21 职场文书
导游词之沈阳植物园
2019/11/30 职场文书