31

CSS ファイルを生成する Sass ファイルがあります。背景色、フォントサイズの sass ファイルで多くの変数を使用しましたが、JavaScript を使用してすべての変数を制御したいと考えています。

たとえば、style.sass には

$bg : #000;
$font-size: 12px;

これらの値を JavaScript から変更するにはどうすればよいですか?

4

9 に答える 9

23

できません。SASS は CSS プリプロセッサです。つまり、CSSにコンパイルすると、SASS 固有の情報はすべて失われます。

于 2013-07-22T12:46:19.203 に答える
9

この機能も必要でした。これが私のために働いたものです:

JS を使用すると、クラスを body に設定できます。.blueまたは.default ここで、設定したい一連のルールを拡張して作成します。

.default .themeColor {
  color: 'red';
}
.blue .themeColor {
  color: 'blue';
}

scss ファイルに含める代わりに、次のcolor: $someColorように使用します。

.someClass {
   @extend .themeColor;
 }

さて、あなたの体にdefaultクラスがある場合、内側の色someClassは赤になり、体にblueクラスがある場合、色は青になります.

于 2017-10-25T14:08:37.940 に答える
1

JSON を使用して、Sass と JavaScript の間でデータを共有します。

関連する質問を参照してください https://stackoverflow.com/a/26507880/4127132

于 2016-08-20T19:37:12.363 に答える
1

JavaScript はクライアント側 (Web ブラウザー内) で実行されますが、Sass はサーバー側で生成されるため、そのギャップを埋める方法を見つける必要があります。これを行う 1 つの方法は、AJAX スタイルのリッスンを設定して JavaScript イベントをサーバーに送信し、サーバーに style.sass ファイルを編集して再コンパイルさせることです。

于 2013-07-22T18:44:45.200 に答える
1

ブートストラップが行うこと (つまり、フィールドを編集してテーマをダウンロードする) を行う場合。

あなたはしなければならないでしょう:

  1. 編集したいファイルを手元に用意する
  2. これらの変数を文字列として保存し、.replace()変数の検索と置換に使用します
  3. この文字列を出力してファイルにコンパイルするか、ダウンロード用に圧縮します。

私は個人的にphpでこれを行います。

于 2013-07-29T02:31:22.407 に答える