第一章 The Promise of CSS
 
CSS 努力想要达到的上的是实现 内容(content)与 表现(presentation )的彻底分离。
 
使用CSS的好处(The Advantages of Using CSS for Style)
1.使添加、删除和更新网页内容变得简单易行,不用担心会打乱网页布局。
2.如果要更改一个 已经应用于所有页面的字体样式,也不用一个一个地去查找和修改<font>标签了。
3.可以使一个团队更有效地分工合作,设计师专注于设计,内容编辑专注于内容。
4.可以 在不修改内页内容的前提下重新设计网页布局。
掌握CSS可以使工作简化,并提高效率,虽然现实中100%分离内容与表现是不太可能的(而且有时不分离更好),但这仍然是一个努力的目标。
 
尽量使用有意义的标签(Semantic (X)HTML: Markup with Meaning)
 (X)HTML用来提供内容和标识文档中内容的意义,这被称为semantic markup。
什么是semantic markup?
如果要完全发挥CSS的潜能,就要提供清晰、结构化的 (X)HTML文档。
 (X)HTML标签应该是用来标明某些内容 是什么(是标题,还是段落?),而不是这些内容 看起来什么样(什么颜色?是否斜体?)
可以用 http://validator.w3.org/在线验证文档的有效性。
使用semantic markup有什么好处?
1.可以增加网站在DPA,手机和其它阅读设备上的可访问性。
2.搜索引擎也更容易收录你的网站。
3.通过设置钩子(hook)(如id属性,class属性),方便使用CSS和Javascript。
如何创建?
1.使用正确的(X)HTML元素,下表列出了一些很少用到的标签,应该熟悉它们。
2.不要改变标签的使用目的,比如用table来设置布局。
避免使用非结构化标签
<div> 和 <span>是非常重要的,但它们是无意义的标签,如果有更合适的、有意义的标签,就尽量不要使用它们。
避免过多地使用id和class属性
1.不要用<div>标签包裹(wrap)单独的标签,如<div id="id1"><p>示例</p></div>,应直接写成<p id="id1">示例</p>。
2.不要用class属性代替更合适的、有意义的标签。
3.能使用一次class属性,就不要多次重复使用,如:
<ul>
<li class="cheese-type">Cheddar</li>
<li class="cheese-type">Mozzarella</li>
</ul>
写成下面这样更简捷:
<ul class="cheese-types">
<li>Cheddar</li>
<li>Mozzarella</li>
</ul>
 
选择语言和DOCTYPE(Choosing Your Markup Language and DOCTYPE)
XHTML是按XML的规范重新设计的HTML,所以XHTML文档既是超文本文档又是XML文档。
XHTML的规则更严格,这样写出来的XHTML文档比HTML文档更具有可操作性。
因此选用XHTML更好一些。不管选哪种语言,都要注意使用语义标签( semantic markup)。
DOCTYPE:最没有受到正确评估的标签
每一个符合规范的文档都应该以及DOCTYPE声明开头。它说明了这是一个什么文档,符合什么规范。DOCTYPE有很多种,本书只用来四种:
• HTML 4.01 Strict
• HTML 4.01 Transitional
• XHTML 1.0 Strict
• XHTML 1.0 Transitional
Strict规范去除了一切用于表现(presentation)的标签和属性,胜于创建100%干净的文档;Transitional则包含这些用于表现(presentation)的标签和属性。具体内容请问google。
 
现代Web文档的三层结构
第一层是由HTML 或XHTML创建的文本文档,包含网页的内容,并指定了各部分内容的意义。
第二层是表示层(presentation layer),定义了网页以什么样式承现,一些用CSS写。
第三层是行为层(behavior layer),利用脚本语言,根据用户的行为,添加、更改或删除网页文档中的内容(items)。
 
总结
在开始设计表现层(presentation layer)之前,一定要认真写好(X)HTML文档,尽量清晰(clean)、有效(valid)、使用有意义的标签(semantic markup )。很多CSS的问题,只要把(X)HTML文档写好就可以轻松解决。