You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Twig模板中使用CSS变量设置background-image遇阻求助

问题解决:CSS变量作为背景图不生效

问题出在CSS变量的赋值格式不符合background-image的语法要求:

background-image需要接收url(图片路径)格式的值,但你直接把图片链接赋值给--image变量,导致最终渲染的CSS变成background-image: 你的图片链接,这是无效的语法。而--order是数字类型,直接赋值就能被CSS正确解析,所以动画延迟正常工作。

修正方案

修改Twig模板中--image变量的赋值,给图片链接加上url()包裹:

{% for produit in produit %}
{% set compteur = compteur + 1 %}
<div class="liste" style="--order: {{ compteur }}; --image: url('{{ produit.image }}')">
    <img src="{{ produit.image }}">
</div>
{% endfor %}

你的CSS代码不需要修改,保持原样即可:

div.liste {
        position: relative;
        display: flex;
        background-image: var(--image);
        animation: liste_appear .5s cubic-bezier(0.33, 1, 0.68, 1) 1 calc(var(--order) * 50ms) backwards;
        /*rest doesn't matter*/
}

这样渲染后,每个.liste元素的--image变量会被解析为url('相对链接'),background-image: var(--image)就能正确加载背景图了。

内容的提问来源于stack exchange,提问作者Xupix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:29:57