1

更新

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

<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 %>

提前致谢。

4

1 回答 1

2

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

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

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

于 2013-07-04T06:33:32.913 回答