【问题标题】:Dynamic UI styling/theming动态 UI 样式/主题
【发布时间】:2010-10-17 12:18:30
【问题描述】:

我正在做一个电子商务类型的网站,它有一个 CMS,管理员用户可以在其中创建主题并更改当前的主题设计。 我使用jQuery。样式/主题属性存储在数据库中并检索到 xml。

我使用 jquery 使用 xml 的属性来操作页面的 CSS 属性..

这是进行动态主题/造型的实用方法吗? 谢谢。

【问题讨论】:

    标签: jquery css ajax


    【解决方案1】:

    恕我直言,不。

    如果您想让用户完全控制您网站上的 CSS,我可能会让他们上传自己的 CSS 文件,然后将它们列在数据库中。选择适当的文件服务器端并加载它。没有凌乱的“无样式内容闪现”或 JS 依赖项。

    如果您只想让用户编辑一些特定元素,那么也许您可以将这些特定元素存储在数据库中,但您仍然应该动态生成 CSS 文件(通过 PHP 或什么有你)并将其发送给客户。

    哦,你为什么要使用 XML?据我所知,您只是无缘无故地增加了一层额外的复杂性。

    【讨论】:

      【解决方案2】:

      在我工作的一个网站上,我开始使用 jQuery 进行奇数/偶数表行样式设置,因为语法和其他一些表样式一样简单。但后来对于较大的表,我开始对其进行性能测试,并且在 Firefox 3(这对于现代浏览器来说是合理的性能)上,我花费了 200-500 毫秒(根据 YSlow)来渲染页面,这是不可接受的高。

      您想在服务器上做尽可能多的事情——基本上是在渲染页面时您可以在服务器上做的任何事情。这样会快很多

      保存 jQuery 以用于在服务器上无法执行的操作。

      【讨论】:

        【解决方案3】:

        jQuery UI - http://jqueryui.com/themeroller/

        该库提供了一组标准的小部件和效果,您可以使用它们来构建您的 UI。它还支持多个主题。

        【讨论】:

        • 我的意思是我想让最终用户做设计
        【解决方案4】:

        您为什么不像大多数 CMS 那样在服务器上进行主题化?当您可以简单地发送适当的 css 时,我不确定我是否了解将动态重新主题代码下载到浏览器的实用性。

        您还需要考虑某些浏览器中没有可用的 JavaScript 的情况,以及非常依赖浏览器和用户电脑的速度来运行这些东西。 core 2 duo 的主题本身可能又好又快,但我的基于 atom 的上网本不是那么快

        【讨论】:

        • 主题属性实际存储在数据库中。我们正在使用 java servlet 和 jsp。
        【解决方案5】:

        正如其他人已经评论的那样,如果您希望管理员能够完全控制网站的样式(正如大多数流行的 CMS 所提供的那样),那么您需要允许管理员上传他们自己的样式表甚至 html 模板。您还可以为无法或不想创建自己的用户的用户添加几个预制样式表和模板。

        我知道 LiveJournal 和 Xanga 等一些网络服务具有限制性主题系统,仅允许用户更改其个人页面的颜色和字体样式。但恕我直言,这种类型的主题系统不适合商业网站。它使站点管理员对其站点的外观/布局的控制太少。无论您的核心模板多么出色。如果你让用户做的只是改变一些颜色和字体样式,那么你最终还是会得到一堆看起来几乎一样的千篇一律的网站。

        至少,管理员应该能够将他们自己的 CSS 模板应用到商店,这样,如果企业决定他们想要一个专业设计的布局,他们可以在他们的网站上实现一个。

        但是,您可以做的是在 CMS 中包含一个 CSS 生成器,供不知道如何编写自己的 CSS 的管理员使用。它可能只是一个向导界面,引导用户逐步完成生成基本自定义样式表的过程。

        【讨论】:

        • 谢谢...现在..我需要重新考虑我的逻辑,才能应用 CSS 生成器的东西...:'((
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-05
        • 2021-07-07
        • 2020-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多