2014-04-26 259 views
0

我是一个新手到html和绝对到CSS。我从CSS,XHTML和JavaScript这本书的基础网站创建书中学习,据我了解,这个问题在这个问题时已经很老了,但仍然希望我可以帮助很多人。这里是我的标记:链接到CSS样式表

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="C:\Users\Kevin Turner\Desktop\html\indexcss.css" rel="stylesheet"   type="text/css"/> 
</head> 

为什么我的样式表链接?我可以做这个链接吗?我该怎么办?我相信它在Chrome中工作,但不在IE或Firefox中,也许你可以帮我理解这一点。

感谢, 凯文

+4

如果我是你,我会检查文件名(indexcss.css是可疑的),并使用'相对路径来链接文件 –

回答

1

不要使用C:\Users\Kevin Turner\Desktop\html\indexcss.css。这不是一个正确的网址。通常你会使用相对URL路径。如果你的文件包括css在同一个目录下,只需要写下文件名即可。

这应该工作,如果该文件是在同一个目录(文件夹)作为你的HTML文件:

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 

来解释relative URL path是什么,想象你有一个文件夹结构类似这样的:

--- html/ 
----- index.html 
----- css/ 
------- maincss.css 

,你想在你的index.htmlmaincss.css -file。那么你会做 <link rel="stylesheet" type="text/css" href="css/maincss.css" />。因为maincss.css位于css/目录(文件夹)中,该目录与您所在的目录(html/)相关。


您可以使用file:///c:/Users/Kevin%20Turner/Desktop/html/indexcss.css Source。但是只有如果css文件位于您正在加载页面的计算机上!


所以,如果CSS文件在同一目录中的文件,包括它(可能index.html),你的代码将是:

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 

的,另外,与file:/// URI和文件位于计算机加载HTML页面,看起来像

<head> 
    <meta http-equiv="Content-Type" content="text/html; 
    charset=utf-8"/> 
    <title>Welcome to Papa Pepperoncini's</title> 
    <link href="file:///c:/Users/Kevin%20Turner/Desktop/html/indexcss.css" rel="stylesheet" type="text/css"/> 
</head> 
+0

在这里我们走..让'w3schools'开始! –

+0

我不应该?我会改进答案并多写一些。 –

+0

Noo Nooo !!在'w3schools'上发布'links'或'tutorials'的人一般都会受到羞辱,他们有自己的理由! –

0

标准CSS链接的声明是这样的:

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

您输入的路径可能有问题。将来,请考虑同时使用您正在编辑的HTML文档。和桌面上的CSS文档(或者只在同一个文件夹中)。这样你就不必在完整路径每次键入

0

之前(你仅仅使用一个简单的记事本般的编辑器假设)作为文件存储在本地,请确保您使用file:/// URI方案:

<link rel="stylesheet" type="text/css" href="file:///C:\Users\Kevin Turner\Desktop\html\indexcss.css" /> 

仍然无法正常使用?

即使网页本身在本地运行,一些(或大多数?)浏览器也会阻止访问本地文件系统。这是防止网页访问和修改本地文件的安全措施。例如,Chrome会返回一个错误,如Not allowed to load local resource。要在Windows上解决此问题,您必须使用--allow-file-access-from-files标志启动Chrome。只需关闭Chrome,右键单击并修改快捷方式,在快捷方式目标的末尾添加标志。所以你的目标是这样的:C:\path\to\chrome\chrome.exe --allow-file-access-from-files。这将允许Chrome访问您的本地样式表。

+0

试过了,似乎仍然没有工作! – user3334393

+0

你还有这个问题吗?我已经用可能的解决方案更新了我的答案。希望这可以帮助! – agrm

0

你不应该链接到本地​​文件,因为在你的网站上这是行不通的。即使您的文件系统设置方式相同,HTTP服务器可能也无法提供。这也取决于你的HTML是如何在本地服务的(通过服务器或只是文件)。

无论如何,你应该链接到相对于html文件的CSS文件,或者最好是文档根目录(为你的网站文件提供服务的文件夹)。如果你能找出你的文档根目录下,你可以使用:

<link href="/indexcss.css"> 

...假设你的文档根目录是在像

C:\Users\Kevin Turner\Desktop\html\ 

如果你的HTML文件(与<head>)是同一文件夹中indexcss.css,你可以只使用

<link href="indexcss.css"> 

确保你理解了文档根目录和相对/绝对路径。