Sass

プログラミング言語 | IT用語集

この用語をシェア

概要

Sass(Syntactically Awesome Style Sheets)は、CSSに変数、ネスト、ミックスイン、関数などのプログラミング機能を追加するCSSプリプロセッサです。2006年にHampton Catlinによって開発され、現在はNathan Weizenbaum が主導して開発が進められています。

Sassを使用することで、より保守性が高く再利用可能なCSSコードを書くことができ、大規模なWebプロジェクトでの開発効率を大幅に向上させることができます。SassはRubyで書かれており、.sass形式と.scss形式の2つの記法をサポートしています。

基本的な使い方

Sassの主要な機能を使った基本的な記述例です:

// 変数の定義
$primary-color: #3498db;
$secondary-color: #2ecc71;
$font-stack: 'Helvetica, Arial, sans-serif';
$border-radius: 8px;

// ミックスインの定義
@mixin button-style($bg-color, $text-color: white) {
  background-color: $bg-color;
  color: $text-color;
  padding: 12px 24px;
  border: none;
  border-radius: $border-radius;
  cursor: pointer;
  transition: all 0.3s ease;
  
  &:hover {
    background-color: darken($bg-color, 10%);
    transform: translateY(-2px);
  }
}

// ネストと親セレクタ参照
.navbar {
  background-color: $primary-color;
  padding: 1rem 0;
  
  .container {
    max-width: 1200px;
    margin: 0 auto;
    
    .nav-links {
      display: flex;
      list-style: none;
      
      li {
        margin-right: 2rem;
        
        a {
          color: white;
          text-decoration: none;
          font-family: $font-stack;
          
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
}

// ミックスインの使用
.btn-primary {
  @include button-style($primary-color);
}

.btn-secondary {
  @include button-style($secondary-color, #333);
}

主な機能

  • 変数:色、フォント、サイズなどの値を変数として定義し再利用可能
  • ネスト:CSSセレクタを階層構造で記述し、HTML構造に近い形で整理
  • ミックスイン:再利用可能なスタイルブロックを定義し、引数も渡せる
  • 継承:@extendディレクティブで他のセレクタのスタイルを継承
  • 演算:数値計算、色操作、文字列操作が可能
  • 条件分岐・ループ:@if、@for、@while、@eachで制御構造を記述
  • 関数:カスタム関数の定義と組み込み関数の利用

メリット

  • 開発効率向上:変数やミックスインにより重複コードを削減
  • 保守性向上:変数を使うことで一括変更が容易になる
  • コードの整理:ネスト機能により構造化されたコードが書ける
  • 再利用性:ミックスインや関数で共通スタイルを効率的に管理
  • 数学的操作:計算機能により動的なサイズ調整が可能
  • 豊富な関数:色操作、文字列操作などの組み込み関数が充実
  • 大規模プロジェクト対応:ファイル分割とインポート機能でスケーラブル

関連技術

Sassは以下の技術と組み合わせて使用されます:

  • CSS:Sassコンパイル後の出力対象となるスタイルシート言語
  • SCSS:CSS互換の記法を持つSassの拡張構文
  • Compass:Sassライブラリフレームワーク(現在は非推奨)
  • PostCSS:Sassとの組み合わせで使用される後処理ツール
  • Webpack:モジュールバンドラーとしてSassのコンパイルを統合
  • Gulp/Grunt:タスクランナーでSassのビルドプロセスを自動化
  • Bootstrap:Sassで書かれたCSSフレームワーク

この用語についてもっと詳しく

Sassに関するご質問や、システム導入のご相談など、お気軽にお問い合わせください。