symfony2 フロントエンドテンプレートに CSS をインポートした後、背景画像が表示されない
我想大声告诉你
我想大声告诉你 2017-05-16 16:44:10
0
2
688

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

我想大声告诉你
我想大声告诉你

全員に返信(2)
淡淡烟草味

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
刘奇

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート