gpt4 book ai didi

ASP.NET 主题 - 应该使用它们吗?

转载 作者:行者123 更新时间:2023-12-03 10:05:02 25 4
gpt4 key购买 nike

我一直在阅读我的 ASP.NET 书中的主题,并认为这可能是一个非常方便的解决方案,然后我遇到了一些问题。

  • 主题选取文件夹
  • 中的每个 CSS 文件
  • 如果您想使用重置样式(其中排序很重要),则无法保证导入样式表的顺序
  • 您的母版页不会明确指出正在使用的样式,只有呈现的页面可以告诉您,除非您深入了解您的 web.config
  • 使用主题文件设置 Web 控件样式是……嗯……愚蠢?您可以在样式表中简单地执行此操作。粒度控制应该在 HTML 级别,不是吗?
  • 如何在一个样式表中没有所有样式的情况下指定打印样式表?

  • 我想知道它们是否真的值得使用。有什么好处吗?有没有使用它们的主要网站?

    编辑

    只是为了澄清 slolife 的最后一点。如果我有两个样式表,一个叫 print.css,一个叫 main.css,并且我使用 ASP.NET 主题,它怎么知道 print.css 是一个打印样式表?在常规 HTML 中,您在标签本身中使用媒体类型(即 <link rel= ...>),但主题不会知道这一点,因此它只会作为常规样式表包含在内。

    最佳答案

    我喜欢使用主题,但正如 Raj 在他的回答中指出的那样,URL 重写可能会导致问题。我寻找一些解决方案是我提出你的问题的原因。但无论如何我都会添加我的意见。

    我将从上面讨论您的一些要点,说明为什么我认为主题很好:

    - 主题选取文件夹中的每一个 CSS 文件

    我猜您希望仅将某些样式表文件应用于某些页面。是的,主题在这里采用霰弹枪方法,所以这是一个问题。但是您不必将所有样式表都放在主题文件夹中。把你的专业的放在外面,它们不会自动被包括在内。但我认为自动包含通用/站点范围的功能是一个不错的功能。

    - 如果您想使用重置样式(排序很重要),则不保证导入样式表的顺序

    我认为您可以通过命名文件的方式来保证顺序,因此它们是按数字和字母顺序排列的。也许不是一个优雅的解决方案,但并不可怕。

    就个人而言,我有一个构建步骤,它将我的主题文件夹中的所有 *.css 文件组合并压缩到一个单独的 style.css 文件中,并且由于我控制了该构建步骤和文件组合的顺序,所以这不会影响我。

    - 您的母版页不会明确指出正在使用的样式,只有呈现的页面可以告诉您,除非您深入了解您的 web.config

    您可以通过代码和 <%@Page 指令更改主题

    - 使用主题文件设置 Web 控件样式是……嗯……愚蠢?您可以在样式表中简单地执行此操作。粒度控制应该在 HTML 级别,不是吗?

    我同意通过主题将样式属性应用于控件似乎不是最佳实践。但我喜欢这样一个事实,即我可以在主题的皮肤文件中定义图像皮肤,而不必剪切和粘贴我在整个站点中使用很多地方的常见图像的 Width、Height、AlternativeText、Align 属性。如果我改变了其中一张图像,我可以在一个地方修复属性,而不是全部修复。我还可以创建应用了特定 css 类列表的蒙皮控件,这对我来说似乎很方便。

    - 如何指定打印样式表而不在单个样式表中包含所有样式?

    我有一个以@media print 开头的 Print.css 文件,它为我的网站定义了打印样式。为什么需要将它们放在一个样式表中?

    关于ASP.NET 主题 - 应该使用它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689759/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com