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 相关文章推荐
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
May 07 HTML / CSS
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
Sep 02 HTML / CSS
纯CSS3实现的阴影效果
Dec 24 HTML / CSS
详解CSS中iconfont的使用
Aug 04 HTML / CSS
CSS3中使用RGBA设置透明度的示例
Aug 04 HTML / CSS
HTML5网页音乐播放器的示例代码
Nov 09 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
html2canvas生成清晰的图片实现打印的示例代码
Sep 30 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
Aug 12 HTML / CSS
如何查看浏览器对html5的支持情况
Dec 15 HTML / CSS
html css3不拉伸图片显示效果
Jun 07 HTML / CSS
纯CSS打字动画的实现示例
Aug 05 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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
python梯度下降算法的实现
2020/02/24 Python
Python colormap库的安装和使用详情
2020/10/06 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
会计电算化专业毕业生自荐信
2013/12/20 职场文书
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书