CSSファイルを生成しているSassファイルがあります。背景色、フォントサイズのために私のSassファイルで多くの変数を使用しましたが、JavaScriptを使用してすべての変数を制御したいと考えています。例えば、style.sassに私たちは、私は、JavaScriptからこれらの値を変更するにはどうすればよいJavaScriptを使ってSass変数を制御する方法
$bg : #000;
$font-size: 12px;
を
がありますか?
CSSファイルを生成しているSassファイルがあります。背景色、フォントサイズのために私のSassファイルで多くの変数を使用しましたが、JavaScriptを使用してすべての変数を制御したいと考えています。例えば、style.sassに私たちは、私は、JavaScriptからこれらの値を変更するにはどうすればよいJavaScriptを使ってSass変数を制御する方法
$bg : #000;
$font-size: 12px;
を
がありますか?
できません。 SASSはCSSプリプロセッサです。つまり、すべて CSSにコンパイルするとSASS固有の情報が消滅します。
JavaScriptはクライアント側(Webブラウザ内)で実行され、Sassはサーバー側で生成されるため、そのギャップを埋めるための方法を見つける必要があります。これを行う1つの方法は、AJAXスタイルのリスニングを設定してJavaScriptイベントをサーバーに送信してから、サーバーにstyle.sassファイルを編集して再コンパイルするようにすることです。
ありがとうございました。しかし、ok node.jsの助けを借りて、これを行うことができます。 [link] https://npmjs.org/package/node-sass – Ankit
もしあなたがブートストラップが何をしたいのであれば(テーマをダウンロードするためのフィールドを編集する)。
あなたはする必要があると思います。この文字列
.replace()
を使用する変数私はこれをPHPで個人的に行います。
JSONを使用してSassとJavaScriptの間でデータを共有します。
をJSを使用すると、身体に元のクラスを設定することができます。
は、私もこの機能を必要と関連する質問https://stackoverflow.com/a/26507880/4127132
を参照してください、ここで私のために働いたものです。 .blue
または.default
今あなたが設定したいこれから延長する一連のルールを作成します。
.default .themeColor {
color: 'red';
}
.blue .themeColor {
color: 'blue';
}
今、代わりにあなたのSCSSファイルでcolor: $someColor
を有していると、このようにそれを使用します。
.someClass {
@extend .themeColor;
}
身体にdefault
クラスがある場合、someClass
の色は赤色になり、bodyにblue
クラスがある場合、色は青色になります。
ありがとうGJK.but私はCSSの生成の前に私の変数を変更したい。私のウェブページをテーマにしたいのと同じように、ブートストラップのthemerollerでやっている人もいます。 – Ankit
SASSファイルを操作するためにあらかじめ作成されたJavascriptライブラリはありません。普通の古いファイルIOを使用して、サーバーサイドで(Javascriptを使用する場合はNode.js経由で)行う必要があります。 – GJK