W3C web标准概念入门
作者:阿捷 来源:w3cn.org 发布时间:2008-05-25 15:06:00
注:本文是应Alan邀请为《CSS布局实录》写的一个web标准入门指导。书已经上市近一年了,现在摘选出来,给初学者一个参考。希望了解更多实现技术的可以购买原书。
-----------
前言
"我的工资卡是交通银行的,但我经常在我家楼下的工商银行提款机上取款;
我是上海人,我用普通话可以和广州的同学进行交流;
今天水龙头坏了,我去水暖商店买了一个新的换上;
我去法国旅游,通知我法国的朋友在北京时间15:30分来接我。"
生活中每天都发生类似的事情,这样的事情似乎再正常不过的了,并没有什么特别之处。但是,你有没有想过:
为什么所有银行卡的大小都是一样的尺寸?
为什么我用普通话就能和广州同学交流?
为什么买来的新水龙头的螺口正好与老的水管能接上?
为什么法国朋友不会接错时间?
对于日常的很多事情,我们并没有注意到这背后都有着一个隐藏的“因素”在起作用,这个因素就是:标准。
有了“银行卡的标准”,你就不用担心不同银行的卡大小不一样,所有提款机的入卡口都一样;
有了“普通话标准”,全国人民可以方便的进行语言交流;
有了“螺口的工业标准”,你买个6分的水龙头就绝对可以可6分的水管接上;
有了“格林威治标准时间”,全世界的人们都不会接错班机时间。
生活中各行各业都有着自己相应的标准与规范,标准可以方便交流、促进协作、提高效率。
对于IT行业,设备的多样性与信息的多样性更加需要标准来保证它们之间的沟通与协作。我们可能在手机、打印机、数码相机之间交互数据;我们可能在网站、邮件和办公软件之间传递信息;我们可能要在未来新设备(例如机顶盒、信息家电)中应用现有资源。如果没有统一的标准,那么现在所有的信息都是孤立的、不可分享、不可重用的;我们需要浪费大量的人力物力重新为新设备建立数据;我们需要为每一次的多系统应用做专门的开发。
好在我们已经找到了解决的方案,这就是---XML。
XML简单说就是一种“有规定格式的文档”,只要我们的设备或系统产生的数据都遵守这种格式,就可以实现互相的数据交换、分享与协作。
自从1998年国际万维网组织(W3C.org)推出XML 1.0规范以来,已经有大量的XML标准在我们的生活中应用,例如我们用手机订阅的天气预报、股票行情,这些数据都是从相应的系统获得然后通过XML格式转换发送给你的;我们通过QQ或者MSN上发送消息到不在线的朋友手机上,这其中的信息也是通过XML转换实现的;还有更多的商业应用,例如公司内部的CRM、ERP、内容管理系统之间的数据交互、整合与共享都应用了XML。
那么,你自然会想到:网页(web)是否也应该遵循XML标准呢?答案是肯定的。
万维网出现以后,大大改变了人们的信息获取方式,以前从报纸、电视、广播上获取信息,现在可以更方便的通过网络,通过浏览器浏览获得。web上的信息也日益丰富,从一开始简单的、静态的文档和图片信息,到现在动态的、可交互的多媒体信息,web上的信息已经多到可以用“恐怖”来形容。去年底,google搜索引擎已经能够搜索到82亿张网页和21亿张图像。这么多的数据是财富,但是如果不能有效利用和搜索就是“信息垃圾”。而事实上,已经产生了数据冗余和信息无法有效共享、查询的情况。
我们有99%的网站是采用HTML制作的,而HTML并不符合XML格式。因此这些网页信息都很难适应未来新设备和数据共享的要求。怎么办呢?国际万维网组织(W3C.org)已经提出了解决办法,他们在HTML基础上,按照XML格式制定了新的规范XHTML1.0,只要通过简单的改变,就能将HTML转为XHTML,从而实现向XML的过渡。同时,为了使你的页面信息更加容易被搜索和重用、XHTML的代码需要结构更加更清晰、标签更加有语义,W3C推荐使用CSS来控制表现,以实现内容与表现的相分离。
这也就是我们这本书要讲的主题:用web标准技术重构你的网站。


猜你喜欢
- 字符串中字符大小写的变换1. str.lower() //小写>>> 'SkatE'.lower()
- models.py:from django.db import models # 出版社class Publisher(models.Mod
- 本文实例讲述了Python实现的朴素贝叶斯算法。分享给大家供大家参考,具体如下:代码主要参考机器学习实战那本书,发现最近老外的书确实比中国人
- 报错现象File "<string>", line 1SyntaxError: unexpected EOF
- Python中sorted()用法sorted() 作为 Python 内置函数之一,其功能是对序列(列表、元组、字典、
- 1、吝啬你的代码,用最少的代码做最合适的事情; 比如你的代码中用到了很多document.getElementById(),你是否考虑写一个
- 首先我们来安装python1、首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads
- 第一步:在handleTarget函数方法开始加入:var theTarget = e.target; if (theTarget != n
- 我就废话不多说了,大家还是直接看代码吧~import pandas as pdimport numpy as npcolumns = [[&
- ADF是oracle提供的一套企业开发的解决方案。 最近做性能测试, 需要获取当前页面有多少SQL 查询,花费多少时间。首先想到的就是常用的
- 1提取 PDF 内容# pip install PyPDF2 安装 PyPDF2import PyPDF2from PyPDF2
- 以下的文章主要是介绍SQL Server数据库与其实际应用元数据,我前两天在相关网站看见SQL Server数据库与其实际应用元数据的资料,
- <html xmlns="http://www.w3.org/1999/xhtml"> <head&g
- 要判断自定义对象的类型,用__class__方法,或者用isinstance(object, class-or-type-or-tuple)
- 首先我很不喜欢验证码这东西。但现在越来越多的网站使用验证码来抵御spam的冲击。太揪心了。背景介绍验证码的技术叫CAPTCHA验证,CAPT
- 本节列出了可以运行MySQL的操作系统。我们使用GNU Autoconf,因此将MySQL移植到所有使用Posix线程和C++编译器的现代系
- vue element-ui动态面包屑导航,供大家参考,具体内容如下直接上代码一、template代码// 这是单独的组件<templ
- 本文实例讲述了PHP实现的XXTEA加密解密算法。分享给大家供大家参考,具体如下:<?php/** * Xxtea 加密实现类 */c
- 问题在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too m
- package work;import java.io.BufferedReader;import java.io.IOException;