3

style.css があるとしましょう:

#some_element{
   background-image: url('img/picture.gif');
}

css と picture.gif は、次のような構造にあります。

style.css 
other_style.css
more_style.css
img
   picture.gif

PHP を使用して、style.css、other_style.css、および more_style.css を元の場所から遠く離れた cache_style.css に結合します。

この場合、リンクが切れます。

html には、現在のドキュメントのベース URL を定義するためのタグがあります。そのため、すべてのリンクとすべての画像は、そのベース URL に基づいて取得できます。

これを行うためのcssとjavascriptの代替手段はありますか?

編集: 一部の css/javascript は縮小されたサード パーティであり、"img/picture.gif" を "/something/img/picture.gif" に変更することはほぼ不可能です。

4

2 に答える 2

0

提供しているルート ディレクトリからの絶対パスを使用します。

background-image: url('/img/picture.gif');
于 2012-09-02T01:32:33.867 に答える
0

JavaScript では、ベース URL を保持する変数を定義できますが、その変数で CSS を参照または設定することはできません。有効なアプローチの 1 つは、gif への相対リンクではなく絶対リンクを使用することです。または、ファイルがサイトのルートに関連してどこに配置されるかがわかっている場合はcache_style.css、ルートからの相対位置によって gif を参照できます。たとえば、cache_style.cssが にある場合www.example.com/path/path/cache_style.css、次のようにして img ディレクトリを参照できます。../../img/picture.gif

于 2012-09-02T01:41:59.073 に答える