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 相关文章推荐
纯DOM+CSS3实现简单的小风车动画
Sep 27 HTML / CSS
推荐10个CSS3 制作的创意下拉菜单效果
Feb 11 HTML / CSS
CSS实现的一闪而过的图片闪光效果
Apr 23 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
Nov 12 HTML / CSS
HTML5 Canvas阴影使用方法实例演示
Aug 02 HTML / CSS
HTML5不支持标签和新增标签详解
Jun 27 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
Sep 17 HTML / CSS
iframe在移动端的缩放的示例代码
Oct 12 HTML / CSS
html5写一个BUI折叠菜单插件的实现方法
Sep 11 HTML / CSS
详解淘宝H5 sign加密算法
Aug 25 HTML / CSS
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php高级编程-函数-郑阿奇
2011/07/04 PHP
Codeigniter+PHPExcel实现导出数据到Excel文件
2014/06/12 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python ---lambda匿名函数介绍
2019/03/13 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
应届毕业生自荐信例文
2014/02/26 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
一年级班主任感言
2014/03/08 职场文书
申报材料格式
2014/12/30 职场文书
高中生毕业评语
2014/12/30 职场文书
2016最新离婚协议书范本及程序
2016/03/18 职场文书
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android