css – Rails应用程序中的主题

前端之家收集整理的这篇文章主要介绍了css – Rails应用程序中的主题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想制作一个Rails应用程序,让用户输入数据,然后允许他们更改页面主题.这样,他们的数据可能根据他们选择的主题而不同.我该怎么做呢?

>更改样式表?
>具有不同类/元素的两个独立视图
>动态地改变类/ ids /选择器?
>?

谢谢

解决方法

主题网站的最简单的方法是简单地链接到不同的样式表.您可以使用以下操作动态地执行此操作:
# in app/views/layouts/application.html.erb
<%= stylesheet_link_tag :application %>
<%= stylesheet_link_tag #{current_theme} %>

# in app/helpers/application_helper
def current_theme
  # You'll have to implement the logic for a user choosing a theme
  # and how to record that in the model.
  # Also,come up with a better name for your default theme,like 'twentyeleven' ;)
  current_user.theme || 'default'
end

然后你可以有几个主题的表现.例如,您的资产目录可以如下所示:

> app / assets / stylesheets

> application.css
> buttons.css
> theme1 /

> index.css
> buttons.css

> theme2 /

> index.css
> buttons.css

这将让您从纯css主题开始.在某些时候你可能也想要他们的JavaScript和html布局.当你开始发现需要在你的HTML中做这样的事情时:

<% if current_theme == 'theme1' %>
  <li>...
<% elsif current_theme == 'theme2' %>
  <b>...
<% end %>

那么现在是实现更强大的主题框架的时候了

>按主题命名空间您的HTML模板(例如app / views / themes / theme1 / users / index.html.erb),并呈现主题版本而不是默认
>命名空间只是部分按模板(例如app / views / themes / theme1 / users / _form.html.erb),并添加一个帮助器方法,如render_themed_pa​​rtial
>类似于上述方法,但当主题变得非常大时,您应该考虑将它们放入自己的宝石作为轨道引擎

注意:这是静态主题.对于动态主题(例如管理员可以登录和编辑样式表或HTML),您必须将数据库中的信息存储在数据库中.根据您的体系结构,您可能可以提供一组静态主题,然后另一个动态抓取数据库样式数据的主题.在这一点上,你正在开发一个CMS,所以它超出了这个答案的范围:)

原文链接:https://www.f2er.com/css/214524.html

猜你在找的CSS相关文章