【问题标题】:How can I avoid CSS delay in Rails 3.2如何避免 Rails 3.2 中的 CSS 延迟
【发布时间】:2013-07-04 05:38:38
【问题描述】:

更新

如果我添加这些行,延迟就会消失,但这似乎不是最佳做法?

<link rel="stylesheet" type="text/css" href="assets/static_pages.css">
<link rel="stylesheet" type="text/css" href="assets/dynamic_pages.css">

当我的 Rails 3.2 应用程序的页面加载时,顶部导航菜单和子菜单以及页面的其他元素首先在未应用 CSS 的情况下显示,然后立即按应有的方式显示。

我听说过 CSS 压缩和编译/chaching。这样可以避免吗?

我担心的一个问题是,如果我编译资产并打开资产缓存,然后如果我更改资产/css,那么用户将无法获得较新的版本,并且我的应用程序可以正常显示。你也可以评论一下吗?

这是我的头:

<head>
  <title><%= full_title(yield(:title)) %></title>
  <%= javascript_include_tag "application" %>
  <%= render 'layouts/stylesheets' %>
</head>

这里是布局/_stylesheets.html.erb:

<%= stylesheet_link_tag    "application", :media => "all" %>
<%= csrf_meta_tags %>

提前致谢。

【问题讨论】:

    标签: css ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    这可能与 Rails 无关,而是与一种称为“无样式内容的 Flash”(又名 FOUC)的现象有关。

    如果这是发生在您身上的事情,那么很可能是因为您的 HEAD 中只有 @import 指令。 尝试添加 LINK 或 SCRIPT 标签,您的问题应该会消失。

    这里有一篇参考文章:Flash of Unstyled Content (FOUC) -- BlueRobot

    【讨论】:

    • 皮埃尔的建议解决了这个问题,除了在一页上。我不知道为什么,但是当我的高级搜索页面被渲染时,这仍然会发生。页面没什么特别的。它也像所有其他页面一样通过应用程序布局中的 yield 呈现。奇怪的。任何人都可以对此发表评论吗?
    猜你喜欢
    • 2012-02-03
    • 2021-12-18
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2016-02-24
    • 2020-09-03
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多