検索

ホームページ  >  に質問  >  本文

symfony2 フロントエンドテンプレートに CSS をインポートした後、背景画像が表示されない

symfony2 が CSS を管理した後、CSS で定義された背景画像がありますが、Symfony2 は CSS で定義された背景画像のパスを変更しないため、背景画像が表示されません。やるべきですか?よろしくお願いします!

我想大声告诉你我想大声告诉你2778日前692

全員に返信(2)返信します

  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:46:10

    Assetic を使用している場合は、cssrewrite ファイラーを追加する必要があります。つまり、

    リーリー

    このフィルターは何を意味しますか?

    assets:dump (またはassets:install)を実行すると、Symfony2は静的ファイル(CSS)をバンドルからWebルートディレクトリに移動します。そのため、一部のファイルのパス(CSSイメージで参照されているファイルなど)が変更されています。対象者が述べた問題の原因。

    そのため、cssrewrite フィルターは、CSS と画像の間の相対関係を計算し、CSS 内のパスを直接更新するために特に使用されます。

    実際的な例を示します。現在、logo.png と style.css という 2 つのファイルがあります。 リーリー

    style.css で logo.png を参照するには ../img/logo.png が必要ですよね?

    ここで、assets:dump を実行すると、Symfony2 の Assetic コンポーネントは logo.png と style.css を /web ディレクトリにエクスポートします。/src には直接アクセスできないため、logo.png と style.css は新しいディレクトリにエクスポートされます。ディレクトリ:

    リーリー

    11e4a17.css (style.css の名前が変更された後のファイル) と logo.png の間の相対関係が変更されていることがわかります。つまり、元の ../img/logo.png は、 logo.png を参照できなくなります。 cssrewrite の特徴は、11e4a17.css (style.css) の ../img/logo.png を ../bundles/app/img/logo.png に更新することです。

    これだけ言うと長くなるので、質問者さんのお役に立てれば幸いです。

    返事
    0
  • 怪我咯

    怪我咯2017-05-16 16:46:10

    まだ読んでいないかもしれませんが、ドキュメントをお渡しします
    資産管理に Assetic を使用する方法

    返事
    0
  • キャンセル返事