2013-10-14 32 views
0

我正在尝试使网站托管我制作的应用程序,并且我正在使用IntelliJ IDEA IDE来执行此操作。 我有两个HTML页面和一个CSS文件:引用外部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的问题吗?有一个IntelliJ IDEA在创建名为Website.iml的项目时创建的文件可能是相关的。这是什么,是它里面:

<?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。

谢谢。

回答

1

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

运行开发服务器是超级容易,有100万的方式来做到这一点,你可以通过

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

否则启动与PHP5一个简单的Apache服务器,你需要改变路径到每个html文件中的样式表,因为它们都嵌套在不同的层次上。

比如你index.html将在其头上的css/style.css路径的链接标签,而你的/projects/somepage.html将在其头部link标签与../css/style.css的路径。

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

0

你不需要额外的'/'在CSS前面。

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

应该工作得很好。我想用额外的/,它试图看另一个文件夹了..变成了一无所有。希望这可以帮助!

0

尝试

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

或者

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

通过只是有它试图在站点根目录看斜线。通过添加它在文档的根文件夹中查找的时间段。

0

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