未使用样式表内容

Stylesheet contents not used

我的 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");
}

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

我是不是做错了什么?

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

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,这样 returns 就是你的控制器(不是 public 文件夹中的那个)