当前位置: 首页 > news >正文

李松峰谈HTML之路

说说HTML之路

 

朋友送给我一本书,名叫《HTML之路》。我本人也是译者,曾翻译过几本Web开发方面的书。但是,我发现这本(原版)以一只可爱的沙皮狗做封面的书,真是很特别。一是它将HTMLCSS很好地融合在了一起来讲解;二是这本200页的小书居然承载了那么大的信息量;三是其内容看了让人既“解气”,又“过瘾”。

 

如果我问读者,您每天打开浏览器都看到了什么?相信不会有人说,我看到了HTMLCSS。可是,Web开发人员都知道,如果没有HTMLCSS,我们通过浏览器什么也看不到。因为,浏览器中呈现的文本、图像、动画、视频,完完全全都是HTMLCSS合作的结果。换句话说,浏览器的主要任务就是解释HTMLCSS。比如,IE的核心(Trident)就是一个名为MSHTML.dll文件(头两个字母MS表示Microsoft),而这个文件就是HTML/CSS解析和呈现程序。因此,可以说Web开发的第一道门坎,就是学习HTMLCSS。我看过专门讲HTML的书,也看过专门讲CSS的书,总归都有所侧重。但是,《HTML之路》是一本真正将HTMLCSS以等量齐观的地位融合在一起讲解的书。CSS大师Eric A. Meyer在《CSS Web站点设计手册》中打过一个比方,“如果说CSS是你给网页穿上的衣服,那么XHTML文档就相当于穿这件衣服的身体。当你想换一种新形象时,你会想到给自己换件衣服,对吗?在理想的世界中,要为网页换一幅新面孔无非也只需要一个新的样式表而已”。没错,HTMLCSS就是身体和衣服的关系。而讲解Web设计的最佳途径,就是将“身体”的部位和“衣服”的款式,放在一个等量齐观的视角来讨论。《HTML之路》巧妙地、甚至天衣无缝地做到了这一点。

 

在《HTML之路》208页的篇幅中,正文只占133页,其余是两个附录(XHTMLCSS参考)。虽然与其他Web开发图书的部头相比,这本书属于“轻量级”;但是,书中的包罗的内容则完全超乎其篇幅限制之外。在阅读全书的一天时间里,我禁不住发自内心地赞叹,这么短的篇幅中居然承载了那么大的信息量。几乎涵盖了HTMLCSS中所有常用、实用、有用的技术点,而且语言风趣、文短意深。我以前就是搞Web开发的,从一名Web开发人员的角度来看,如果能够将这短短133页中介绍的知识点,全部消化吸收,相信也算是小有所成了。有了这些知识点作支撑,下一步无论是深入学习Web设计,还是朝网站开发方向发展,甚或向Web应用编程(包括Ajax)进军,都应该说有了坚实的基础。

 

本来,HTMLCSS都是W3C的建议规范,如果所有浏览器都能按照一致的方式解释并呈现HTMLCSS,那么天下可能早就太平了。但实际上却并非如此。时至今日,仍然有很多网站的页面只能在IE下浏览,如果不使用IE,那么这些网页就跟“残废”一样,无法正常工作。比如,今年5·12大地震期间,我打算通过中国红十会网站捐款,在经过“漫长”的等待之后(服务器流量过大),终于打开了最后的支付页面。然而,由于使用的是Firefox,支付页面残缺不全,没有登录窗体,前面的等待全都白费。但是,换了IE之后则一切正常。虽然这只是一个涉及在线支付的特殊例子,但事实上,当前只针对IE设计的网站和网页可以说仍然比比皆是。这正是Web标准化运动要致力改变的问题——让网页在所有浏览器中都有一致的呈现和行为。如前所述,尽管有Web标准存在,但IE在“向后兼容”的口号掩护下,始终在做一些令开发者和用户失望的事情。例如,自2001827日发布IE620061018日发布IE75年多时间微软就没有对IE进行过重大改进,导致Web设计领域的巨大重复劳动和智力浪费。连比尔·盖茨都承认,“从某种意义上讲,这么久才准备推出新版浏览器,我们必须承认:‘我们罪责难逃(mea culpa)’”。但是,正因为微软在浏览器开发方面的战略失误,才让FirefoxOpera等第三方浏览器和MaxthonIE核心扩展浏览器有了充分展示自己的机会。《HTML之路》的作者显然也是Web标准的坚定支持者,书中对Web标准和各种浏览器不兼容性问题也给出了精辟的分析,很多观点让人耳目一新。

 

当然,金无足赤,虽然全书总体翻译质量不错,但仍然存在个别问题。例如,第2章“文本”第27页,前面说“HTML就是一个缩写,还有CSS”,后面又说“HTMLCSS不是缩写”。不过,对于一本Web开发入门图书而言,20几元就能够收获那么多知识(而且是正确的知识),显然物超所值。



 

为之漫笔

2008 6 8 星期日



 

相关文章:

  • 《Java核心技术》每一位Java学习者的必备读物
  • Java-SOA-UI-Dojo 好书诚邀译者——华章公司
  • 全球38位顶尖高手、众多语言之父经典之作9月15日全国首映
  • 华章IT与PHPChina社区携手合作——“PHP蓝宝书”有奖书评征集活动
  • IT四大名著
  • 华章IT四大名著
  • 多处理器编程的艺术
  • 多核、并发离程序员到底有多远?
  • “代码”风暴即将登陆中国
  • 9月22日,袭卷中国的代码风暴
  • 全球38位顶尖高手及语言之父合著《代码之美》
  • 熊节-享受代码之美
  • 周爱民--等度的流明
  • 孟岩-重新擦亮思考的火花
  • 孟岩—重新擦亮思考的火花
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • 【node学习】协程
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • HTTP那些事
  • Java超时控制的实现
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • 仿天猫超市收藏抛物线动画工具库
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 优秀架构师必须掌握的架构思维
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 国内开源镜像站点
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (poj1.2.1)1970(筛选法模拟)
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (蓝桥杯每日一题)love
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)http协议
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net mvc总结
  • .NET Reactor简单使用教程
  • .net wcf memory gates checking failed
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET框架设计—常被忽视的C#设计技巧
  • .NET中的十进制浮点类型,徐汇区网站设计
  • /var/lib/dpkg/lock 锁定问题
  • @AutoConfigurationPackage的使用
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [20171101]rman to destination.txt
  • [AI]文心一言爆火的同时,ChatGPT带来了这么多的开源项目你了解吗
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]
  • [CSS]CSS 字体属性