FLOCSSを導入した
このホームページのCSSを見直してFLOCSSを導入した。
さまざまなCSSアーキテクチャが提唱されているけど、仕事でFLOCSSが採用されそうなので試しにやってみようということでやってみた。
ディレクトリ構成はこんな感じ。
stylesheets/
├── application.css
├── foundation
│ ├── _base.css
│ └── _variable.css
├── layout
│ └── _base.css
└── object
├── project
│ ├── _homepage.css
│ ├── _post.css
│ └── _posts.css
└── utility
└── _align.css
markdownを変換したHTMLにstyleを与えるという制約上、クラスを使ったstyleを定義しにくい。なので、componentっぽいものもprojectにすべて含めてしまっている。これでいいのかはまだ分かっていないので、他のプロジェクトでも導入して試行錯誤してみたい。
ついでなので、最近意識しているCSSの書き方を挙げておきたい。
-
font-size
,margin
,padding
では単位にrem
を使う。 -
margin-top
を使わない。一貫してmargin-bottom
を使うことで、シンプルにレイアウトを組むことができる。 -
margin-bottom
の値は<h1>
~<h6>
と<li>
を1
とすると、その他のブロック要素を2
にする。例えば、このブログでは以下のような感じにしている。
h1,
h2,
h3,
h4,
h5,
h6,
li {
margin-bottom: 1rem;
}
p,
ul,
ol,
pre,
table {
margin-bottom: 2rem;
}