Sassの学習

Nov 23, 2016 pm 03:19 PM
sass

1. SASS とは

SASS は、多くの便利な記述方法を提供し、デザイナーの時間を大幅に節約し、CSS 開発をシンプルかつ保守しやすくする CSS 開発ツールです。この記事では、SASS の主なメソッドをまとめます。この記事の目標は、日常の一般的な使用では公式ドキュメントを読む必要がないことです。

2. インストールと使用

2.1 インストール

SASS は Ruby 言語で書かれていますが、この 2 つの構文は Ruby 言語とは何の関係もありません。 Ruby を理解していなくても、最初に Ruby をインストールしてから SASS をインストールするだけで、コマンドラインに次のコマンドを入力できます:

gem insrall sass

これを使って。

2.2 使用

SASS ファイルは通常のテキスト ファイルであり、その中で CSS 構文を直接使用できます。サフィックス名は .Scss で、Sassy CSS を意味します。以下のコマンドで.scssファイルからcssに変換されたコードを画面上に表示できます。 (ファイル名が test であると仮定します)

sass test.scss

表示された結果をファイルに保存する場合は、その後ろに .css ファイル名を付けます。

sass test.scss test.css

SASS には 4 つのプログラミング スタイル オプションがあります

*nested: ネストされたインデントされた CSS コード。これがデフォルト値です。

*expanded: インデントされていない、展開された CSS コード。

*compact: 簡潔な形式の CSS コード。

*compressed: 圧縮された CSS コード

本番環境では、通常、最後のオプションが使用されます

sass ---style 圧縮 test.sass test.css

また、SASS にファイルまたはディレクトリを監視させることもできます。ファイルが変更されると、コンパイルされたバージョンが自動的に生成されます。

//ファイルを見る

sass --watch input.scss

//ディレクトリを見る

sass --watch app/sass:public/stylesheets

SASS の公式 Web サイトはオンラインコンバーターを提供しています。以下のさまざまな例を実行してください

3. 基本的な使用法

3.1 変数

SASS では変数の使用が許可されているため、変数は $ で始まります。

$blue : #1875e7;

div{

color :$blue

}

変数を文字列に埋め込む必要がある場合は、#{} に記述する必要があります。

$side : left;

.rounded{

border-#{side}-radius:5px;

}

3.2 計算関数

SASS を使用すると、コード内で計算を使用できます

Body{

margin : (14px/2);

top : 50px + 100px;

right : $var * 10%;

}

3.3 ネスト

SASS ではセレクターのネストが可能です。たとえば、次の CSS コード

div h1{

color : red;

}

は、

div{

Hi{

color : red;

}

}

属性として記述できます。入れ子にすることもできます。たとえば、border-color 属性は

p{

border:{

color:red;

}

}

border の後にコロンを追加する必要があることに注意してください。

ネストされたコード内では、& を使用して親要素を参照できます。たとえば、border-color 属性は次のように記述できます:

a{

&:hover{ color : #ffb3ff; }

}

3.4 コメント

SASS には 2 つのコメント スタイルがあります。

標準 CSS コメント /* comment */ はコンパイルされたファイルを保持します。

単一行のコメント //comment は SASS ソースファイルにのみ保持され、コンパイル後に省略されます。

/* の後に感嘆符を追加して、「これが重要なコメントであることを示します」。このコメント行は圧縮モードでコンパイルされた場合でも保持され、通常は著作権情報を宣言するために使用できます。

/*!

重要な注意事項

*/

4. コードの再利用

4.1 継承

SASS では、既存の class1:

.class1{

border:1px などの 1 つのセレクターが許可されます。 Solid #ddd;

}

class1 を継承するには、class2 は @extend コマンドを使用する必要があります:

.class{

@extend.class1;

font-size:120%;

}

4.2 Mixin

Mixin は、再利用可能なコード ブロックである C 言語のマクロ (マクロ) に似ています。

@mixin コマンドを使用してコード ブロックを定義します。

@mixin left{

float:left;

margin-left:10px

}

@include コマンドを使用してこの mixin を呼び出します

div{

@include left;

}

mixin の違いはパラメータとデフォルト値を指定できることです。

@mimin left($value:10px){

float:left;

Margin-right:$value

}

使用する場合は必要に応じてパラメータを追加してください

div{

@include left(20px ) ;

}

以下は、ブラウザーのプレフィックスを生成するために使用されるミックスインの例です。

@mixinrounded($vert,$horz,$radius:10px){

border-#{$vert}-#{$horz}-radius:$radius;

-moz-border-radius-#{ $vert}#{$horz}:$radius;

-webkit-border-#{$vert}-#{$horz}-radius:$radius;

}

使用する場合は次のように呼び出すことができます

#navbar li{ @includerounded(top,left);}

#footer{ @includerounded(top,left,5px);}

4.3 カラー関数

SASS は、次の目的でいくつかの組み込み関数を提供します。シリーズカラーを生成します。

明るく(#cc3,10%)//#d6d65c

暗く(#cc3,10%)//#a3a329

グレースケール(#cc3)//#808080

補色(#cc3)//#33c

4.4 ファイルの挿入

@import コマンドは、外部ファイルを挿入するために使用されます。

@import “path/filename.scss”;

.css ファイルを挿入する場合は、css import コマンドと同等です。

@import “foo.css”;

5. 高度な使用法

5.1 条件文

@if を使用して判断できます。

p{

@if 1+1 ==2{border:1px Solid ;}

@if 5< : 2px 点線;}

}

は @else コマンドでもサポートされています:

@if lightness($color)>30%{

}@else{

}

5.2 ループステートメント

SASS は for ループをサポートしています:

@for $i from 1 to 10 {

.border-#{$i}{

Border:#{$i}px Solid blue;

}

}

while ループもサポート:

$i:6;

@while $i >0{

.item-#{$i}{width:2em *$i}

$i:$i-2

}

各コマンド、次のようなもの:

@each $member in a,b,c,d{

.#{$member}{

Background-image:url(“image/#{$ member }.jpg”);

}

}

5.3 カスタム関数

SASS を使用すると、ユーザーは独自の関数を作成できます。

@function double($n){

@return $n*2;

}

#sidebar{

Width:double(5px);

}


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

Redwood.jsと動物相を使用してイーサリアムアプリを構築します Redwood.jsと動物相を使用してイーサリアムアプリを構築します Mar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

See all articles