我建立了一个Edge Ledger网站,用VS代码做了HTML和CSS样式。当我用live server运行它时,它工作正常,我做的CSS样式已经实现,但如果我只是转到根文件夹,打开index.html文件,而不使用VS代码运行它,它只显示HTML元素,没有样式。有人能帮忙吗?
我试着在没有VS代码的情况下打开索引文件,它只加载了没有CSS的HTML文件。
当我在VS代码上使用live server运行这个程序时,我所做的CSS样式被应用到index.html页面
有什么问题吗?
我建立了一个Edge Ledger网站,用VS代码做了HTML和CSS样式。当我用live server运行它时,它工作正常,我做的CSS样式已经实现,但如果我只是转到根文件夹,打开index.html文件,而不使用VS代码运行它,它只显示HTML元素,没有样式。有人能帮忙吗?
我试着在没有VS代码的情况下打开索引文件,它只加载了没有CSS的HTML文件。
当我在VS代码上使用live server运行这个程序时,我所做的CSS样式被应用到index.html页面
有什么问题吗?
1条答案
按热度按时间km0tfn4u1#
说明
直接打开HTML文件的问题是,现在你的电脑硬盘是服务器,浏览器会要求你的电脑在
/css
目录下提供CSS文件,/
表示整个文件系统的根目录。对于您的计算机来说,这有几个问题。(想想MacOS或Linux发行版,比如Ubuntu),但是由于您使用的是Windows,这种类型的目录或路径不会解析为任何内容。就像在Windows中将它们放在
C:/
下一样。这就是为什么当在适当的服务器上提供HTML文件时,
/
路径会被正确解析的原因,因为/
表示Web服务器目录的根,而不是文件系统的根。解决方案A -本地文件服务器
如果你想保持代码不变,并且你已经在本地安装了Python或Node.js,你可以使用它们中的任何一个来启动一个轻量级HTTP服务器,作为一个静态文件服务器。
第一个
现在访问http://localhost:8080(或您的终端告诉您的任何端口),应该提供您的HTML文件 * 并 * 正确解析CSS资产路径。
您可以在此处找到适用于不同语言的其他静态服务器的大量列表:https://gist.github.com/willurd/5720255
解决方案B -相对文件路径
另一个解决方案是从资产路径中删除
/
前缀,使其成为index.html
文件的相对路径。注意,这可能会在将来导致其他意外情况,例如,如果您的index.html文件也用于/about
页面,则CSS资产路径现在将解析为/about/css
而不是/css
(因为css/...
路径现在是相对于当前路径的,并且将被附加到当前路径上)。这并不是最好的练习。