トップQs
タイムライン
チャット
視点

Sass

スタイルシート言語 ウィキペディアから

Sass
Remove ads

Sass(サース[2][3]: Syntactically Awesome Style Sheets)は、ハンプトン・キャトリン[4]が設計しネイサン・バイゼンバウム[5]が開発したスタイルシート言語である。[6][7] 後にSassファイルに用いられる単純なスクリプト言語である SassScript 用の拡張が加えられた。

概要 登場時期, 設計者 ...

Sass はプリプロセッサとして実装されるスクリプト言語であり、 Cascading Style Sheets (CSS)に変換され、解釈される。SassScript はスクリプト言語自体を示す。

SassScriptには2種類の構文がある。はじめにできた「インデント構文」は、Haml英語版と同様にコードブロック改行コードを分離する際に字下げを使用する。単にSassと言ったらインデント構文のことを指す場合も多い。[8]新しい構文である「SCSS」(Sassy CSS)は、CSS同様にブロックを用いた書式を使用する。セミコロン波括弧を用いて、一つのブロック内に複数のブロックを記述することができる。

CSS3はグループルールを適用するセレクタ及び擬似セレクターの一群で構成されている。 SASSは伝統的なプログラミング言語、特にオブジェクト指向言語で利用可能ないくつかの仕組みで、CSS3にはないものを提供することでCSSを拡張している。 SassScript の解釈時には、Sass ファイルで定義された様々なセレクタとして、CSSルールのブロックが作成される。 Sass インタプリタが SassScript をCSSに変換する。sassscss の保存時に Sass がこれらを監視し、CSS出力変換を行っている。[9] CSS用の単純な糖衣構文でもある。

公式に Ruby で実装されているオープンソースソフトウェアであるが、 PHPを含めた多言語の実装も存在しており、中には libSass と呼ばれるC++による高性能の実装や、[10][11]JSass と呼ばれる Java による実装がある。[12]また、RubyによるSassが低速で、C++によるSassが新しい機能が追加しにくくなってきたことから、Dartによるdart-sassという実装が生まれた。[13][14]

インデント構文はメタ言語であり、SCSS はネストされたメタ言語であるように、プログラム意味論上では妥当なCSSは、妥当なSCSSである。Mozilla Firefox ウェブブラウザの拡張機能である Firebug との統合に対応している。[15]

Remove ads

変数

定義する変数は「$」(半角ドル記号)で始まり、代入に半角のコロン「:」が用いられる。[15]

(単位を含む)、(引用符の有無にかかわらず)文字列、色(色名か指定記号)、ブーリアン型のデータ型に対応している。[15]

さらに見る SCSS 構文, コンパイル結果 ...
Remove ads

ネスティング

CSSは論理的なネストに対応しているが、コードブロック自体はネストされていない。 Sass により、ネストされたコードは互いに挿入できる。[8]

さらに見る SCSS 構文, コンパイル結果 ...

名前空間のネストや親の参照を含むより複雑な種類は、公式文書で説明されている。[15]

Remove ads

ミックスイン

要約
視点

CSSはミックスインに対応していないため、同じコードを別の位置に繰り返し記載する必要がある。 ミックスインは、任意の妥当な Sass コードを含むコード節を示し、実行されるたびに翻訳結果が呼び出し元の位置に挿入される。 これにより効率的なコーディングや記述の簡略化だけでなく、内容変更を容易にする。[8]

さらに見る SCSS 構文, コンパイル結果 ...

反復処理

@for@each@whileを用いてIDやClassに変数を適用できる。

さらに見る コンパイル結果 ...

引数

さらに見る コンパイル結果 ...

組み合わせ例

さらに見る SCSS 構文, コンパイル結果 ...

セレクタの継承

さらに見る SCSS 構文, コンパイル結果 ...
Remove ads

脚注

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads