【问题标题】:Include static file content into Play 2.4 template在 Play 2.4 模板中包含静态文件内容
【发布时间】:2015-09-15 01:58:23
【问题描述】:

我正在使用 Play 框架。

在模板中可以执行以下操作以包含 css。

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

但我想做的是将css直接包含在网页中

<style>@[include the static file contents]</style>

这可能吗?

【问题讨论】:

  • 我只是想知道...为什么要内联样式表文件?
  • 所以不需要额外的请求来获取它。这没什么大不了的,但为什么不呢?
  • 我强烈建议不要这样做。你从中一无所获。所有现代浏览器都会缓存您的外部样式表。它只会被转移一次。也不要忘记优化规则: 1. 不要。 2. 还没有 (c2.com/cgi/wiki?RulesOfOptimization)
  • @Roman 如果您想到电子邮件客户端,它们大多不会加载外部样式表。所以有一个用例。

标签: css templates playframework playframework-2.4


【解决方案1】:

正如其他人提到的那样,这是不是首选方式,无论如何您可以使用常见的'tags' technique 来执行此操作,

只需创建一个包含内容的文件views/tags/yourStyles.scala.html

<style>
    * {
        background: orange;
    }
</style>

所以在您的模板/视图中,您可以将其用作(示例):

<head>
    <title>@title</title>
    <link rel="stylesheet" media="screen" href="@routes.Assets.versioned("stylesheets/main.css")">
    <link rel="shortcut icon" type="image/png" href="@routes.WebJarAssets.at("images/favicon.png")">
    @tags.yourStyles() <!-- <-here ->
</head>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多