检查出来:
我已成功复制了外部页面上的问题..(test.php链接到test.css)你会看到一个非常简单的html页面。有一个div,里面有一个图像。它有一个css样式应用于它,但缺少背景(这是几个阴影)。
在第二组页面(test2.php和test2.css)中,唯一的区别是样式属性已内联移动,其他所有内容都是IDENTICAL,但样式现在可以正常工作。
为什么?我之前已经多次见过这种情况,但人们总是喜欢声称“显然有一些压倒性的造型,你只是忘记了或者没有注意到”,但在这种情况下,我已经不知不觉地表明那里没有压倒一切的造型。
然而,它与浏览器无关且一致,因此我确信有一个简单的答案。
答案 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
。