自.NET Framework出现以来,对网站外观进行控制一直是ASP.NET开发者的期待。ASP.NET 2.0使之成为现实,应用它的主题与皮肤,我们可以对外观进行控制。
上周我们讨论了ASP.NET 2.0母版页面(Master Pages),以及如何应用它们对网站布局进行集中控制。开发者经常将主题与母版页面弄混,但这两个元素存在很大的不同。母版页面允许你控制一个网站的总体布局,或网站内的一组页面,但主题主要关注网站的外观与感觉。
在你能够应用ASP.NET 2.0主题的所有优点之前,你有必要了解一些术语与过程。主题能够应用一个称之为皮肤或层叠样式表(CSS)的新设计元素。
了解皮肤文件
尽管在主题中不必应用皮肤,但我还是想首先介绍一下皮肤的概念,因为它是主题中的标准设计元素。皮肤提供了一种管理网络控件外观的方法。你也可以用它来批量设置一个控件的某些特性。
皮肤的定义包含在皮肤文件(以.skin为文件扩展名)中。在Visual Studio中,你可以选择增加项目>皮肤文件(Add New Item>Skin File)来方便地增加皮肤文件。它们是基本的文本文件,因此你还可以应用自己喜欢的文本编辑器。
皮肤文件中包含一些控件和它们所应用的属性。我读到的微软的所有文件都建议为每个控件类型建立单独的皮肤文件,但你也可以在一个单独的文件中包括数个控件定义,而不会引起问题。下面的代码是一个样本皮肤文件,它定义了标签与文本框控件的显示颜色。
<asp:Label runat="server" BackColor="Red" ForeColor="White" />
<asp:TextBox runat="server" BackColor="Black" ForeColor="Yellow" />