CSS只能在线工作

时间:2011-12-27 15:27:25

标签: html css

检查出来:

External

Inline

我已成功复制了外部页面上的问题..(test.php链接到test.css)你会看到一个非常简单的html页面。有一个div,里面有一个图像。它有一个css样式应用于它,但缺少背景(这是几个阴影)。

在第二组页面(test2.php和test2.css)中,唯一的区别是样式属性已内联移动,其他所有内容都是IDENTICAL,但样式现在可以正常工作。

为什么?我之前已经多次见过这种情况,但人们总是喜欢声称“显然有一些压倒性的造型,你只是忘记了或者没有注意到”,但在这种情况下,我已经不知不觉地表明那里没有压倒一切的造型。

然而,它与浏览器无关且一致,因此我确信有一个简单的答案。

6 个答案:

答案 0 :(得分:3)

外部CSS文件中的相对路径需要相对于CSS文件而不是页面。

答案 1 :(得分:2)

由于您已将图片的网址放在css内的css文件夹中,因此背景图片的网址必须以../

开头

答案 2 :(得分:1)

在您的内联中,您使用以http://

开头的完整路径

在您的外部,您使用以support/imag...

开头的相对路径

外部不起作用的原因是因为图像的路径不正确。使用完整路径(如果它与页面位于同一站点,则不推荐使用),或者更正相对路径以使其相对于CSS文档而不是实际页面。

例如,如果您的CSS位于像您这样的“css”文件夹中,您通常需要以“../”开始它的相对路径,以便在访问“images”文件夹(或任何文件夹)之前跳一级是)。

答案 3 :(得分:0)

你可以

a)将test.css文件放在与new.html文件相同的目录中,并将<link rel="stylesheet" href="support/css/test.css">替换为html文件中的<link rel="stylesheet" href="test.css">。会工作。

OR

b)将test.css中的背景图片网址从support/images/content_bgshadow.png更改为../../support/images/content_bgshadow.png

答案 4 :(得分:0)

你只是忘了改变背景图片的路径,它现在相对于你的css而不是你的html页面 {/ 3}}图片不存在您应该将../images/content_bgshadow.png放在样式表中

答案 5 :(得分:0)

你的css文件中有错误的网址。因为它位于support/css文件夹中,所以必须相对于此文件夹设置路径,因此它应该是../images/content_bgshadow.png