twig/cssinliner-extension

此包已被废弃且不再维护。作者建议使用twig/cssinliner-extra包。

允许在 Twig 中内联 CSS 的扩展

v2.0.0 2019-02-24 09:17 UTC

This package is auto-updated.

Last update: 2019-10-17 14:00:05 UTC


README

警告:此包已弃用;请迁移到 twig/cssinliner-extra

此包为 Twig 和 Symfony 提供一个 CSS 内联过滤器(inline_css)。

如果您不使用 Symfony,请手动在 Twig 的 Environment 上注册此扩展

use Twig\CssInliner\CssInlinerExtension;
use Twig\Environment;

$twig = new Environment(...);
$twig->addExtension(new CssInlinerExtension());

在 Twig 模板中使用 inline_css 过滤器

{% filter inline_css %}
    <html>
        <head>
            <style>
                p { color: red; }
            </style>
        </head>
        <body>
            <p>Hello CSS!</p>
        </body>
    </html>
{% endfilter %}

您还可以通过将样式表作为参数传递给过滤器来添加一些样式表

{% filter inline_css(source("some_styles.css"), source("another.css")) %}
    <html>
        <body>
            <p>Hello CSS!</p>
        </body>
    </html>
{% endfilter %}

通过过滤器加载的样式会覆盖 HTML 文档中 <style> 标签中定义的样式。

您还可以在包含的文件中使用此过滤器

{{ include('some_template.html.twig')|inline_css }}

{{ include('some_template.html.twig')|inline_css(source("some_styles.css")) }}

请注意,CSS 内联过滤器是在整个 HTML 文档上工作的,而不是在片段上。