【问题标题】:something's wrong with the css path in my haml file我的haml文件中的css路径有问题
【发布时间】:2015-04-01 09:14:03
【问题描述】:

目录结构如下:

approot
` public
  ` css
    - main.css
` views
  - home.haml
  - index.haml
- main.rb

我尝试在 haml 文件中调用我的 css:

%link{:rel => "stylesheet", :href => url('css/main.css')},

%link(rel="stylesheet" href="css/main.css")

%link{:rel => "stylesheet", :href => "css/main.css"}

目前没有任何效果。如果这很重要,我正在使用 sinatra。

【问题讨论】:

  • 生成的HTML文件长什么样?
  • !!! %html %head %title 这是标题 %link(rel="stylesheet" href="css/main.css") %body ...
  • HAML 创建文件后!类似<link rel="stylesheet" type="text/css" href="...">
  • 您可以在浏览器中打开此页面,不是吗?然后右键单击并选择“显示源”。那是你的 HTML 页面。
  • 是的。或者你可以只 F12 它。在 HTML 中一切看起来都很好。其他 CSS 链接确实有效(例如,如果我添加一个指向 bootstrap 的缩小 CSS 的链接并添加一些类(例如 'btn-primary' 到我的 HAML 上的某个按钮),一切都会按我的预期工作)。只是我自己的 CSS 的路径没有。

标签: css ruby path sinatra haml


【解决方案1】:

您需要在您的 css 路径中添加一个斜杠:/css/main.css。如果您不这样做,则路径将是相对的,如您发布的生成页面中所示:../public/css/main.css。由于这是浏览器对您的 sinatra 应用程序所做的调用,因此它必须是绝对路径。 Sinatra 根本不提供任何相对路径 - 这有点危险..... 默认情况下,sinatra 将 public 目录中的所有内容作为静态文件提供。

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 2020-08-17
    • 1970-01-01
    • 2022-12-12
    • 2010-11-07
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    相关资源
    最近更新 更多