ホームページ > ウェブフロントエンド > CSSチュートリアル > Symfony 2 プロジェクト内の CSS ファイル内の画像をどのように参照しますか?

Symfony 2 プロジェクト内の CSS ファイル内の画像をどのように参照しますか?

Barbara Streisand
リリース: 2024-11-17 21:26:02
オリジナル
622 人が閲覧しました

How do you reference images in CSS files within a Symfony 2 project?

Symfony 2 で CSS ファイル内の画像パスを移動する

問題:

画像へのパスを含む CSS ファイルがあります。フォントやその他のアセット。ファイル構造は次のとおりです:

...
+-src/
| +-MyCompany/
|   +-MyBundle/
|     +-Resources/
|       +-assets/
|         +-css/
|           +-stylesheets...
+-web/
| +-images/
|   +-images...
...
ログイン後にコピー

スタイルシートで画像を参照したいと考えていますが、さまざまな解決策には問題があることが判明しています。

修正された解決策:

1. 「パブリック」ディレクトリと「プライベート」ディレクトリに分割します:

オリジナルの CSS ファイルをプライベート ディレクトリ (例: src/Common/DirtyBundle/Resources/assets/css) に保存します。 assetic:dump を実行する前に、これらのファイルをパブリック ディレクトリにコピーします (例: web/bundles/commondirty/css_original)。

2.アセティック「cssrewrite」フィルターを使用する (オプション):

このフィルターは厳密には必要ありませんが、パスの操作を簡素化できます。使用する場合は、それに応じて構文を調整してください。

3. Twig との統合:

Twig テンプレートで、適切なディレクトリとフィルターを使用して CSS ファイルを参照します:

{% stylesheets 'bundles/commondirty/css_original/container.css' filter="cssrewrite" %}
    <link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
{% endstylesheets %}

{% stylesheets '@CommonDirtyBundle/Resources/assets/css/k.css' filter="cssrewrite" %}
    <link href="{{ asset_url }}" rel="stylesheet" type="text/css" />
{% endstylesheets %}
ログイン後にコピー

4.ハンドル イメージ パス:

構成に応じて、相対パスまたは絶対パスを使用してイメージを参照します。例:

  • 相対パス: url("../bundles/commondirty/images/devil.png")
  • 絶対パス: url("/bundles/commondirty/images /devil.png")

5.メンテナンス:

assetic:dump を使用して結合 CSS ファイルを生成した後、必要に応じてパブリック ディレクトリから元の CSS ファイルを削除できます。

6.残りの制約:

  • イメージにアクセスするには、パブリック ディレクトリ (web/bundles/commondirty/images など) に保存する必要があります。
  • asset() 関数は、プライベート ディレクトリ内の元のアセットに対しては機能しなくなりました。

以上がSymfony 2 プロジェクト内の CSS ファイル内の画像をどのように参照しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート