【问题标题】:Stylesheet contents not used未使用样式表内容
【发布时间】:2017-03-12 14:09:55
【问题描述】:

我的 css 样式表有以下参考:

<link rel="stylesheet" type="text/css" href='@routes.Assets.versioned("stylesheets/main.css")' media="screen" />

样式表位于/public/stylesheets/main.css

并且有这样的内容:

body {
   background-image: @routes.Assets.versioned("images/deer.jpg");
}

我没有收到任何错误,但背景中没有出现图像。

我做错了吗?

【问题讨论】:

  • 当您在 Chrome 中查看应用程序时,您是否在开发工具控制台中收到任何错误?如果没有,您能否检查文档中的链接标签&lt;head&gt;,看看它是否真的被输出了?

标签: html css playframework playframework-2.0


【解决方案1】:

公共资源(资产)没有被模板引擎处理,所以

body {
   background-image: @routes.Assets.versioned("images/deer.jpg");
}

从未处理过。

这是类似的问题:

Can you reference images from css without using relative paths?

解决方案

  1. 使用静态路径

    body {
       background: url("/assets/images/deer.jpg");
    }
    

    /assets 部分取决于您的 routes 设置,/assets 是默认设置。

  2. 在模板文件中写入 CSS,这样它就会返回但你的控制器(不是公共文件夹中的控制器)

【讨论】:

  • 看更新,答案中的链接中描述了第二种解决方案(顺便说一句,我总是先用)
猜你喜欢
  • 1970-01-01
  • 2012-06-29
  • 2017-01-03
  • 2013-09-01
  • 1970-01-01
  • 2017-05-24
  • 2014-06-01
  • 2016-09-01
  • 2012-11-17
相关资源
最近更新 更多