XHTML ສະຕິກັນ 1: ການປັບສະແຫວງຂອງ XHTML ເພື່ອການສ້າງເວັບໄຊ

我们曾经为本节撰写的标题是:“XHTML : 简单的规则,容易的方针。”原因之一是,本节讨论的规则和方针是简单和容易的。原因之二是,一本简单和容易的 WEB 设计图书,就像超级市场的新式的免费商品一样,虽然常见却可以有效地吸引人的眼球,这样的东西可以刺激人的兴趣,并且鼓励人们尝试。

我确实希望本节的内容可以激发你的兴趣,并鼓励你去尝试。为什么这么说呢?因为一旦你掌握了本章包含的简单容易的理念,你就会重新思考网页运作的方式,并开始改变建造它们的方法。然而我并不希望你只是将代码重新改写一遍。我希望你可以实实在在地以另一种方式思考和工作。

另一方面,重构才是 XHTML 真正的意义。

在本章,我们将研究结构化标记的机制和涵义。如果你正在将网站标准融入你的开发项目,你或许会觉得本章的内容有些熟悉。不过即便是这方面的老手,也会从本章发现意外的收获。

XHTML 规则概要

将传统的 HTML 转换为 XHTML 1.0 是快捷且无痛的,只要你遵守一些简单的规则和容易的方针。不管是否使用过 HTML,都不会妨碍你使用 XHTML。

  • 使用恰当的文档类型声明和命名空间。
  • 使用 meta 元素声明你的内容类型。
  • ນຳໃຊ້ພາສາບັນຍາຍນ້ອຍທັງໝົດຂອງຂອງຂອງທັງໝົດ.
  • ໃສ່ກົດຂອງຂອງຂອງທັງໝົດ.
  • ແກ່ຕົວຢູ່ແລະປະສົມການຂອງຂອງຂອງທັງໝົດ.
  • ປິດທັງໝົດຂອງກົດຢູ່.
  • ນຳໃຊ້ຈຸດນອກຂອງຄວາມລະອຽດແລະວົງສັນຍາກາດ.
  • ບໍ່ຂຽນສິ່ງທີ່ກ່ຽວກັບຄຳຊັກຢູ່ທີ່ກົດຂັດສອງວົງກວດ.
  • ການຮັບປະກັນວ່າສິ່ງນ້ອຍກວ່າຕົວຢູ່ < ແລະ &

Unicode 和其他字符集

XML、XHTML、和HTML 4.0 文档的默认字符集是 Unicode,一个由 Unicode 联盟定义的标准。Unicode 是一套全面的字符集,它为每个字符提供了一个特定的唯一的数字,不论平台、程序和语言。Unicode 也是我们拥有的最接近通用字母表的事物,尽管它并不是一个字母表,而是一套数字映射方案。

尽管 Unicode 是 web 文档默认的字符集,开发人员依然可以自由地选择更适合他们的其他字符集。比方说,美国和西欧的网站常常使用 ISO-8859-1 (Latin-1) 编码,而中华人民共和国的国家标准是 gb2312。

为表达语义而标记文档,而不是为了样式

记住:请最大限度地使用 CSS 来进行布局。在 web 标准的世界里,XHTML 标记与表现无关,它只与文档结构有关。

结构良好的文档可以向浏览器传达尽可能多的语义,不论是浏览器位于掌上电脑还是时髦的桌面图形浏览器。结构良好的文档都能向用户传达可视化的语义,即使是在老的浏览器,或是在被用户关闭了 CSS 的现代浏览器中。

不是每个站点都能立即抛弃 HTML 表格布局。CSS 的发明者,W3C,直到 2002 年 11 月才将官方网站转换为 CSS 布局。然而,即使是顽固的唯标准主义者也不总是将表现从结构中完全分离处理,至少在 XHTML 1 中是做不到的。但是现在,我们可以向这个理想迈出重大的一步,通过将表现从结构中分离(或者说将数据从设计中),即使是混合的传统的布局也可从中受益。

下面有一些提示,可以帮助你通过更结构化的方式进行思维:

提纲内的色彩

在语法学校,我们中的大部分人都被迫使用标准的提纲格式来写文章。现在,我们成为了设计师,可以多么自由地摆脱提纲的限制,然后大胆地投身于独特的个人表达的自由领域(也许我们的宣传册和商业站点还不是那么独特和个人化)。但是至少我们不会再受到提纲的困扰了。

实际上,依照 HTML,我们应该将内容结构化为有组织的层级。在浏览器不支持 CSS 的时期,我们无法在交付可供销售的布局的同时做到这一点。但是今天,在将我们的设计不折不扣地实现的同时,我们有能力交付内在结构良好的文档。

ບໍ່ຕ້ອງການກຳນົດຄວາມທີ່ຈະໃຊ້ໃນເຄືອຂ່າຍຫຼືຫຼັງຈາກທີ່ທ່ານໄດ້ປ່ຽນແບບເອກະສານດ້ວຍຂໍ້ຄວາມທີ່ມີຢູ່ກ່ອນໄປເປັນເວັບໄຊຫຼືຫຼັງຈາກທີ່ທ່ານໄດ້ປ່ຽນແບບເອກະສານທີ່ມີຢູ່ກ່ອນໄປເປັນເວັບໄຊຫຼືຫຼັງຈາກທີ່ທ່ານໄດ້ປ່ຽນແບບເອກະສານທີ່ມີຢູ່ກ່ອນໄປເປັນເວັບໄຊຫຼືຫຼັງຈາກທີ່ທ່ານໄດ້ປ່ຽນແບບເອກະສານທີ່ມີຢູ່ກ່ອນໄປເປັນເວັບໄຊຫຼືຫຼັງຈາກທີ່ທ່ານໄດ້ປ່ຽນແບບເອກະສານທີ່ມີຢູ່ກ່ອນໄປເປັນເວັບໄຊ

我的主题

介绍性文字

补充性的观点

相关文字

同时,避免使用已被废弃的 HTML 元素比如 ,或者无语义的元素比如
,来模拟其实不存在的逻辑结构。

比如,不要像这样做:

我的主题
介绍性文字

补充性的观点
相关文字

根据它们的意义使用元素,而不是根据它们的外观

我们中一些人已经陷在了一个坏习惯中,当我们仅仅需要一个大号字的文本时使用h1,或者在我们需要在前面加一个圆点符号时使用 li。就像我们在前面的章节讨论过的,浏览器一直都习惯于将设计属性强加于 HTML 元素之上。我们都一直习惯于认为,h1 意味着大号字,而li意味着圆点,或者 blockquote 意味着文本缩进。我们中的大多数人还在使用结构化元素模拟表现效果的方式来胡乱地写作 HTML。

ສະນັບຕັ້ງຈາກນັ້ນ, ຖ້າຜູ້ອອກແບບຕ້ອງການທີ່ຫົວຂໍ້ທັງໝົດຈະມີຄວາມຂະໜາດດຽວກັນ, ລາວຈະຈັດການທັງໝົດຫົວຂໍ້ໃຫ້ເປັນ h1, ເຖິງວ່ານັ້ນບໍ່ມີຄວາມຈິງຂອງຄວາມຄົງຄວາມສັບສະນະຂອງຄວາມຈິງ.

ນີ້ແມ່ນຫົວຂໍ້ສະຕິກອນ. ໃນຄວາມຈິງ, ຂ້ອຍໄດ້ຈັດສັບຄວາມຕາມຂໍ້ຕົວຢູ່.
ນີ້ບໍ່ແມ່ນຫົວຂໍ້ສະຕິກອນ. ແຕ່ຂ້ອຍຫຼາກຫຼາຍທີ່ມັນຈະໃຊ້ມາກັບຫົວຂໍ້ສະຕິກອນທີ່ຫຼາຍສີນລະປິນອີກ. ແຕ່ຂ້ອຍບໍ່ຮູ້ວ່າຈະໃຊ້ CSS ວິທິການນີ້.
ນີ້ບໍ່ແມ່ນຫົວຂໍ້. ແຕ່ຂ້ອຍຫຼາກຫຼາຍທີ່ຂໍ້ຕາມໃນເບີໜອງຈະໃຊ້ມາກັບມາທີ່ທ່ານຕ້ອງການ.
ຖ້າຂ້ອຍຮູ້ບັນດາຂໍ້ຂອງ CSS, ຂ້ອຍສາມາດບັນລຸການທົດສະນະນີ້ທີ່ບໍ່ທຳລາຍບັນດາຄວາມກຳນົດຂອງເອກະສານ.

ພວກເຮົາຕ້ອງກັບຄວາມຫຼົງຫຼວງຂອງພວກເຮົາຕໍ່າກ່ວາຄວາມທີ່ພວກມັນຄືກັບແມ່ນຫຍັງ. ໃນຄວາມຈິງ h1 ສາມາດກາຍເປັນຄວາມທີ່ທ່ານຕ້ອງການຫຼາຍແຫ່ງຫຼາຍສີນລະປິນອີກ. ຜ່ານ CSS, h1 ສາມາດກາຍເປັນການທີ່ບໍ່ມີການລະບຸບານບັນບາງບາງຄວາມຫຼາຍສີນລະປິນອີກ. p ສາມາດກາຍເປັນການທີ່ຫຼາຍສີນລະປິນອີກ. li ສາມາດກາຍເປັນການບໍ່ມີພິມບັນບາງບາງຄວາມຫຼາຍສີນລະປິນອີກ. ຄືກັບທີ່ພວກເຮົາກ່າວໃນວັນນີ້, ເຮັດການທົດສະນະການສະແດງຈາກປະກອບສິ່ງທີ່ມີຄວາມຈິງ.

ຈາກມື້ນີ້ພວກເຮົາຈະໃຊ້ CSS ເພື່ອຕັດສິນການທົດສະນະຂອງປະກອບສິ່ງ. ພວກເຮົາຍັງສາມາດປ່ຽນການທົດສະນະຂອງພວກມັນອີງຕາມທີ່ພວກມັນຢູ່ໃນເບີໜອງຫຼືໃນເວັບໄຊ. CSS ສາມາດຍຸບຄວາມສະແດງຈາກຄວາມກຳນົດໄດ້ຫຼາຍແຫ່ງແລະອະນຸຍາດໃຫ້ທ່ານຕັດສິນວິທິການຈັດສັບສີນລະປິນຂອງປະກອບສິ່ງໃດກໍ່ຕາມທ່ານຕ້ອງການ。

h1, h2, h3, h4, h5, h6 {
	font-family: georgia, palatino, "New Century Schoolbook",
	times, serif;
	font-weight: normal;
	font-size: 2em;
	margin-top: 1em;
	margin-bottom: 0;
	}

你为什么要这么做呢?这么做的目的是为了在图形浏览器中获得品牌化的外观和感觉的同时,在文本浏览器、无线设备、HTML 格式的电子邮件中,文档的结构得到保留。

我们并不想在关于 XHTML 的章节讲述更多 CSS 方面的技术。我们只是希望展示文档结构和可视表达是两个完全不同的事物,并且结构化元素应被用来转换文本,而不是强加显示效果。

ໃຊ້ປະກອບຄວາມໝາຍຄວາມສະແດງ, ບໍ່ແມ່ນປະກອບສິ່ງທີ່ບໍ່ມີຄວາມໝາຍ.

ຍ້ອນວ່າພວກເຮົາໄດ້ລືມຫຼືບໍ່ຮູ້ຫາຍຫຼັງວ່າ HTML ແລະ XHTML ແມ່ນມີຈຳນວນຄວາມໝາຍຄວາມສະແດງຂອງຄວາມສະແດງ, ຄົນທີ່ຖືກຄົ້ນພົບ HTML ໄດ້ໃຊ້ແນວໃດນີ້ເພື່ອເພີ່ມລາຍການ:

ບັນດາອີກສາມ<br />
ບັນດາອີກສາມ<br />
ບັນດາອີກສາມ<br />

ພິຈາລະນາທີ່ຈະໃຊ້ລາຍການທີ່ມີຈຳນວນຫຼາຍຫຼືລາຍການທີ່ບໍ່ມີຈຳນວນ.

<ul>
<li>ບັນດາອີກສາມ</li>
<li>ບັນດາອີກສາມ</li>
<li>ບັນດາອີກສາມ</li>
</ul>

"ແຕ່ li ຂອງຂ້ອຍແມ່ນມີພິມບາງບາງບານ ແຕ່ຂ້ອຍບໍ່ຕ້ອງບາງບານ!" ທ່ານອາດຈະກ່າວໄດ້. ຕາມບົດບັນຫາກ່ອນໜ້ານີ້, CSS ບໍ່ໄດ້ເຮັດຄວາມຄິດຂອງການສະແດງທີ່ຄິດວ່າປະກອບສິ່ງຈະສະແດງຄືກັບ. ມັນອາດລໍຖ້າເຈົ້າບອກມັນກ່ຽວກັບການສະແດງທີ່ເຈົ້າຫວັງ. ການປິດພິມສະແດງທີ່ສຸດສຸດຂອງ CSS. ມັນມີຄວາມສາມາດໃຫ້ລາຍການເບິ່ງຄືກັບອີກລາຍການທຳມະດາ ແລະສະແດງຄືກັບການອອກທາງທີ່ມີການປ່ຽນການສະແດງຄົງທີ່ສຸດ.

ດັ່ງນັ້ນ ກະຕຸ້ນໃຊ້ປະກອບອີກລາຍການເພື່ອຄັດເພິນລາຍການ. ຄືກັນກັບນັ້ນ ກະຕຸ້ນໃຊ້ strong ແທນ b, em ແທນ i, ແລະອີກ. ໃນສະພາບການສະແດງເບື້ອງຕົ້ນຂອງບັດເບິ່ງທີ່ບໍ່ມີຄວາມຄິດ, strong ສະແດງຄືກັບ b, em ສະແດງຄືກັບ i, ແລະ ເຈົ້າສາມາດສ້າງຄວາມສະແດງທີ່ເຈົ້າຫວັງໂດຍບໍ່ທຳລາຍສະແດງຂອງໂຕການ.

ທັງ່າຍ CSS ບໍ່ໄດ້ເຮັດຄວາມຄິດຂອງການສະແດງຂອງປະກອບສິ່ງໃດໆ ຜູ້ຊົມບັດເບິ່ງບໍ່ໄດ້ມີຄວາມຄິດຂອງການສະແດງຂອງ strong ຢ່າງບໍ່ແມ່ນເປັນບັນບາງບາງແບບຂອງຄວາມສະແດງບັນບາງບາງຄວາມ (ຍົກບໍ່ດັງການອອກອາກາດຂອງ CSS ທີ່ບໍ່ແມ່ນຄວາມຄິດຂອງບັນບາງບັນບາງແບບ). ຖ້າເຈົ້າກັງວົນວ່າບັດເບິ່ງທີ່ບໍ່ຮູ້ຈັກບໍ່ໄດ້ສະແດງ strong ຢ່າງເປັນບັນບາງບັນບາງແບບ, ເຈົ້າສາມາດຂຽນກົດລະບຽບ CSS ຄື:

strong {
	font-weight: bold;
	font-style: normal;
	}

视觉元素和结构

web 标准不仅要求我们使用何种科技,而且还要遵守使用这些技术的方式。使用 XHTML 来编写标记,同时使用 CSS 来处理一部分或者全部的布局,并不一定会使站点更易用更轻便,同时节约多少带宽。就像我们在早期使用的技术那样,XHTML 和 CSS 也会被误用和滥用。冗长的 XHTML 和冗长的 HTML 一样,都会浪费用户的带宽和时间。冗长的过度的 CSS 也不能完全的代替表现 HTML 代码;这只不过是一种糟糕的东西被另一种代替了而已。