# CSSしたい(`html_css_files`) ```python # config.py html_static_path = ["_static"] html_css_files = [ # "ファイル名", "custom.css", ] ``` `html_css_files`でカスタムCSSを追加できます。 ファイル名は`html_static_path`に設定したディレクトリからの相対パスにします。 ```python html_css_files = [ "css/heading.css", # 見出し用 "css/font.css", # フォント用 ] ``` CSSファイルは複数指定できます。 その場合、リストに記述した順番で読み込まれます。 用途別にファイルを分割してもよいと思います。 ## メディアクエリしたい ```python html_css_files = [ # ("ファイル名", {"media": "メディアクエリの種類"}), ("print.css", {"media": "print"}), ] ``` ``tuple``形式で[メディアクエリー](https://developer.mozilla.org/ja/docs/Learn/CSS/CSS_layout/Media_queries)を指定できます。 メディアクエリの種類は``all``(すべて)、``print``(印刷)、``screen``(画面)、``speech``(音声合成)から選択します。 :::{seealso} 出力される[linkタグ(外部ソースへのリンク要素)](https://developer.mozilla.org/ja/docs/Web/HTML/Element/link)は次のようになります。 ```html ``` ::: ## レイヤーしたい ```python # conf.py html_css_files = [ "custom.css", ] ``` `custom.css`とCSSのレイヤー機能(`@layer`)と組み合わせることで、スタイルを柔軟に制御できます。 ```css /* custom.css */ /* @import は custom.css からの相対パス */ @import url("reset.css") layer(reset); @import url("base.css") layer(base); @import url("layout.css") layer(layout); @import url("theme.css") layer(theme); @import url("components.css") layer(components); @import url("overrides.css") layer(overrides); /* レイヤーの優先度 : 低 -> 高 */ @layer reset, base, layout, theme, components, overrides ``` このサンプルでは、`custom.css`の中でCSSファイル`@import`しています。 それぞれのファイルの内容は[CSSの@layer](../html/css-layer.md)を参照してください。 ```console $ tree docs/ |-- conf.py |-- _static/ |-- custom.css |-- reset.css |-- base.css |-- layout.css |-- theme.css |-- components.css |-- overrides.css ``` `_static`ディレクトリの中に、それぞれのCSSを配置しま す。 CSSファイルの中身は空でも問題ありません。 :::{note} CSSファイルの中身が空でも問題ありませんが、 ファイルがない場合はエラーになります。 :::