Play Framework 2.0.3中的CSS

chu*_*uuk 1 css playframework playframework-2.0

我在Play Framework 2.0.3中使用CSS时遇到了一些问题,并且想知道是否有人能够发现我正在犯的错误.

我有一个名为siteview.scala.html的视图,定义为:

@(name: String, records: List[Record])

@import helper._

@main(name) {
<html>
    <head>
    <link rel="stylesheet" type="text/css" href="@routes.Assets.at("stylesheets/main.css")">
    </head> 
    <h1>@name</h1>

    <ul>
          ...
    </ul>
</html>
}
Run Code Online (Sandbox Code Playgroud)

我定义的CSS文件main.lessapp/assets/stylesheets,它看起来像:

h1 {color:#F6F9ED;}

@font-face {
    font-family: Gentium;
    src: url(fonts/GenBasR.ttf);
}
font-family: Gentium, Arial, Georgia;
Run Code Online (Sandbox Code Playgroud)

为可怕的风格道歉,我不断改变尝试让它做点什么!资产的路径已保留为默认值.

玩肯定编译CSS; 如果存在语法错误,则会发现它.但是,CSS没有被加载到HTML中.

我尝试将CS​​S文件直接复制到公共文件夹中,但这给了我一个来自编译器的重复文件错误,这可能表明文件正在放在正确的位置.

如何使用样式制作HTML显示?我有一种感觉,我错过了一些非常明显的东西,但对于网络开发我是一个新手,所以我完全没有想法.

bie*_*ior 6

我认为默认方法可能会混淆:开发人员和Play,所以我建议将文件夹重命名app/assets/stylesheetsapp/assets/less(或者其他一些东西,一般来说确保你没有同名的文件夹/public).多亏了这一点,您可以始终确保使用LESS或静态资产,因为您可以看到路径的差异:

<!-- resolves to '/public/less/main.css' or (main.min.css) 
                                                   from app/assets/less folder -->
<link rel="stylesheet" type="text/css" 
                       href='@routes.Assets.at("less/main.min.css")'>

<!-- resolves to '/public/stylesheets/main.css' from 'public/stylesheets' folder -->
<link rel="stylesheet" type="text/css" 
                       href='@routes.Assets.at("stylesheets/main.css")'>
Run Code Online (Sandbox Code Playgroud)

路线保持不变:

GET     /public/*file      controllers.Assets.at(path="/public", file)
Run Code Online (Sandbox Code Playgroud)