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

Bootstrap卡片内设置的background-img无法正常显示问题求助

问题原因

你遇到的故障核心是Razor页面的行内样式无法自动解析~路径占位符:
~是ASP.NET Core提供的应用根路径占位符,仅会在Razor标签的指定属性(如<img>的src、<a>的href)中被自动转换为实际的站点根路径,写在style属性的background-image:url()中时不会被解析,浏览器会将~作为路径的一部分发起请求,最终导致图片找不到。
你提到同路径放在<img>标签中可正常加载,恰好印证了该问题:<img>的src属性会触发Razor的路径解析逻辑,行内样式不会。

解决方案

你可以任选以下一种方式修复:

  • 若你的站点部署在域名根目录下,直接将路径中的~删除,使用站点绝对路径即可:
    <div class="card-img" style="background-image:url('/images/StrawberryVanillaSoftCream2110111446.jpg');"></div>
    
  • 若你的站点部署在子目录下,使用Razor提供的Url.Content()方法主动解析根路径:
    <div class="card-img" style="background-image:url('@Url.Content("~/images/StrawberryVanillaSoftCream2110111446.jpg")');"></div>
    
排查验证技巧

你可以打开浏览器开发者工具的「网络」面板,对比background-image发起的图片请求地址,和正常加载的<img>标签的图片请求地址,就能直接看到路径差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:24:04