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

如何定位背景图片并在resources/assets/sass/_custom.scss中访问?

嘿,我来帮你一步步解决这两个问题!

1. 针对你的具体场景:访问storage里的背景图

首先,在Laravel项目里,storage/app/public目录下的文件需要通过软链接映射到项目根目录的public/storage才能被网页正常访问,所以第一步你得确保已经执行过这个命令:

php artisan storage:link

这一步完成后,storage/app/public/myimages.jpg就可以通过网站根目录的/storage/myimages.jpg路径访问了。

接下来在你的_custom.scss文件里,直接用绝对路径设置背景图是最稳妥的方式,不用担心CSS文件的层级问题:

/* 替换成你要设置背景的元素选择器 */
.header-banner {
  background-image: url('/storage/myimages.jpg');
  /* 可选:添加背景定位、重复等属性优化显示 */
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

如果习惯用相对路径,假设你的SCSS编译后生成的CSS文件在public/css目录下,那相对路径就是../storage/myimages.jpg(从css目录往上跳一级到public,再进入storage文件夹),代码如下:

.header-banner {
  background-image: url('../storage/myimages.jpg');
}

2. 通用的背景图片定位方法

不管项目结构如何,常用的背景图定位方式有这几种:

  • 绝对路径定位:以网站根目录开头(比如/storage/myimages.jpg),优势是不受CSS文件所在层级影响,任何位置的CSS都能正确找到图片,适合大多数生产场景。
  • 相对路径定位:相对于当前CSS文件的位置编写路径。比如CSS在public/css/subdir/style.css,图片在public/images/photo.jpg,相对路径就是../../images/photo.jpg(往上跳两级到public,再进入images)。
  • SCSS变量复用:利用SCSS的变量特性,把图片基础路径统一管理,后续修改路径只需要改变量值:
    $base-image-path: '/storage/';
    
    .hero-section {
      background-image: url(#{$base-image-path}myimages.jpg);
    }
    .footer-bg {
      background-image: url(#{$base-image-path}footer-bg.jpg);
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:35:38