Sass @import の理解しよう。CSSの@importとの違いも解説。
SCSSファイルで通常のCSSファイルをインポートする方法
インポート方法
相対パスを使用する
@import "style.css";
この例では、style.css
ファイルが現在のSCSSファイルと同じディレクトリにあると想定しています。
@import "/path/to/style.css";
Sassの構文を使用する
@import '~@/style.css';
オプションを使用する
@import
ルールには、いくつかのオプションがあります。
media
オプション: インポートするCSSファイルを特定のメディアクエリに限定できます。once
オプション: インポートされたCSSファイルが一度だけ読み込まれるように指定できます。
例:
@import "style.css" (min-width: 768px);
@import "print.css" once;
SCSSファイル内の変数を使用する
@import
ルールのパスにSCSSファイル内の変数を使用することができます。
$style-file: "style.css";
@import $style-file;
インポート時の注意点
- インポートするCSSファイルが存在するかどうかを確認する必要があります。
- 循環参照が発生しないように注意する必要があります。
- インポートするCSSファイルのスタイルがSCSSファイルのスタイルと競合しないように注意する必要があります。
@import
ルールを使用することで、SCSSファイルで通常のCSSファイルを簡単にインポートすることができます。インポート方法はいくつかあるので、プロジェクトのニーズに合わせて最適な方法を選択してください。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>サンプルコード</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>サンプル</h1>
<p>これはサンプルコードです。</p>
</body>
</html>
@import "style.css";
body {
font-family: sans-serif;
font-size: 16px;
}
h1 {
color: red;
}
p {
margin-bottom: 10px;
}
このコードを実行すると、style.css
ファイルのスタイルと main.scss
ファイルのスタイルが組み合わされて、ブラウザに表示されます。
SCSSファイルで通常のCSSファイルをインポートするその他の方法
@use
ルールは、Sass 3.0 で導入された新しい機能です。@import
ルールよりも効率的で、モジュール化に適しています。
@use "style";
body {
@include style.mixin;
}
この例では、style.css
ファイルの内容が style
モジュールとしてインポートされ、style.mixin
ミックスインが body
セレクタで使用されています。
require
ディレクティブは、Railsなどのフレームワークで使用されます。
# config/application.css
*= require_tree .
この例では、app/assets/stylesheets
ディレクトリ内のすべてのCSSファイルが読み込まれます。
ファイルインクルードは、PHPなどの言語で使用されます。
<?php include "style.css"; ?>
<h1>サンプル</h1>
<p>これはサンプルコードです。</p>
この例では、style.css
ファイルの内容が現在のファイルに挿入されます。
どの方法を使うべきかは、プロジェクトのニーズと使用している言語によって異なります。
- Sass 3.0 を使用している場合は、
@use
ルールを使うのがおすすめです。 - Railsなどのフレームワークを使用している場合は、
require
ディレクティブを使うのがおすすめです。 - それ以外の場合は、
@import
ルールを使うのがおすすめです。
SCSSファイルで通常のCSSファイルをインポートするには、いくつかの方法があります。どの方法を使うべきかは、プロジェクトのニーズと使用している言語によって異なります。
css sass