8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CSS設計~FLOU~

Posted at

#はじめに
今まで命名規則にBEMを取り入れていました。ただ、scssファイルの分割等まではしておらず、、、。
それではいけないと、再度CSS設計を調べたのですが、何がいいのかわからず。 
現状のBEM思想をキープしながらFLOCSSのいいとこ取りをしているFLOUというものを教えてもらったので、備忘録です。

FLOUとは

FLOCSSのいいとこ取りをして、よりスマートな設計が可能なCSS設計手法の1つ。

FLOCSSとは

Foundation,Layout,Object(Component,Project,Utility)というレイヤーに分割することができ、これらに沿ってCSSを分類して書いていくCSS設計手法です。 
FLOCSSを使うことで 
・cssがコンポーネント化されるので、使い回したり修正をしたりしやすい
・MindBEMdingのネーミングルールによってクラスの役割を明確化できる
というメリットを得ることができる。
その一方で、どのレイヤーに記述すればいいのか混乱してしまい、メリットを存分に生かせないこともある。
このような混乱が少しでも減るようにと、FLOCSSのいいとこ取りをした、FLOUができた。

FLOCSSとは

FLOUの設計

Foundation,Layout,Object,Utilityの4レイヤーで構成される。

1.Foundation
reset.cssなどのブラウザデフォルトスタイルの初期化、ページのベーススタイル用のクラス。基本的にコードは追加しない。
foundation.scssに記述する。

2.Layout
要素の配置や、幅や高さを指定するクラス。それぞれの要素固有のスタイルを記述する。このレイヤーが一番更新度高い。
layout.scssに記述する。

3.Object
複数ページで使われる要素を定義するクラス。要素内で常に同様の振る舞いをするものに関してのみスタイルを定義する。
object.scssに記述する。

4.Utility
調整用のクラス。margin,padding,font-size,colorなど、細かい調整に必要なものに使用する。
utility.scssに記述する。

それぞれのクラスで記述したscssをstyle.scssでimportする。

ディレクトリ構造

scss
├── _foundation.scss
├── _layout.scss
├── _utility.scss
└── style.scss

終わりに

スマートなCSS設計の正解は人それぞれ、作りたいものそれぞれだと思います。
この設計以外にスマートで使いやすい設計方法をご存知の方は教えていただければと思います。

###参考
FLOCSSを扱いきれないあなたに

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?