Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
后台图像url()在live server上工作,但当我在浏览器中打开index.html时,它不会';T_Html_Css_Sass - Fatal编程技术网

后台图像url()在live server上工作,但当我在浏览器中打开index.html时,它不会';T

后台图像url()在live server上工作,但当我在浏览器中打开index.html时,它不会';T,html,css,sass,Html,Css,Sass,由于应用了其他属性,因此正确选择了图元。没有控制台错误 我试过: img/hero.jpg-当我点击VS代码中的链接时起作用 /img/hero.jpg-当我点击 。/../hero.jpg-单击时工作 。/img/hero.jpg-不起作用 当我单击时,完整路径将起作用 在这里可以看到。您可以看到由src属性调用的图像可以正常工作 老实说,我不理解您的设置/问题,但我认为如果您更好地理解相对URL的工作原理,您可以自己解决它 在您的服务器上,您的文件位于以下位置: /var/www/html/

由于应用了其他属性,因此正确选择了图元。没有控制台错误

我试过:

  • img/hero.jpg-当我点击VS代码中的链接时起作用
  • /img/hero.jpg-当我点击
  • 。/../hero.jpg-单击时工作
  • 。/img/hero.jpg-不起作用
  • 当我单击时,完整路径将起作用
  • 在这里可以看到。您可以看到由src属性调用的图像可以正常工作


    老实说,我不理解您的设置/问题,但我认为如果您更好地理解相对URL的工作原理,您可以自己解决它

    在您的服务器上,您的文件位于以下位置:

    /var/www/html/index.html
    /var/www/html/css/styles.css
    /var/www/html/img/background.png
    
    C:\Users\Nani\Desktop\Website\index.html
    C:\Users\Nani\Desktop\Website\css\styles.css
    C:\Users\Nani\Desktop\Website\img\background.png
    
    在你的电脑上,你有你的文件,比如

    /var/www/html/index.html
    /var/www/html/css/styles.css
    /var/www/html/img/background.png
    
    C:\Users\Nani\Desktop\Website\index.html
    C:\Users\Nani\Desktop\Website\css\styles.css
    C:\Users\Nani\Desktop\Website\img\background.png
    
    在你的styles.css中你有这样的东西

    body {
        background-image: url('/img/background.png');
    }
    
    /
    开头的URL告诉浏览器将其解释为根目录。在Windows PC上是
    C:\
    ,在Linux PC上是
    /

    但是,当您从类似
    url的url访问联机页面时https://example.com
    ,根目录变为
    https://example.com/

    因此,使用
    /img/background.png
    可以在
    https://example.com/img/background.png
    一旦联机,但在您的本地计算机上,它将在
    C:\img\background.png查找图像

    在不使用斜杠的情况下启动url时,
    img/background.png
    会查找与css文件所在文件夹相关的图像。因此,在这种情况下,它将在
    https://example.com/css/img/background.png
    在您的本地计算机上,它将在
    C:\Users\Nani\Desktop\Website\css\img\background.png中查找

    在我的示例中,最好的解决方案是使用
    。/img/background.png
    ,它将查找相对于css文件夹的一个目录,然后在img文件夹中查找。这将在您自己的计算机上和上传后都能持续工作


    假设问题出在url路径的声明方式上,这就足以说明您需要做什么。否则,问题可能出在其他方面。例如,您似乎正在使用SCS。可能SCS没有在您的本地计算机上编译(或者有一段时间没有编译),但它是在live server上编译的?

    它在live server上工作,因为它的设置使index.html的位置成为您文档的根(
    /
    )。当您直接打开index.html时,您的根目录是不同的,如果您以/开始路径,则图像不会从正确的位置加载

    最好使用相对文件路径(如果可能)

    使用相对文件路径时,网页将不会绑定到当前的基本URL。所有链接都将在您自己的计算机(localhost)以及当前公共域和未来公共域上工作


    请分享你的代码…嗯,是的,它是../img/background.png,我不知道为什么它以前不起作用,但答案很好,非常感谢