Sass の実践: より効率的な CSS 開発

目次

1. 準備

1.1 Sassのインストール

1.2 HTMLファイルとSassファイルの作成

2. 変数とネスト

2.1 変数

2.2 ネスティング

3.混ぜる

3.1 ミックスの定義

3.2 コールミックス

4. 継承

4.1 継承の定義

4.2 継承に関する考慮事項

5. 条件とループ

5.1 条件文

5.2 ループ文

6. 輸入とモジュール化

6.1 ファイルのインポート

6.2 モジュール性

7. ネストのルール

8. 計算する

9. 注意事項

10. ネストによるレベルが深すぎる

11.Sassのコンパイル

12. まとめ


Sass (Syntactical Awesome Style Sheets) は、CSS の機能を拡張し、より柔軟で効率的な CSS 開発方法を提供する CSS プリプロセッサです。Sass を使用すると、変数、ネスト、ミキシング、その他の関数を使用して、より保守しやすく再利用可能な CSS コードを作成できます。このブログでは、Sass の基本的な使用法を紹介し、CSS 開発効率を向上させるためにプロジェクトに Sass を適用する方法を例を通して示します。

1. 準備

始める前に、Sass をインストールし、サンプル用の HTML ファイルと Sass ファイルを準備する必要があります。

1.1 Sassのインストール

Sass は npm 経由でインストールできます。コマンドラインターミナルを開き、次のコマンドを実行して Sass をグローバルにインストールします。

 
 
npm install -g sass

インストールが完了したら、コマンドラインでコマンドを使用してsassSass ファイルをコンパイルできます。

1.2 HTMLファイルとSassファイルの作成

Sass コードを表示および記述するためのindex.htmlファイルとファイルをプロジェクトのルート ディレクトリに作成します。styles.scss

 
 
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>Sass实战</title>
  <link rel="stylesheet" href="styles.css">
</head>
<body>
  <header>
    <h1>Sass实战</h1>
  </header>
  <section>
    <p class="primary-text">这是一个Sass实例。</p>
    <button class="primary-button">点击按钮</button>
  </section>
</body>
</html>
 
 
// styles.scss
$primary-color: #007bff;

header {
  background-color: $primary-color;
  color: white;
  text-align: center;
  padding: 20px;
}

section {
  padding: 20px;
  text-align: center;

  .primary-text {
    font-size: 18px;
    color: $primary-color;
  }

  .primary-button {
    background-color: $primary-color;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
  }
}

上記のコードでは、$primary-colorテーマの色を保持する変数を定義しました。次に、その変数をheaderand要素sectionのスタイルで使用しました。さらに、スタイルをより明確で読みやすくするために、ネストされた構文を使用してセレクター内にセレクター.primary-textを入れ子にします。.primary-buttonsection

2. 変数とネスト

Sass の最も基本的な機能の 2 つは、変数とネストです。変数を使用すると、CSS で一般的に使用される値を定義して再利用できるため、コードの保守が容易になります。また、ネストすることで、子セレクターを親セレクターの中にネストすることができ、スタイルの階層をより明確にします。

2.1 変数

Sass では、変数は$シンボルで始まり、変数名と値の間にコロンとセミコロンが続きます。たとえば、変数を使用してテーマの色とフォント サイズを定義できます。

 
 
// 定义变量
$primary-color: #007bff;
$font-size: 16px;

// 使用变量
header {
  background-color: $primary-color;
  font-size: $font-size;
}

2.2 ネスティング

ネストすることで、スタイルをより明確に整理し、コードの繰り返しを減らすことができます。たとえば、セレクター内にセレクター.primary-textをネストできます.primary-buttonsection

 
 
section {
  padding: 20px;
  text-align: center;

  .primary-text {
    font-size: 18px;
    color: $primary-color;
  }

  .primary-button {
    background-color: $primary-color;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
  }
}

ネストするとスタイルの階層が明確になり、セレクターの重複も減らすことができます。

3.混ぜる

Sass は、スタイル ルールのセットを再利用するためのミックス (Mixins) 関数を提供します。ミックスインを定義すると、一連のスタイル ルールを再利用可能なコード ブロックにカプセル化し、必要に応じて呼び出すことができます。

3.1 ミックスの定義

ミックスインは、@mixinキーワードに続いてミックスイン名と中括弧のペアを使用して定義されます。中括弧内に一連のスタイル ルールを記述できます。

 
 
// 定义混合
@mixin rounded-corners {
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

上記のコードでは、プロパティと属性rounded-cornersを含む という名前のミックスインを定義しますborder-radius-webkit-border-radius

3.2 コールミックス

ミックスインを使用するには、@includeキーワードの後に​​ミックスイン名を付けて呼び出します。

 
 
// 使用混合
button {
  @include rounded-corners;
  background-color: $primary-color;
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

上記のコードでは、@includeキーワードを使用してrounded-cornersミックスインを呼び出し、要素border-radiusにプロパティを適用しましたbutton

4. 継承

Extend 関数を使用すると、あるセレクターのスタイルを別のセレクターに継承できます。継承を通じてスタイルの再利用を実現し、コードの冗長性を減らすことができます。

4.1 継承の定義

@extend継承を定義するには、キーワードの後に​​継承元のセレクターを使用します。

 
 
// 定义继承
.button-base {
  background-color: $primary-color;
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.primary-button {
  @extend .button-base;
}

.secondary-button {
  @extend .button-base;
  background-color: #6c757d;
}

上記のコードでは、まず、.button-baseボタンの基本スタイルを含む というセレクターを定義します。次に、@extendキーワードを使用して.primary-buttonセレクターからスタイルを継承します.button-base同時に、.primary-button背景色の変更など、スタイルを調整することもできます。同様に、スタイル.secondary-buttonを継承させたり.button-base、背景色を変更したりすることもできます。

4.2 継承に関する考慮事項

継承を使用する場合は、次の点に注意する必要があります。

  • 過度の継承を避ける: 過度の継承により、生成される CSS ルールが複雑になり、パフォーマンスと保守性に影響します。
  • 汎用セレクターを継承しない: 汎用すぎるセレクターへのスタイルの継承は避けてください。望ましくないスタイル汚染につながる可能性があります。

5. 条件とループ

Sass は条件ステートメントとループステートメントもサポートしており、スタイル処理をより柔軟かつ効率的にします。

5.1 条件文

条件文を使用すると、特定の条件に基づいて特定のスタイルを適用するかどうかを決定できます。たとえば、ボタンの種類に応じて異なるスタイルを設定できます。

 
 
// 条件语句
@mixin button-style($type) {
  @if $type == "primary" {
    background-color: $primary-color;
    color: white;
  } @else if $type == "secondary" {
    background-color: #6c757d;
    color: white;
  } @else {
    background-color: #f8f9fa;
    color: #343a40;
  }
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

// 使用条件语句
button {
  @include button-style("primary");
}

a.button {
  @include button-style("secondary");
}

input.button {
  @include button-style("default");
}

上記のコードでは、button-style1 つのパラメーターを取る という名前のミックスインを定義します$type$typeに応じて、異なるスタイルを適用します。次にbuttona.buttonおよびセレクターinput.buttonでこのミックスインを呼び出し、さまざまな$typeパラメーターを渡します。

5.2 ループ文

ループ ステートメントを使用すると、スタイル内に一連のスタイル ルールを繰り返し適用できます。たとえば、ループを使用して複数のボタンのスタイルを生成できます。

 
 
// 循环语句
@for $i from 1 through 5 {
  .button-#{$i} {
    font-size: 14px + $i * 2;
    padding: 5px + $i * 2;
  }
}

上記のコードでは、@for1 から 5 までのループを使用して 5 つのボタン スタイルを生成します。各ボタンfont-sizeの合計はpaddingの値だけ$i増加します。

6. 輸入とモジュール化

Sass は他の Sass ファイルのインポートをサポートしており、スタイル ファイルの管理がより柔軟かつモジュール化されています。スタイルを複数のファイルに分割し、これらのファイルをメイン ファイルにインポートできます。

6.1 ファイルのインポート

_variables.scss変数用のファイルとミックスイン用のファイルを使用し_mixins.scssこれらstyles.scssのファイルを次の場所にインポートするとします。

 
 
// _variables.scss
$primary-color: #007bff;
$font-size: 16px;

// _mixins.scss
@mixin rounded-corners {
  border-radius: 5px;
  -webkit-border-radius: 5px;
}

// styles.scss
@import "variables";
@import "mixins";

header {
  background-color: $primary-color;
  color: white;
  text-align: center;
  padding: 20px;
}

section {
  padding: 20px;
  text-align: center;

  .primary-text {
    font-size: 18px;
    color: $primary-color;
  }

  .primary-button {
    @include rounded-corners;
    background-color: $primary-color;
    color: white;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
  }
}

キーワードを使用して、ファイルにインポート@importできますこのようにして、これらの変数とミックスインを で直接使用できます_variables.scss_mixins.scssstyles.scssstyles.scss

6.2 モジュール性

インポートしてモジュール化することで、スタイルを複数のファイルに分割できるため、スタイル ファイルがより明確になり、管理が容易になります。たとえば、ボタンのスタイルを別のファイルに置くことができます。

 
 
// _button.scss
@import "variables";
@import "mixins";

.button-base {
  background-color: $primary-color;
  color: white;
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.primary-button {
  @extend .button-base;
}

.secondary-button {
  @extend .button-base;
  background-color: #6c757d;
}

次に、styles.scssこのファイルを次の場所にインポートします。

 
 
// styles.scss
@import "variables";
@import "mixins";
@import "button";

header {
  background-color: $primary-color;
  color: white;
  text-align: center;
  padding: 20px;
}

section {
  padding: 20px;
  text-align: center;

  .primary-text {
    font-size: 18px;
    color: $primary-color;
  }
}

このようにして、スタイル ファイルを複数の小さなモジュールに分割し、スタイルの構成をより明確かつモジュール化することができます。

7. ネストのルール

Sass では、スタイル ルール内でシンボルを使用して&親セレクターを参照できます。このネスト ルールにより、スタイルの記述がより簡潔かつ柔軟になります。

 
 
// 嵌套规则
.button {
  font-size: 16px;

  &:hover {
    color: $primary-color;
  }

  &::before {
    content: ">";
  }

  &.primary {
    background-color: $primary-color;
    color: white;
  }
}

上記のコードでは、&という表記法を使用して.buttonセレクターを参照し、それぞれ&:hover、 、&::beforeおよびスタイル ルールを定義します。このようにして、に関連するすべてのスタイル ルールを一元化&.primaryできます。.button

8. 計算する

Sass は単純な数学的計算もサポートしているため、スタイルの記述がより柔軟になります。加算、減算、乗算、除算などの演算をスタイルで実行できます。

 
 
// 计算
.container {
  width: 100%;
  padding: 20px;
}

.item {
  width: 50%;
  margin: 0 auto;
  padding: 10px;
}

.total {
  width: 100% - 40px;
  padding: 10px * 2;
}

上記のコードでは、スタイルで減算を行い、.total幅とパディングを計算しました。

9. 注意事項

Sass はさまざまなアノテーション方法をサポートしているため、スタイルのドキュメントがより明確になり、保守が容易になります。

 
 
// 单行注释
/* 多行注释 */

10. ネストによるレベルが深すぎる

Sass のネスト機能を使用する場合は、ネストレベルが深すぎないように注意する必要があります。ネストが深すぎると、生成される CSS ルールが複雑になり、パフォーマンスと保守性に影響します。適度なネストを維持するには、過度のネストを避けてください。

11.Sassのコンパイル

Sass ファイルを作成した後、Sass コードを CSS コードにコンパイルし、生成された CSS ファイルを HTML にインポートする必要があります。

コマンド ライン ターミナルを開き、Sass ファイルが保存されているディレクトリを入力し、次のコマンドを実行して Sass ファイルをコンパイルします。

 
 
sass styles.scss styles.css

上記のコマンドは、styles.scssファイルをstyles.cssファイルにコンパイルします。

12. まとめ

Sass を利用することで、CSS 開発の効率と保守性を大幅に向上させることができます。Sass 変数、ネスト、ミキシング、継承、条件、ループの機能により、スタイルをより柔軟に記述し、コードの冗長性を削減し、スタイルのモジュール化と再利用を実現できます。このブログが、プロジェクトで CSS をより効率的に開発するのに役立つ実践的な Sass のヒントと例を提供できれば幸いです。

おすすめ

転載: blog.csdn.net/m0_68036862/article/details/131955278