【发布时间】:2022-01-02 01:15:45
【问题描述】:
所以我想使用 CSS 导入字体。
我知道如何在 twig/html 页面中使用 {{ asset('')}} !但我不知道如何在 CSS 文件中做到这一点!
当前css文件代码为:
@font-face {
font-family: 'porta';
src: url("../fonts/pluton.eot?49924914");
src: url("../fonts/pluton.eot?49924914#iefix") format("embedded-opentype"),
url("../fonts/pluton.woff?49924914") format("woff"),
url("../fonts/pluton.ttf?49924914") format("truetype"),
url("../fonts/pluton.svg?49924914#porta") format('svg);
font-weight: normal;
font-style: normal;
}
我做了什么:
@font-face {
font-family: 'porta';
src: url("{{ asset('../fonts/pluton.eot?49924914') }}");
src: url("{{ asset('../fonts/pluton.eot?49924914#iefix') }}") format("embedded-opentype"),
url("{{ asset('../fonts/pluton.woff?49924914') }}") format("woff"),
url("{{ asset('../fonts/pluton.ttf?49924914') }}") format("truetype"),
url("{{ asset('../fonts/pluton.svg?49924914#porta') }}") format("svg")
font-weight: normal;
font-style: normal;
}
我添加了这样的资产,但它没有用!那么如何正确添加 CSS 文件呢?
【问题讨论】:
-
css 文件通常只是从 web 服务器 (nginx/apache) 交付,因为这正是 symfony 公用文件夹中的所有内容所发生的情况。如果要在 css 文件中使用 twig,则必须为该 css 文件创建一个控制器 + 路由,将 css 文件视为 twig 模板等等。我不认为这实际上是一个好主意。问题是:你为什么要这个?因为我看不出有什么好的理由……
-
我只是从网上下载了一个模板,并在我的 symfony 项目中使用它
-
简单的解决方案是:不要在 static 文件中使用 twig 函数(例如
asset)。当你在public文件夹中放一些东西时,它们通常是静态的。只能在模板文件中使用 twig 函数,而模板文件是由控制器使用的。
标签: php css symfony twig include