我需要为一个内网网站构建一个原型,我想专注于可用性(布局、导航等)并将主题留到以后(我的品味很差,所以这可能会由其他人完成)
我知道 ASP.NET 即时切换主题的能力,但我必须如何设计 WebForms 以便以后轻松使用?
- 我应该创建一个类属性指向未来css中存在的东西的控件吗?
- 还是我只是简单地创建控件而不用担心这个,当我们创建主题时它会很容易处理?
如果您计划使用ASP.NET 主题,那么您可以通用地设计所有控件并在以后添加皮肤。根据设计的复杂性(意味着文本框或网格视图等有多少不同的样式),这可能不会为您节省大量工作,但这是使用内置 .Net 支持主题的一种方式。
确保您使用 MasterPage,以便您的所有子页面都有一个共同的基础,并为您的所有元素提供良好的 ID,因为您仍然需要使用 CSS 来将它们放在一起。
这是一个不错的主题和皮肤教程的链接。知道将来您必须做什么才能将其添加进去,这将使现在为它进行设计变得更加容易。
我想提出完全忽略主题并且只使用 CSS 的论点。我从来不清楚主题增加了什么价值。这是一种非常特定于 Microsoft 的方法,其输出并不总是符合标准。通过使用 CSS,您将扩大能够为您的项目工作的潜在设计师的范围,并且您将有更好的机会拥有一个跨浏览器和符合标准的网站。
如果其他人稍后要设计这个,我会确保你提供足够的“钩子”让他们能够设计这个。这意味着将 CSS 类添加到您所做的几乎所有将具有相似样式的操作中,并在适当的情况下使用 CSS 类将内容包装在 div 或 span 中,例如
<div class="ButtonContainer">
<asp:linkbutton runat="Server" cssclass="Button Cancel" command="Save" text="Save" />
<asp:linkbutton runat="Server" cssclass="Button Save" command="Cancel" text="Cancel" />
</div>
但是,如果您对 CSS 没有扎实的了解,并且没有内部命名约定或标准样式表,那么您将不会真正知道如何构建您的 div 和类。在我们的商店中,我们处理这种情况的方式是程序员只编写标准的 ASP.NET 标记,而设计人员会检查并添加与他们将开发的样式表一起使用的 div、span 和类名。
皮肤可能是答案,但这让我感到厌烦(可能是因为我不喜欢成为特定于供应商的人,我希望我的技能适用于 .NET 以外的其他 Web 语言和平台)。我更喜欢在我的所有 ASP.Net 控件上使用 CssClass 属性,并对其他所有内容进行仔细分类,并尽可能多地使用语义标记。然后,当我设置好控件并开始工作时,我使用 CSS 来设置所有内容的样式(尽管此时我通常需要调整 HTML 和 JavaScript 的东西)。
与我一起工作的另一位开发人员更喜欢使用皮肤和页面指令等以 Microsoft 的方式完成所有工作。这可能是最好的方法,但在我看来,它将过多的演示文稿混合到应用程序的中间和后端。
只需将控件包装在 div 中。最终将使布局/样式更容易