0

ウェブサイト用のフォトギャラリーを作成しました。最新のサイトでは、CSSとすべてのページファイルを「ギャラリー」というサブフォルダーに含めると思いました。プラグインのように使用できるので、これは簡単だと思いました。他のサイトで。

ギャラリーページは次のとおりです:http://unserclosecustoms.com/gallery/galleries.php

新しい問題は、photo.phpページのナビゲーショングラフィックに使用する画像スプライトに関係しています。大きいサイズの画像を1枚ずつスクロールするページです。

写真ページへのリンクの例は次のとおりです。http://unserclosecustoms.com/gallery/photo.php?curPage = 12&g = 33&t = 19

スプライトファイルgallerylinks.pngは、サイトのルートディレクトリである「graphics」というフォルダにあります。スプライトファイルの場所を変更して、「graphics」というフォルダーの「gallery」フォルダー内に配置することにしました。ギャラリーのCSSファイルのパスを変更しましたbackgroundが、試してみると...画像スプライトがありません。私はパスのスペルを文字ごとに十数回チェックしましたが、それでも運がありませんでした。

CSSファイルのパスをルートディレクトリの「graphics」フォルダに戻すと、正常に機能します。スプライトファイルの場所(およびbackgroundCSSの適切なパス)を変更すると違いが生じる理由がわかりません。Firefox 17(私のプライマリブラウザ)とChrome 23でこれを確認しましたが、同じ結果なので、ブラウザの問題ではないと思います。

スプライトファイルを現在の場所に置いておくことができますが、「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 に答える