后台图像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/
老实说,我不理解您的设置/问题,但我认为如果您更好地理解相对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,我不知道为什么它以前不起作用,但答案很好,非常感谢