スタイルシートの構造

CSSと同様に、ほとんどのSassスタイルシートは主にプロパティ宣言を含むスタイルルールで構成されています。しかし、Sassスタイルシートには、これらと共に存在できる多くの機能があります。

ステートメントステートメントパーマリンク

Sassスタイルシートは、一連のステートメントで構成されており、それらは順に評価されて結果のCSSが構築されます。一部のステートメントには、{}を使用して定義されたブロックが含まれており、他のステートメントが含まれています。たとえば、スタイルルールはブロックを含むステートメントです。そのブロックには、プロパティ宣言などの他のステートメントが含まれています。

SCSSでは、ステートメントはセミコロンで区切られます(ステートメントがブロックを使用する場合は省略可能です)。インデント構文では、改行で区切られます。

ユニバーサルステートメントユニバーサルステートメントパーマリンク

これらのタイプのステートメントは、Sassスタイルシートのどこにでも使用できます。

CSSステートメントCSSステートメントパーマリンク

これらのステートメントはCSSを生成します。@function内を除いてどこでも使用できます。

トップレベルステートメントトップレベルステートメントパーマリンク

これらのステートメントは、スタイルシートのトップレベル、またはトップレベルのCSSステートメント内にネストしてのみ使用できます。

その他のステートメントその他のステートメントパーマリンク

  • プロパティ宣言、例:width: 100pxは、スタイルルールと一部のCSSアットルール内でのみ使用できます。
  • @extendルールは、スタイルルール内でのみ使用できます。

式パーマリンク

とは、プロパティまたは変数宣言の右側に来るものです。各式はを生成します。有効なCSSプロパティ値もSass式ですが、Sass式はプレーンなCSS値よりもはるかに強力です。Sass式は、ミックスイン関数への引数として渡され、@ifルールによる制御フローに使用され、算術演算を使用して操作されます。Sassの式構文をSassScriptと呼びます。

リテラルリテラルパーマリンク

最も単純な式は、静的な値を表します。

  • 数値、単位が付いている場合と付いていない場合があります。例:12または100px
  • 文字列、引用符が付いている場合と付いていない場合があります。例:"Helvetica Neue"またはbold
  • カラー、16進数表現または名前で参照できます。例:#c6538cまたはblue
  • ブール値リテラルtrueまたはfalse
  • シングルトンnull
  • 値のリスト、スペースまたはコンマで区切ることができ、角括弧で囲むことも、囲まないこともできます。例:1.5em 1em 0 2emHelvetica, Arial, sans-serif、または[col1-start]
  • マップ、値をキーに関連付けます。例:("background": red, "foreground": pink)

演算演算パーマリンク

Sassは、いくつかの演算の構文を定義しています。

  • ==!=は、2つの値が同じかどうかを確認するために使用されます。
  • +-*/、および%は、数値に対して通常の数学的な意味を持ち、科学的な数学における単位の使用と一致する単位に関する特別な動作があります。
  • <<=>、および>=は、2つの数値が互いに大小関係にあるかどうかを確認します。
  • andor、およびnotは、通常のブール値の動作をします。Sassは、falsenullを除くすべての値を「true」と見なします。
  • +-、および/を使用して、文字列を連結できます。
  • ()を使用して、演算の優先順位を明示的に制御できます。

その他の式その他の式パーマリンク

  • 変数、例:$var
  • 関数呼び出し、例:nth($list, 1)またはvar(--main-bg-color)。Sassコアライブラリ関数またはユーザー定義関数を呼び出すか、CSSに直接コンパイルされる場合があります。
  • 特殊関数、例:calc(1px + 100%)またはurl(http://myapp.com/assets/logo.png)。独自の解析ルールがあります。
  • 親セレクター&
  • !importantは、引用符なしの文字列として解析されます。