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之UI元素状态伪类选择器实例演示
Aug 11 HTML / CSS
css3动画过渡实现鼠标跟随导航效果
Feb 08 HTML / CSS
CSS3五个技巧给你的网站带来出色的效果
Apr 02 HTML / CSS
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
Oct 11 HTML / CSS
css3实现二维码扫描特效的示例
Oct 29 HTML / CSS
Html5 Canvas 实现一个“刮刮乐”游戏
Sep 05 HTML / CSS
HTML5在a标签内放置块级元素示例代码
Aug 23 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
Mar 12 HTML / CSS
五个2015 年最佳HTML5 框架
Nov 11 HTML / CSS
使用HTML5在网页中嵌入音频和视频播放的基本方法
Feb 22 HTML / CSS
HTML5地理定位_动力节点Java学院整理
Jul 12 HTML / CSS
清除canvas画布内容(点擦除+线擦除)
Aug 12 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默认安装产生系统漏洞
2006/10/09 PHP
新版PHP极大的增强功能和性能
2006/10/09 PHP
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
PHP在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
js兼容的placeholder属性详解
2013/08/18 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
JS实现动态移动层及拖动浮层关闭的方法
2015/04/30 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
微信小程序使用radio显示单选项功能【附源码下载】
2017/12/11 Javascript
通过vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
2018/04/08 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
layer关闭当前窗口页面以及确认取消按钮的方法
2019/09/09 Javascript
bootstrapValidator表单校验、更改状态、新增、移除校验字段的实例代码
2020/05/19 Javascript
Python与R语言的简要对比
2017/11/14 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
银行职业规划书范文
2013/12/28 职场文书
给老婆的搞笑检讨书
2014/01/12 职场文书
网上蛋糕店创业计划书
2014/01/24 职场文书
总裁助理岗位职责
2014/02/17 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
采购部长岗位职责
2014/06/13 职场文书
授权委托书格式范文
2014/08/02 职场文书
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript