gpt4 book ai didi

css - css 中的图像路径无法正常工作

转载 作者:行者123 更新时间:2023-12-04 22:44:30 25 4
gpt4 key购买 nike

我正在尝试在我的 laravel 元素中使用 css 文件中的图像,该元素使用了 twitter bootstrap 和 Jason Lewis 的 Basset。

现在,当我在我的 CSS 中使用图像时,例如

.div {
background: url('asset/img/photo.jpg');
}

我得到了路径

http://localhost/asset/css/less/assets/img/photo.jpg

但是真正的路径应该是

http://localhost/~Username/laravelProject/public/asset/img/photo.jpg

实现此目的的唯一方法是在我的 css 中使用此 url

/../~Username/laravelProject/public/asset/img/photo.jpg

如果我必须将站点从本地移动到服务器并且每次都必须更改所有 URL,你们会明白这是不行的。那么为什么这不能正常工作?我正在使用这个由 andrew13 制作的 laravel 入门网站

startersite github

最后但同样重要的是..这是结构

enter image description here

最佳答案

问题是路径在 css 文档下面,相对文件路径通过将文件位置添加到 url 的开头来工作,这意味着它正在寻找 (Mypath)/asset/img/photo .jpg

(或者:public/asset/css/asset/img/photo.jpg 据我所知)

没有 PHP 服务器来返回动态 url,很遗憾,您只有 2 个选择:

  • 将 CSS 移动到根目录,或至少低于 IMG
  • 使用绝对 url

使用 php 你有几个选择,我最喜欢的是“节点”结构

这是如何工作的,将一个 php 文件放在根文件夹中,并设置其位置常量:

<?php
define('ROOTPATH', dirname(__FILE__));
?>

当您想使用它时,只需包含文件,然后使用 ROOTPATH:

 <?php
include 'TheFileName.php';
echo ROOTPATH,'/public/asset/img/photo.jpg';
?>

在大多数 php 服务器上,这已经设置为 $_SERVER['DOCUMENT_ROOT'],但在本地主机上需要使用节点。

请注意这是 sudo 代码,有些东西可能需要更改

关于css - css 中的图像路径无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21066528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com