语义、标准和样式
作者:秦歌 来源:随网之舞 发布时间:2008-06-05 12:52:00
大概在2004年初的时候,我第一次买了一本很厚的书,名字或许叫《Dreamweaver MX从入门到精通》,很认真看着书并实践操作大约三分之二后,就感觉自己不错了,利用Dreamweaver加上表格套表格可以把视觉精确的转化成静态页面,在那年底我完成了随网之舞的第一版。也就是在那个时候“WEB标准”这个新名词闯入了我的视线,《网站重构》这本书和w3cn.org吸引了我。
2005年初,当我在广东茂名实习的时候,我第一次利用当时理解的标准,准确来说就是利用XHTML1.0加上利用CSS布局做了两个能同时兼容IE5.0+和Firefox的站点。毕业后,看到到处言必称标准,开发时强调XHTML1.0的语法规范(标准貌似被很多人认为就是XHTML1.0+CSS),检查时强调W3C的验证器(比如为了通过验证利用Javascript实现弹窗),招聘是强调会DIV+CSS(这是标准的另一个称呼,甚至到现在偶尔还有人给我一个链接对我说:”看我按标准做的网页,全部是DIV,一个TABLE都没有。”),那个时候似乎陷入了对基础语法(通过验证)和对CSS技能(hack技术)的追求上去了。后来,当我了解HTML的历史时,我才注意到HTML众多版本的标准,意识到HTML本质是用语义结构化文档和构建WWW的超链接。
现在回想起来,《网站重构》让我接触到标准,却没有让我理解标准,所以现在对它的记忆似乎仅限于那句“休斯顿,出了问题”。很长一段时间我都尝试去理解HTML标签的含义,比如去了解dl是definition list的缩写,通过看W3C、A List Apart、YAHOO的源码去揣摩HTML的语义、结构嵌套规则和语义化的命名,也是当我看到YAHOO首页的DTD是HTML4.01时,才意识到标准并不仅有XHTML1.0这个DTD,更重要的是语义化的结构。虽然W3C有大量的文档存在,但总给我一种很晦涩难懂的感觉,所以到现在为止关于HTML我参考最多的文档还是《XHTML1.0参考》、《(X)HTML Strict 下的嵌套规则》和《XHTML1.1标签列表》。但这些对于如何利用语义标签恰到好处的结构化文档还是模糊和远远不够的。
一个月前,我看到了《HTML Mastery》,这本书的内容可以通过其中译本《精通HTML》的目录一目了然。这是我目前看到关于HTML学习最好的一本书,它涉及到大部分我在HTML应用上的遇到问题,同时也印证和细化了大部分我对HTML语义化的理解。同时在这本书里我还新学到了:
HTML中对什么是标签(tag),什么是元素(element)最准确的描述。
对MIME理解
链接的rel和rev属性的含义和作用,如何创建可访问性链接
abbr和acronym的区别
语义化表格:表格是很复杂的东西,每次看都有新的收获,配合着Eric A.Meyer的《CSS权威指南》的“表布局”那章就更好了。
微格式:以前都是零零碎碎,这次真系统啊。
《HTML Mastery》的副标题是Semanctics,Standards,and Styling,我把它作为我的标题。语义是HTML的本质和基础,标准是HTML的通用的保证,样式是在语义和标准基础上更好的为人民服务。良好的语义不仅有利于内容、表现和行为的分离,也应该有利于表现和行为的实现,进一步反应了我们对需要结构化内容(信息是互联网的核心)的理解和对可能出现变化的把握。HTML5新增的标签也说明了这点,比如<header>和<footer>不正是<div id=”header”></div>和<div id=”footer”></div>抽取吗?XHTML2更是在这个问题上走到黑。当然现实残酷的,CSS还不足以通过简单的标签表达丰富的视觉,所以不得不为了视觉而添加一些无意义的标签。在知道保证语义的基础上做一些合理妥协和本身认为增加无意义标签是理所当然的是两种不同的境界。如果你选择了第一种,那么你深刻的理解HTML的语义是必然的选择。CSS Zen Garden和CSS Mojo是这方面的表率。
D2上不少人说想交流HTML的语义化,其实可以从这本书开始。如果您的工作涉及到HTML,就应该读这本书,所以我向我的同事们、口碑的同学们都推荐过,现在我依旧向您推荐它。
猜你喜欢
- 对于np.argmax()让我迷惑了很久,尤其是其中的axis=1的比较结果。一、np.argmax()的理解1、最简单的例子假定现在有一个
- 前言我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式。但是对于一些小型的应用,如一些移动
- 一、SQL 语句的执行处理1、即时 SQL一条 SQL 在 DB 接收到最终执行完毕返回,大致的过程如下:1. 词法和语 * 析;2. 优化
- Python 3 的可迭代解包在 PEP 3132 - Extended Iterable Unpacking 里面描述了一种对可迭代对象的
- 本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下获取本机的IP和端口号:import socket def ge
- 最近为数据库服务器增加了内存,达到了最大支持的8G,数据库用的是mssql 2005 ,之前内存一直是4G的,不存在内存大和32位操作系统冲
- 最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同
- 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads上传到服务器rz
- 本文列出了初学网页编程中常用到的一些代码和一些技巧,简单实用,您一定用得到。1、oncontextmenu="window.eve
- 这个间歇性向上滚动js代码很适合做广告展示,友情链接等等。与平常的无缝向上连续滚动不同的是它每滚动一个就会停顿一会儿。<!DOCTYP
- 如我们新建窗体FatherPage.htm: XML-Code: <script type="text/javascript
- 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制、判断字符长度 、js限制输入、
- 上一篇相关文章:段正淳的css笔记(2)圆角的做法 1、标题右侧“更多”的实现曾经做上图所示的效果,会使用到position来相对定位到h2
- 本文实例讲述了Sanic框架安装与简单用法。分享给大家供大家参考,具体如下:Sanic是一个类似Flask的Python 3.5+ Web服
- 一般说到组件,我首先想到的是弹窗,其他就大脑空白了。因为觉得这个是在项目中最常用的功能,提取出来方便复用的才是组件~然而我才发现这个想法是有
- 前言我们见到几乎所有的 Web 网站或者手机 App 也好,它们的最终目的都是要留住用户,提升自己网站的用户注册量,所以说用户的概念也必须深
- 本文实例讲述了Python基于回溯法子集树模板解决取物搭配问题。分享给大家供大家参考,具体如下:问题有5件不同的上衣,3条不同的裤子,4顶不
- 一、背景故事圣诞节风波马上不就到圣诞节了嘛,我看到朋友圈里很多小伙伴再纷纷炫耀自己收到的专属圣诞树,也有小伙伴私信我,说还没有自己的圣诞树!
- 最近在看java编程思想,看到类型信息这一章,讲到了类的信息以及反射的概念。顺便温故一下php的反射东西。手册是这样说的:"PHP
- 当使用PHP在MySQL中编写查询时,它的适用性将基于MySQL本身进行检查。所以使用MySQL提供的默认日期和时间格式,即'YYY