2013-05-22 1 views
7

問題

私は大きなWebサイトを持っているので、私のCSSフォルダ構造はかなり深いものになります。どのCSSファイルでも、relative URLで要素の背景画像を設定できます。実動サーバーにリリースする前に、すべてのCSSファイルを縮小する必要があります。この縮小処理によって、相対URLの一部が破損する可能性があります。これは、フォルダ構造が効果的に平坦化されるためです。開発者は、開発コードと本番コードの間のこの不一致をどのように扱いますか?CSSを縮小したときの相対イメージURLの変更方法

これは私のフォルダ構造です:

開発時
image/ 
    article/ 
     brushStroke.jpg 
style/ 
    module/ 
     button.css 
    page/ 
     article/ 
      introToPainting.css 
    minified/ 
     style20130522.css 

、私はintroToPainting.cssにこのCSSルールを持っていることがあります。

#step1 { 
    background-image: url(../../../image/article/brushStroke.jpg); 
} 

のは、特定の上で言ってみましょう単純なページ、私は必要button.cssintroToPa inting.css本番リリースでは、これらの2つのCSSファイルがstyle20130522.cssに縮小されます。縮小されたファイルがintroToPainting.cssと異なるフォルダの深さにあるので、へのパスbrushstroke.jpgが間違っています。

http://scs.veetle.com/soget/session-thumbnails/5363e222d2e10/0eaf8f26f193375f97b7deeabae97016/5363e222d2e10_0eaf8f26f193375f97b7deeabae97016_20140509184555_536d84d367530_74_896x672.jpg

http://scs.veetle.com/soget/session-thumbnails/534711b951df7/60d40fd7ca34cf794237c5ec8cb4ff6d/534711b951df7_60d40fd7ca34cf794237c5ec8cb4ff6d_20140521112148_537ceebcd74e0_98_896x672.jpg

+1

うーん...開発したCSSファイルを、本番環境で参照されるものと同じ相対フォルダに保存します。絶対参照を使用することができます。カントは相対参照を持ち、相対的な位置付けを変更し、魔法のように動作すると期待します。 – PlantTheIdea

+0

起動する前にすべてのファイルパスを変更しない限り、フォルダ/フォルダ/ cssを持っていても、フォルダ/フォルダ/分/に縮小して置いても、論理的な選択と思われます。相対パスは同じです – jamil

+0

私は '絶対パスを使用しないでください。私はチームで働いています。各開発者の環境は、異なるベースURLを持つことがあります。 – Pwner

答えて

0

私は通常、このサーバ側の要求を満たすでしょう。

たとえば、(ASP.NET C#を使用して)通常baseUrlを画像に追加し、web.configにURLを定義します。

次に、web.configのデバッグバージョンまたはリリースバージョンを使用して、baseUrlを適切に変換します。

その結果、私のHTMLファイルは、部品を持っているでしょうか、サーバ側構成されたURLの全体(または少なくともはbaseUrl添付サーバ側を有する)、または潜在的baseUrlは、おそらく、クライアント側コードに突出しているセッションを介して、またはJavaScript。

EDIT:明確にするために、私はbaseUrlにようhttp://mysite.comのようなものを設定することを意味するものではありません、私は私の開発baseUrlによう../../../image/のようなものを提唱なり、いつ生産の/image/にこれを翻訳し、または類似した何か

+0

CSSファイルでは、ベースURLは無用です。 CSSファイルのURLは静的なので、変更することはできません(特にサードパーティのプラグインの場合)。 CSSファイル内のパスがCSSファイルの場所からの相対パスであり、縮小が相対パスを更新せずにCSSファイルの場所を変更した場合、それは縮小プロセスのバグ/監視です。 – Triynko

関連する問題