0

我正在尝试创建一个网站来托管我制作的应用程序,并且我正在使用 IntelliJ IDEA IDE 来完成它。我有两个 html 页面和一个 css 文件:

/index.html
/projects/somepage.html
/css/styles.css

所以,在两个 html 页面中,我都想引用 css 文件,所以我在两个 html 页面中都有这个:

<link href="/css/styles.css" rel="stylesheet" type="text/css"/>

我认为这会起作用,但不,这两个页面都没有任何样式。

如果我查看 html 页面的源代码,然后单击以查看它试图获取 css 文件的位置,它正在查看 C:/css/styles.css。

我是从头开始开发网站的新手,也许路径有点错误?如果我从文件夹中取出styles.css并将其作为index.html中的“styles.css”和somepage.html中的“../styles.css”引用,我可以让它工作,但我不想要必须为不同的页面使用不同的路径。

这是我的 IDE 的问题吗?当我创建名为 Website.iml 的项目时,IntelliJ IDEA 创建了一个可能相关的文件。这是里面的内容:

<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

虽然,我真的不知道 IDE 会对它产生什么影响,因为它只是帮助创建代码,如果我不使用 IDE,文件结构完全相同。

谢谢。

4

4 回答 4

1

您应该在构建应用程序时运行开发服务器,因为它在服务器上的行为与在本地计算机上的文件行为不同。例如,现在路径是错误的,因为它在根目录中搜索 css/style.css,在您的机器上是 C:/ 驱动器。当你把它放到服务器上时,它会完美地工作,因为你所有的文件在根目录中。

运行一个开发服务器超级简单,有一百万种方法可以做到,你可以通过 php5 启动一个简单的 APACHE 服务器

$ php -S localhost:8000 -t /path/to/your/application

否则,您需要在每个 html 文件中更改样式表的路径,因为它们都嵌套在不同的级别。

例如,您index.html将在其头部有一个链接标签,其路径为css/style.css,而您/projects/somepage.html将在其头部有一个链接标签,其路径为../css/style.css.

话虽如此,如果您认真对待构建网站,则需要学习使用开发服务器。

于 2013-10-14T21:46:17.070 回答
0

您不需要 css 前面的额外“/”。

<link rel="stylesheet" href="css/style.css" />

应该工作得很好。我认为使用额外的 /,它正在尝试查找另一个文件夹.. 什么都没有。希望这可以帮助!

于 2013-10-14T21:08:50.200 回答
0

尝试

<link href="./css/style.css" />

或者

<link href="css/style.css" />

通过仅使用斜线,它试图在站点根目录中查找。通过添加它在文档的根文件夹中查找的句点。

于 2013-10-14T21:12:44.897 回答
0

在本地打开文件(使用 file:// 协议)时,无法正确解析此类 url(相对于站点根目录,以斜杠开头的 URL) - 浏览器将在系统根目录 (C:/) 中搜索这些文件。您需要使用远程配置(使用 Web 服务器 url 而不是本地路径访问您的 html)来完成这项工作。请注意,Idea 支持所谓的内置网络服务器(http://confluence.jetbrains.com/display/WI/built-in+web+server),因此您可以在不安装网络服务器的情况下测试您的代码。从 Idea 13 开始,只有一个用于 JS 调试的运行配置,并且从右键菜单(操作“创建/调试”html 文件)创建的运行配置使用内置 http 服务器上的 url 而不是文件 url

于 2013-10-15T12:46:52.423 回答