【rails】CSSの読み込みについて
はじめに
CSSの読み込み
ビューへのcssの読み込みについては、デフォルトで次のように記載されています。
<%= stylesheet_link_tag 'application', media: 'all' %>
つまり共通ビューであるapplication.html.erb
でapplication.css
ファイルを読み込んでいます。
そしてapplication.css
にはデフォルトで次のような記載があります。
*= require_tree . *= require_self
ちなみに「.」は引数でカレントディレクトリ、つまりstylesheets以下のcssをまとめて読み込むようになります。
後者はapplicatiton.css自体を読み込みます。
しかし前者の場合では、ファイルを読み込む順番がファイル名のアルファベット順(辞書順)になってしまいます。
例えば、変数など定義して複数のCSSで使っていた場合、読み込む順番によって弊害が生じます。
他にも、読み込む順番を自分で指定したい場合もあります。
そこで「@import」を使用して、明示的にCSSを読み込むことで解決できます。
例えば、test.css
というファイルをsample.css
の前に読み込みたい場合は、
@import 'test'; @import 'sample'; # 拡張子は不要です
また、application.scssのように、どのファイルを読み込むのかまとめているファイルのことをマニフェストファイルと呼びます。