未経験からのフルスタックエンジニア

スキルをつけよう!未経験からフリーランスエンジニアへの成長記録

【Haml】部分テンプレートのCSSを特定ページのみで変える方法~Rails・Haml・CSS~

学べること

以下の画像の中で、ヘッダーは部分テンプレートを使用しています。
1枚目の表示になるように部分テンプレートを作成した場合、2枚目の表示のために部分テンプレートを作り直したり、CSSファイルを作成するのは面倒だと思います。

Image from Gyazo Image from Gyazo

そこで、すでにclassやidが宣言されているタグのcssプロパティを、特定のページ(hamlファイル)のみで変更する方法があります。

styleタグ

HTMLのタグにstyleタグというものがあります。

これは、htmlファイルに直接スタイルシートの内容を書くためのタグです。
これを用いれば、特定のページのみでcssの微調整が可能です。

<style>
p.sample {font-weight:bold; color:orange;}
</style>
<p class="sample">
スタイルタグ
</p>

Hamlでの書き方

:css
   p.sample {
      font-weight: bold;
      color: orange;
   }
%p.sample  スタイルタグ

まとめ

上記の例ではわかりにくいかと思いますが、部分テンプレート(Railsなので"=render"で読み込むもの)に対しても同様の書き方で、cssの上書きが可能です。

「部分テンプレートの一部だけスタイルを変えたい!」という時に活用してみてください!