由于样式表的继承规则是外部的标签样式会保留下来继承给这个标签所包含的其他标签。事实上,所有在标签中嵌套的标签都会继承外层标签指定的属性值,有时会把很多层标签的样式叠加在一起,例如在body标签中定义了字体大小,那么div、p等标签也会继承一样的字体大小,如果在P标签中又定义了字体颜色,那么P标签中的文字既具有body标签的字体大小又有P标签的字体颜色。需要注意的是,table标签不会继承body的字体大小设定,所以在上面的样式表中,我们单独来定义td的样式。
很多时候,我们在制作网页时总是从视觉出发,先用Photoshop或者Fireworks画出来、思考页面的配色,做一些很炫的效果,很精美的图片,再切割成小图。然后通过编辑HTML将所有设计变成页面。
然而,有视觉的缺陷的人,不能理解这些颜色或者效果。PDA、移动电话和屏幕阅读机上也无法解析这些效果。
因此外观并不是最重要的。一个结构良好的XHTML可以通过css的不同定义,显示成任何外观,显示在任何支持XHTML的网络设备上。
通过分析我们可以发现,对于大多数WEB网站来说,页面都是由一些类似的内容区块所组成,如:
然后我们用DIV标签来将这些区块包含起来,类似这样:
通过css的定义,我们可以将这些DIV标签包含的区块放在页面上任何位置,再指定这些块的颜色、字体、边框、背景以及对齐属性等等。如:我们再建立siteLayout.css文件,定义如下:
如此,我们定义了一个三列的页面布局:顶部自适应页面宽度。中间三列自适应页面。底部自适应页面宽度,当然您也可以将页面定义为中间只有两列等等,您只需要调整layout.css文件即可,这样您可以灵活的修改页面的布局,让页面外观发生根本的变化,而不必动到HTML源文件,这一点对于服务器端生成代码的程序尤为重要。 更多关于css布局的资料,请参见:http://www.w3cn.org/article/layout/2004/55.html
经过以上两步之后,我们已经有了一个大概的页面主题外观,接下来我们要设计站点的细节,比如,对站点导航条我们想使用与普通超链接不一样的样式,如:蓝色、加粗、字体更大、再加上有立体效果的背景图:
对于栏目导航,我们想给每个栏目连接加上背景色,并且有鼠标滑过和移出的效果。 栏目导航区的html代码为:
栏目导航区对应的css代码为:
接下来我们还需要定义其他的站点独有的样式,如栏目标题、文章列表、文章正文、时间、注释、提示、错误等等各种样式,而且这些样式多以类和id来作为选择符。这些样式都是针对某个站点的,不适用于其他的站点,然后我们将这些样式保存为siteStyle.css文件。
这样我们就有了3个css文件。 SiteComm.css:任何站点都可以使用的样式文件,定义了常用的html标签样式。 SiteLayout.css:站点的布局文件,能适用于大多数的网站结构,具体细节需要调整。 siteStyle.css:站点独有的样式文件,能显示出本站点独特的风格和适应于站点的内容。
然后我们采用外部调用法:将这些样式表与页面关联起来。
在符合XHTML标准的设计中,我们使用外部调用法,好处不言而喻,HTML文档会变得非常的小,css文件被存在浏览器的缓存中,仅仅需要下载一次即可,并且你只需要修改一个文件就可以改变整个网站的样式。
并且这样我们才能通过客户端脚本,或者服务器端代码方便地改变样式表的连接地址,而快捷地实现换肤功能。
网站样式切换在网上已有很多现成的javascript换肤代码,一般使用cookie来保存用户设置,在请求页面时,改变页面的css文件连接即可。
而服务器端的换肤做法是根据用户请求,动态地生成css文件连接,用户设置一般保存在数据库或者cookie中。
由于我们使用了3个不同功能css样式文件来显示网站,所以我们可以设计出更加灵活的换肤方案和组合,如只切换主题而保留布局,和切换布局和主题,以及各种细节等等。
使用3个css样式文件额外的好处是,每当我们设计一个新的系统,它的样式风格特性几乎都可以大部分应用到以前的系统上(因为我们采用大致相同的页面结构模型,虽然显示千差万别,但主要的框架是一样的),这样我们就可以积累出相当数量和相当风丰富的界面样式库来。
整个过程的最后一个步骤就是对XHTMLcss代码进行验证。有很多种的工具都可以帮你对二者进行验证。
例如Dreamweaver MX即可检查我的样本代码的可访问性。你可以通过在文件菜单中选择Check Page然后选择Check Accessibility来实现。任何错误或是警告都会显示出来,还包括出现位置的行号以及对问题简要的解释。你可以在Dreamweaver MX的Reference工具中找到更多关于这些错误和警告的内容。
而Microsoft ASP.NET 2.0 具有很多有用的功能,也能帮助我们设计和生成符合 XHTML 和可访问性标准的 Web 站点。 使用 Web 标准生成 ASP.NET 2.0 Web 站点 http://www.microsoft.com/china/msdn/library/webservices/asp.net/ASPNETusStan.mspx
此外,World Wide Web Consortium (W3C)提供了超过30个的可访问性评估工具的链接。W3C还提供了针对HTML和css的基于Web的免费验证器。
因此如果想要改善网站友好度,可用性,可访问性等,可将新标准视为一个机会,而不是一个障碍。要了解更多关于新标准和可访问性的内容,你可以去看一看World Wide Web Consortium中的Web Accessibility Initiative (WAI)。