【Sass, SCSS】@importの使い方 基本の書き方・簡単チュートリアルで練習

man

困ってる人

Sass(Scss)の@importの使い方がいまいちよく分からない

それでしたら今回は、簡単なチュートリアルを用意致しました。

operator

オペレーター


こんにちは、ikuxxと申します。

今回は、Sass(SCSS)@importの使い方について、簡単なチュートリアルを用意してみました、

チュートリアルの出来上がり図は、適当過ぎて申し訳ないけどこんな感じ。

これにスタイルシートが当たってないとこんな感じ。


今回は、文字の色の変わり具合や、背景の色の違いなど、

ファイルがきちんと読み込まれているのか?というのが分かりやすいように、

ヘッダー(上部)と真ん中、フッター(下部)の3つに分けてみました。

そして、今回あらかじめ用意するファイルは、

・index.html
・cssフォルダ
・sassフォルダ

この3つ。

もし、基本的なScssの書き方が分からないという場合は、こちらの記事を始めに見てみるのもいいかも。

【Sass, Scssでコーディング】基本的な書き方からメリットを簡単に

それではまずは、HTML部分から、

// HTML

<!DOCTYPE html>
<html lang="ja">
<head>
	<meta charset="UTF-8">
	<title>Sass簡単チュートリアル</title>
	<link rel="stylesheet" href="css/style.css">
</head>

<body>

	<header>
		<h1>ヘッダー H1<span>!</span></h1>
		<h2>ヘッダー H2</h2>
		<h3>ヘッダー H3</h3>
	</header>

	<div class="main">
		<h1>真ん中 H1<span>!</span></h1>
		<h2>真ん中 H2</h2>
		<h3>真ん中 H3</h3>
	</div>

	<footer>
		<h1>フッター H1<span>!</span></h1>
		<h2>フッター H2</h2>
		<h3>フッター H3</h3>
	</footer>

</body>

</html>

そしてCSS部分(今回はSCSS)はこんな感じ。

// 全体的なSCSS

body {
	margin: 0;

	h1, h2, h3 {
		margin: 0;
	}
}

header {

	height: 33vh;

	h1 {
		color: red;

		span {
			color: purple;
		}
	}

	h2 {
		color: green;
	}

	h3 {
		color: yellow;
	}

}

.main {

	height: 33vh;

	h1 {
		color: blue;

		span {
			color: yellow;
		}
	}

	h2 {
		color: white;
	}

	h3 {
		color: red;
	}

}

footer {

	height: 33vh;

	h1 {
		color: green;

		span {
			color: white;
		}
	}

	h2 {
		color: purple;
	}

	h3 {
		color: black;
	}

}

ファイルを分ける

これら2つのファイルがそれぞれ出来上がったら「style.scss」を、

_header.scss // ヘッダー部分専用のSCSSファイル
_main.scss // 真ん中部分専用のSCSSファイル
_footer.scss // フッター部分専用のSCSSファイル
_color.scss // 変数によく使う色をまとめたSCSSファイル

こんな感じで分けていく。

「_header.scss」に関しては、style.scssのヘッダー部分を切り取って貼り付ける。

// _header.scss

header {

	height: 33vh;

	h1 {
		color: yellow;

		span {
			color: red;
		}
	}

	h2 {
		color: green;
	}

	h3 {
		color: green;
	}

}

「_main.scss」「_footer.scss」も同じように、style.scssから必要な部分を切り取って貼り付け。

// _main.scss - style.scssの中心部分を切り取って貼り付ける。

.main {

	height: 33vh;

	h1 {
		color: blue;

		span {
			color: yellow;
		}
	}

	h2 {
		color: blue;
	}

	h3 {
		color: red;
	}

}
// _footer.scss - style.scssのフッター部分を切り取って貼り付ける。

footer {

	height: 33vh;

	h1 {
		color: purple;

		span {
			color: white;
		}
	}

	h2 {
		color: white;
	}

	h3 {
		color: purple;
	}

}

そうすると、最終的に「style.scss」の中身はこんな感じになる。

// style.scss

body {
	margin: 0;

	h1, h2, h3 {
		margin: 0;
	}
}

と、こんな感じでファイルを分割、

次に、今回は変数を扱う練習も兼ねて「_color.scss」の変数に、それぞれの背景色の色の設定を保存する。

// _color.scss - 色の設定の保存はここにしておいて、後から呼び出す。

$HeaderColor: #99f; // 薄い青
$MainColor: #f9f; // 薄いピンク
$FooterColor: #9c3; // 薄い緑

それぞれのファイルの読み込み

ただ、この状態だと、まだ見た目は白黒のこんな感じで、HTMLしか表示されない。

なので、ヘッダー(上部)真ん中部分フッター(下部)それぞれのCSSを読み込むために、ここで使うのが、@import

@importを使って、ファイルを呼び出す。

// style.scss

@import "header.scss"; // ここでヘッダー部分のCSS(SCSS)を呼び出す。
@import "main.scss"; // ここで中心部分のCSS(SCSS)を呼び出す。
@import "footer.scss"; // ここでフッター部分のCSS(SCSS)を呼び出す。

body {
	margin: 0;

	h1, h2, h3 {
		margin: 0;
	}
}

ここまでいければこんな感じで、それぞれのCSSファイルを読み込む事が出来る。

ただ、このままだとまだ背景色が変わっていないので「_color.scss」に保存した色の設定を呼び出す。

「_header.scss」「_main.scss」「_footer.scss」では、それぞれ背景色を「_color.scss」の変数を呼び出して使っているので、

// _header.scss

@import "color.scss"; // ここで、_color.scssの設定を使うように呼び出す。

header {

	height: 33vh;
	background-color: $HeaderColor; // ここで背景色の設定(色は変数名で呼び出し)

	h1 {
		color: red;

		span {
			color: purple;
		}
	}

	h2 {
		color: green;
	}

	h3 {
		color: yellow;
	}

}

「_main.scss」「_footer.scss」も同じように、@import “color.scss”; でファイルの設定を読み込んで、

background-color: $〇〇(変数名); という感じで、変数名で色を呼び出して使う。

そうする事によって、それぞれの背景画像が変わるはず。

これでファイルの読み込み方の、基本的なやり方の説明は終わり。

最後に

Sass(SCSS)はコーダーなら必須スキルで、今はこれらを使っていない会社の方が少ない位。

使い方としては、ヘッダー用のCSS、フッター用のCSSと分けておけば後で編集、管理をするのが楽だし、

例えば、

・_header.scss
・_main.scss
・_blog.scss
・_contact.scss
・_footer.scss

という風に使い分けてもいいし、

settingsフォルダを作って、その中に、

・_color.scss
・_font.scss

こんな感じで整理してファイルを別で作ってみてもOK。

ファイルを細かく分ける事によって、後から編集がしやすくなるし、他人が見ても比較的分かりやすくなる、

CSSが、上から下までむやみにダラダラと長くならずに済むし、慣れればいい事づくめで、とてもおすすめ。

終わり。

コメント

タイトルとURLをコピーしました