CSS在播放框架2.0.3(CSS in Play Framework 2.0.3)

2019-10-17 04:39发布

我在游戏框架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>
}

我定义为一个CSS文件main.lessapp/assets/stylesheets看起来像:

h1 {color:#F6F9ED;}

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

在可怕的风格道歉,我不停地变化着,试图让它做一些事情! 该资产的路线一直留为默认值。

玩绝对编译CSS; 如果有语法错误,正是看准。 然而,CSS只是没有被加载到HTML。

我试过CSS文件复制到正确的公用文件夹,但是这给了我从编译器,这可能表示正在放对了地方文件重复文件错误。

我如何与造型的HTML显示? 我有一种感觉,我失去了一些东西很明显,但很新的Web开发,所以我相当的想法。

Answer 1:

我觉得默认的态度可以同时为混乱:开发商和玩,所以我建议重命名的文件夹app/assets/stylesheetsapp/assets/less (或别的东西,在一般保证,你没有该文件夹在同一个名称/public )。 多亏了这一点,你可以始终确保你使用较少或静态资产,因为你只可以看到路径的区别:

<!-- 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")'>

路线保持不变:

GET     /public/*file      controllers.Assets.at(path="/public", file)


Answer 2:

通过@biesor提供的解决方案并没有为我工作。 我已在routes文件这一行:

GET     /stylesheets/*file          @controllers.Assets.at(path="/public/stylesheets", file)

然后,我已经包含在这样我的html页面的CSS文件:

<link rel="stylesheet" media="screen" href="/stylesheets/core.css">

我认为这是不包括CSS文件的最好方法,但我不能找到另一种解决方案。



文章来源: CSS in Play Framework 2.0.3