【问题标题】:Questions on ASP.NET themes?有关 ASP.NET 主题的问题?
【发布时间】:2009-10-12 16:05:56
【问题描述】:

1) 如果我创建了一个主题和一个皮肤文件以及一个与该主题一起使用的 css 文件,皮肤文件会自动获取我创建的 css 文件吗?如果一个主题下有多个 css 文件会怎样?

2) 主题中的 css 文件会覆盖全局 css 文件吗?我创建了一个全局的,具有 css 文件的主题没有将背景颜色更改为我在主题中拥有的,但是没有 css 文件的主题确实将背景颜色更改为全局的css 文件。

3) 皮肤和css文件好像是一样的?我不能只创建一个主题并在主题中使用 css 文件而不是皮肤吗?皮肤是否仅适用于 asp.net 服务器控件?

【问题讨论】:

  • 这里列出了您可能想要avoid using themes and skins 的详细原因,设置在一个实际示例的上下文中。我可以看到微软在皮肤方面的发展方向,但我认为缺点不会超过优点,所以我会选择上面的大多数。

标签: asp.net css themes skins


【解决方案1】:

我不喜欢换肤,更喜欢只使用普通的 ol CSS。这正是皮肤的本质,但非常有限。我说放弃皮肤并坚持使用 CSS 文件。

【讨论】:

  • 所以基本上你所说的只是在样式文件夹中创建a.css,b.css,并取决于谁登录以使用适当的css文件。如何使用 asp.net 动态更改 css 文件?你能详细说明一下是什么让皮肤受到限制吗?
  • 是的。请记住,asp.net 允许您针对其中包含 runat="server" 的元素编写代码。所以让你的
  • 如果我动态地更改 css 文件,我会在代码中的哪个位置进行更改?
  • 这真的取决于您的应用程序。您想如何通过下拉列表更改它?通过单选按钮单击?基于用户配置文件。这一切都取决于。如果是通过下拉列表,您将使用 SelectedIndexChanged 事件。但同样,这完全取决于您希望如何更改 CSS 文件以及您希望用户在哪里更改它。
  • 它将基于域,因此 a.xaisoft.com 将获得一个主题,b.xaisoft.com 将获得另一个主题,但出于测试目的,我该如何使用下拉菜单,意思是,如果我有一个包含 a.css 和 b.css 的样式文件夹,我的代码在 selectedindexchaged 事件中会是什么样子
【解决方案2】:

App_Themes 文件夹中可以有多个主题文件夹。一个 ASP.Net 主题可以包含许多皮肤文件和许多 css 文件。

  1. 是的,皮肤文件可以识别 CSS 文件。应用主题时,您的页面会自动识别主题中的所有 .css 文件。
  2. 我不确定。测试是唯一的出路。
  3. 不,.skin 文件与 .css 文件不同。是的,您可以只在主题中使用 css 文件并跳过皮肤。是的,皮肤仅适用于 asp.net 服务器控件。

主题与层叠样式表

主题类似于级联样式表,因为主题和样式表都定义了一组可应用于任何页面的通用属性。但是,主题在以下方面与样式表不同:

  • 主题可以定义控件或页面的许多属性,而不仅仅是样式属性。例如,使用主题,您可以指定 TreeView 控件的图形、GridView 控件的模板布局等。
  • 主题可以包括图形。
  • 主题不像样式表那样层叠。默认情况下,由页面的 Theme 属性引用的主题中定义的任何属性值都会覆盖在控件上以声明方式设置的属性值,除非您使用 StyleSheetTheme 属性显式应用主题。有关详细信息,请参阅上面的主题设置优先级部分。
  • 每个页面只能应用一个主题。您不能将多个主题应用于一个页面,这与可以应用多个样式表的样式表不同。

引用自:ASP.NET Themes and Skins Overview


我的意见:

一般来说,如果您对 CSS 有很好的了解,您实际上并不需要 .Skin 文件,但主题仍然有用。

【讨论】:

    【解决方案3】:

    asp.net 中的主题有点混乱,它们有点 css 并且有点挑剔。

    坚持正常的 css 并创建自己的皮肤框架(例如:配置的 css 文件夹) 使用带有普通 css 的 jQuery 插件之类的东西会容易得多,并且与了解普通 css 的设计人员一起进行跨浏览器开发会更容易。

    【讨论】:

    • 因此,您甚至不必为 app_themes 文件夹而烦恼,而只需使用包含不同 css 文件的样式文件夹,您是在说什么,对吗?
    • 是的,完全正确。我花了一段时间才做出同样的决定,我很高兴我做了。我希望主题文件夹能按预期工作,但事实并非如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-19
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 2018-09-14
    相关资源
    最近更新 更多