# インポートしたい(`@import`) ```css /* style.css の先頭 */ @import url("reset.css"); @import url("base.css"); @import url("components.css"); ``` `@import`ルールで、CSSファイルの中から別のCSSファイルを読み込めます。 1つのCSSを機能ごとに分割して管理したいときに使います。 `@import`はCSSファイルの**いちばん先頭**(`@charset`の直後)に書く必要があり、 途中や末尾に書くと無視されます。 ## 条件をつけて読み込みたい ```css @import url("print.css") print; @import url("wide.css") (min-width: 1024px); ``` `@import`のあとにメディアクエリを書くと、その条件のときだけファイルを読み込みます。 - `print` … 印刷時だけ - `(min-width: 1024px)` … 画面幅が1024px以上のときだけ ## レイヤーに入れて読み込みたい(`layer`) ```css @import url("reset.css") layer(reset); @import url("theme.css") layer(theme); ``` `layer()`を付けると、読み込んだCSSをカスケードレイヤー(`@layer`)に入れられます。 フレームワークのCSSを低い優先度のレイヤーに入れておけば、 自分のCSSで詳細度を気にせず上書きできます。 :::{seealso} - [](./css-layer.md) ::: ## `` との違い ```html ``` 外部CSSの読み込みは、HTMLの``タグでもできます。 `@import`はCSSを1つずつ順番に読み込むため、ファイル数が多いと表示が遅くなりがちです。 本番のサイトでは``で読み込むか、ビルドツールで1ファイルにまとめることが多く、 `@import`は開発中の分割管理に向いています。 ## リファレンス - [@import](https://developer.mozilla.org/ja/docs/Web/CSS/@import) - [@layer](https://developer.mozilla.org/ja/docs/Web/CSS/@layer) - [link](https://developer.mozilla.org/ja/docs/Web/HTML/Reference/Elements/link)