0

我为我的网站创建了一个照片库,在我的最新网站上,我认为我会将 CSS 和所有页面文件包含在一个名为“gallery”的子文件夹中,我认为这会更容易,因为我可以像插件一样使用它 -在其他网站上。

这是画廊页面:http ://unserclosecustoms.com/gallery/gallery.php

新问题与我在 photo.php 页面上用于导航图形的图像精灵有关。这是您一次滚动浏览大尺寸图像的页面。

这是照片页面的示例链接:http ://unserclosecustoms.com/gallery/photo.php?curPage=12&g=33&t=19

sprite 文件gallerylinks.png 位于站点根目录中名为“graphics”的文件夹中。我决定更改精灵文件的位置并将其放在名为“graphics”的文件夹中的“gallery”文件夹中。我在我的 CSS 文件中更改background了画廊的路径,当我尝试它时……没有图像精灵。我逐个字母地检查了路径中的拼写十几次,但仍然没有运气。

当我将 CSS 文件中的路径更改回根目录中的“图形”文件夹时,它工作正常。我不知道为什么更改精灵文件的位置(以及backgroundCSS 中的适当路径)会有所不同。我在 Firefox 17(我的主浏览器)和 Chrome 23 中检查了这一点,结果相同,所以我认为这不是浏览器问题。

我可以在当前位置使用 sprite 文件,但我宁愿将它放在“gallery”文件夹内的“graphics”文件夹中。任何和所有的帮助将不胜感激。

4

2 回答 2

1

我同意上述重新使用虚拟路径而不是相对路径。通过这种方式,您将消除很多头痛。

如果没有看到页面处于非工作形式,就很难解决这个问题。然而,我最好的猜测是,它可能与移动文件和移动图像有关,并且您的相对路径被破坏了。

我是否正确阅读了上述内容,并且您试图将您的页面放在 /gallery/photo.php 并将图像放在 /gallery/graphics/gallerylinks.png?如果是这种情况,相对于页面,正确的 rel 路径将是 ../graphics/gallerylinks.png。

不过,再一次,省去所有这些不必要的麻烦,并遵循使用虚拟路径作为规则的建议——然后当你决定移动页面时,生活仍然很好,因为你总是从根开始。

于 2012-12-14T00:14:39.133 回答
0

看看是否可以避免相对于 CSS 文件所在位置的路径:

#back a:hover {
   background: url(../../graphics/gallerylinks.png) -160px -30px;
}

而是使用带前导的根路径/(移动文件后):

#back a:hover {
   background: url(/gallery/graphics/gallerylinks.png) -160px -30px;
}
于 2012-12-14T00:05:12.660 回答