2

コマンドラインでsass変数を定義する、または環境からそれらを渡す標準的または簡単な方法はありますか? 私がやっていることは、単一の SCSS ソース ファイルから別の CSS ファイルを作成しようとしていることです。各出力ファイルは、特定のターゲット デバイス用に特化され、メディア クエリを使用して HTML ページからインクルードされます。

更新: これでは不十分なようです。この@if構文では、実際には条件付き sass ブロックは許可されず、条件付き CSS ブロックのみが許可されます。つまり、変数を定義できたとしても、ファイル内で別の処理を行うことはできません。何か案は?

4

4 に答える 4

0

私が必要としていた機能は、SASS にはありません。コマンドラインで変数を定義できたとしても、スタイル シートで実際に条件付きブロックを実行するには、「if」機能では不十分です。

代わりに、M4 の古いスタンバイに頼りました。SASS を M4 で前処理し、コマンドライン オプションと完全な条件付きブロックを実行するだけです。

于 2013-03-24T16:21:54.273 に答える
-1

私はあなたが言っていることを理解していると確信しています。場合によっては、条件付きスタイルシートになる .scss ファイルにまとめてグループ化すると、見つけやすくなります。

現時点では、すべての条件付きルールをパーシャルにグループ化せずに、sass スタイルシートを個別のスタイルシートにコンパイルする機能はまだありません。

ただし、ポール・アイリッシュの提案を使用して、条件付きでクラス名を html タグに追加します: http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

次のようなことができます。

.something {
    regular rules...

    .ie8 & {
         conditional rules...
    }
}

そうすれば、条件付きのスタイリングだけでなく、整理することもできます。これが役立つことを願っています!

于 2013-03-01T15:02:57.450 に答える