2013-08-23 12 views
15

私はZurb Foundation 4(S)CSSフレームワークを使用していますが、大規模な複製スタイルの問題が発生しています。これは、すべてのファイルが@import 'foundation'であるため、Foundationのすべてのスタイルもインポートされるからです(body.row.buttonおよびfriendsのルール)。これにより、SCSSのコンパイル時間が長くなり、Chromeのウェブ開発者コンソールを操作するのが難しくなります.Zurbのスタイルはすべて4〜5回宣言されています。Scssスタイルシートから変数とミックスインのみをインポートするにはどうすればよいですか?

これを軽減するために、Foundationが使用する無効な変数(foundation_and_overrides.scss、次にfoundation_and_overridesインポートグローバル)を含む、無効な変数を含むglobals scssファイルを作成しました。 globals.scssファイルだけをインポートすると、Foundationミックスインを使用しないファイルで重複がなくなります。

Foundationミックスインを使用するファイルにあります:具体的なFoundationスタイルをインポートせずに、SCSSファイルからミックスインのみをインポートできますか?

+0

Compass拡張機能として使用する場合は、変数ファイルを手動で作成する必要はありません。コマンド 'compass install foundation'は、あなたのために_settings.scssファイルを生成するはずです。 – cimmanon

+0

@cimmanon、私はコンパスを使用していません。私は、Railsの資産パイプラインがコンパイルの世話をするようにしています。 – dymk

答えて

11

輸入は、すべてまたは何もありません。ファイルにあるものはすべてあなたが得るものです。しかし、Foundationのソースを調べると、放出スタイルを抑制する変数を設定することができます(たとえば、buttonsに設定すると、$include-html-button-classesをfalseに設定するとスタイルが無効になります)。このデザインパターンはFoundation固有のものなので、他のライブラリをこのように作成することは期待できません。

@import "foundation"でファンデーションをインポートすると、https://github.com/zurb/foundation/blob/master/scss/foundation.scssというファイルがインポートされます。ご覧のとおり、他のファイルをインポートします。すべてを必要としない場合は、このファイルをインポートする必要はありません。必要な特定のファイルをインポートするだけです(たとえば、サイドナビゲーションファイルの場合は@import 'foundation/components/side-nav')。

+1

ありがとう、私は財団が提供する抑制変数を認識していませんでした。それらはかなり助けてください。 – dymk

+0

スタイルのブロック全体ではなく、弾丸nav scss/cssのダウンロードに集中する必要はありますか? – Neil

+1

@NeilLittle「輸入はすべてか何かである」という答えの一部を参照してください。作成者があなたがそれを可能にする方法でそれを書いていない限り、ファイルの一部を選択して選択することはできません。 – cimmanon

関連する問題