【问题标题】:css style overwrite when using turbolinks in rails 4在rails 4中使用turbolinks时覆盖css样式
【发布时间】:2014-05-04 14:13:53
【问题描述】:

我在我的 rails4 项目中使用 turbolinks。

我注意到它会将所有 *.css 文件作为外部 css 链接添加到 html 头中。 如果有人使用与我相同的 css 选择器,则 css 样式可能会被覆盖!

这是我的问题: turbolinks 中是否有任何设置可以忽略指定页面上的某些 css/js 加载?

【问题讨论】:

    标签: css ruby-on-rails turbolinks


    【解决方案1】:

    我会说这是有条件的ERB 代码的工作,而不是 turbolinks(但我可能是错的)

    Turbolinks 是一个 javascript 库,用于通过 ajax 加载页面的 <body> 标记(保持<head> 不变。您可以通过将data-no-turbolink 标记应用于链接来使 Turbolinks 独立加载:

    <div id="some-div" data-no-turbolink>
    

    我会这样做:

    <head>
       <% if x.present? %>
           <%= stylesheet_link_tag "your_css" %>
       <% end %>
    </head>
    

    具体资产/样式方面,不妨看看asset change detection

    您可以跟踪某些资产,例如 application.js 和 application.css, 您要确保始终是最新版本 Turbolinks 会话。这是通过将这些资产链接标记为 数据-turbolinks-track


    最后,您的问题非常模棱两可(上下文不足)。当你提到:

    我注意到它会将所有 *.css 文件作为外部 css 链接添加到 html 头中。如果有人使用与我相同的 css 选择器,则 css 样式可能会被覆盖!

    如果您的 CSS 是 spaghetti code,那么您的问题可能与您的资产结构有关,而不是 Turbolinks。你应该提供更多关于你如何加载你的 CSS 以及它需要带回来的细节

    【讨论】:

      猜你喜欢
      • 2013-10-18
      • 1970-01-01
      • 2018-12-26
      • 2021-09-08
      • 2012-12-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2022-07-02
      相关资源
      最近更新 更多