inline_css
Новые возможности версии 2.12: Фильтр inline_css был добавлен в Twig 2.12.
Фильтр inline_css встраивает CSS-стили в HTML-документы:
{% apply inline_css %}
<html>
<head>
<style>
p { color: red; }
</style>
</head>
<body>
<p>Hello CSS!</p>
</body>
</html>
{% endapply %}
Также можно добавить некоторые таблицы стилей, передав их в качестве аргументов фильтру:
{% apply inline_css(source("some_styles.css"), source("another.css")) %}
<html>
<body>
<p>Hello CSS!</p>
</body>
</html>
{% endapply %}
Стиль, загруженный с помощью фильтра, перезаписывает стиль, определенный в тэге <style> HTML-документа.
Также можно использовать фильтр для включённого файла:
{{ include('some_template.html.twig')|inline_css }}
{{ include('some_template.html.twig')|inline_css(source("some_styles.css")) }}
Обратите внимание, что инлайнер CSS работает со всем HTML-документом, а не с фрагментом.
Примечание
Фильтр inline_css является частью CssInlinerExtension, который не установлен по умолчанию. Установите его сначала:
$ composer require twig/cssinliner-extra
Затем используйте twig/extra-bundle в проектах Symfony или явно добавьте расширение в среду Twig:
use Twig\Extra\CssInliner\CssInlinerExtension;
$twig = new \Twig\Environment(...);
$twig->addExtension(new CssInlinerExtension());
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/filters/inline_css.html