【PR】を含みます。

フロントエンド

【CSS】プロパティの記述順序の決め方|おすすめの並び順を解説

CSS プロパティの記述順序の決め方|おすすめの並び順を解説

CSSを書いていて、「なんとなく書いたけど、あとから見返したら読みにくい…」と感じたことはありませんか?

CSSは自由度が高いぶん、同じ見た目でも書き方が人によって変わりやすく、プロパティの並び方がバラバラだと修正やレビューがしづらくなります。

結論からいうと、CSSのプロパティ順序に絶対の正解はありません。ただし、チームやプロジェクト内で一貫したルールを決めることはとても重要です。

迷った場合は、意味ごとに整理しやすいグループ分類順から始めるのがおすすめです。

この記事では、CSSのプロパティの記述順序について、代表的な並べ方のルール、メリット・デメリット、実務での選び方、注意点までわかりやすく解説します。

CSSのプロパティ順序に正解はある?

まず前提として、CSSのプロパティ順序に唯一の正解はありません。

ただし、順番を毎回気分で変えてしまうと、あとから見返したときに探しにくくなり、修正漏れやレビューのしづらさにつながります。

そのため、重要なのは「どの順番が絶対に正しいか」ではなく、「どの順番で統一するか」です。

個人開発でもチーム開発でも、ルールを決めておくとコードの見通しがかなり良くなります。

プロパティ順序をルールとして決めるだけでなく、実際にLintで統一したい場合は以下の記事も参考になります。

あわせて読む
Stylelint CSSプロパティの順番をLintで統一する方法|stylelint-orderの設定例も解説

【Stylelint】CSSプロパティの順番をLintで統一する方法|stylelint-orderの設定例も解説

CSSのプロパティ順序は、チームや案件ごとにルールが分かれやすいポイントです。 自分で意識して並び順をそろえることもできますが、毎回手作業で合わせるのは大変です。 結論からいうと、CSSプロパティの順 ...

CSSのプロパティ順序が重要な理由

CSSは自由度が高いため、同じ見た目でもさまざまな書き方が可能です。

しかし、以下のような理由からプロパティの順序を統一することが重要です。

可読性の向上同じルールで書かれていれば、自分のコードも他人のコードも追いやすくなります。
保守性の向上必要なプロパティを探しやすくなり、修正漏れを防ぎやすくなります。
レビューしやすい並びがそろっていると差分が見やすくなり、レビューの負担が減ります。
チーム開発で統一しやすい誰が書いても似た形になるため、属人化しにくくなります。
意図しない混在を防ぎやすい関連するプロパティを近くに置くことで、設定の抜け漏れや重複に気づきやすくなります。

CSSプロパティの記述順序のルール3パターン

代表的なルールは、以下の3パターンです。

私は実務でグループ分類順を採用することが多いですが、プロジェクトによってはアルファベット順や独自ルールが使われることもあります。

1. グループ分類順

もっともよく使われる方法のひとつで、プロパティの意味ごとにグループ分けして並べる方法です。

なお、グループの分け方そのものに絶対の正解があるわけではありません。

大切なのは、チームやプロジェクト内で同じ考え方にそろえることです。

以下は一例ですが、私は次のような順番で整理することが多いです。

/* 1. レイアウト・表示モード */
display
visibility
position
z-index
inset
top
right
bottom
left
float
clear

/* 2. Flex / Grid */
flex
flex-grow
flex-shrink
flex-basis
flex-flow
flex-direction
flex-wrap
justify-content
align-items
align-content
align-self
justify-self
order
grid
grid-template
grid-template-areas
grid-template-columns
grid-template-rows
grid-auto-flow
grid-auto-columns
grid-auto-rows
grid-area
place-items
place-content
gap
row-gap
column-gap

/* 3. ボックスサイズ */
box-sizing
aspect-ratio
width
min-width
max-width
height
min-height
max-height
inline-size
block-size

/* 4. 余白 */
margin
margin-top
margin-right
margin-bottom
margin-left
margin-block
margin-inline
padding
padding-top
padding-right
padding-bottom
padding-left
padding-block
padding-inline

/* 5. スクロール・オーバーフロー */
overflow
overflow-x
overflow-y
overflow-anchor
clip
resize

/* 6. リスト・テーブル・置換要素 */
list-style
table-layout
border-collapse
object-fit
object-position
vertical-align

/* 7. 文字 */
font
font-family
font-size
font-weight
font-style
font-variant
font-feature-settings
line-height
letter-spacing
text-align
text-indent
text-decoration
text-decoration-color
text-decoration-thickness
text-underline-offset
white-space
text-overflow
word-break
overflow-wrap
color

/* 8. 背景・境界線・装飾 */
background
background-color
background-image
background-position
background-size
background-repeat
border
border-width
border-style
border-color
border-radius
outline
content
opacity
box-shadow
filter

/* 9. アニメーション・変化 */
cursor
pointer-events
user-select
transform
transform-box
transform-style
backface-visibility
transition
animation

実際に書くと、次のようになります。

.card {
  display: flex;
  align-items: center;
  gap: 16px;

  width: 100%;

  margin-top: 24px;
  padding: 16px;

  font-size: 16px;
  line-height: 1.6;
  color: #333;

  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;

  transition: box-shadow 0.3s;
}

すべてのプロパティを毎回使う必要はありませんが、よく使うものをあらかじめ整理しておくと、ルールとして運用しやすくなります。

このような並び順を手作業ではなく仕組みで統一したい場合は、Stylelintでルール化しておくと管理しやすくなります。

あわせて読む
Stylelint CSSプロパティの順番をLintで統一する方法|stylelint-orderの設定例も解説

【Stylelint】CSSプロパティの順番をLintで統一する方法|stylelint-orderの設定例も解説

CSSのプロパティ順序は、チームや案件ごとにルールが分かれやすいポイントです。 自分で意識して並び順をそろえることもできますが、毎回手作業で合わせるのは大変です。 結論からいうと、CSSプロパティの順 ...

2. アルファベット順

プロパティ名をA〜Z順に並べる方法です。

意味で分類するのではなく、機械的なルールでそろえるため、ツールや自動整形との相性が良いのが特徴です。

.selector {
  background: #eee;
  border: 1px solid #ccc;
  color: #333;
  display: block;
  margin: 20px;
  padding: 10px;
}

メリット:機械的に統一しやすい、誰が書いても同じ順番になりやすい、差分が安定しやすい

デメリット:意味のつながりが見えにくく、読むときに少し追いづらいことがある

3. 独自ルール

「グループ分類順をベースにしつつ、よく使うプロパティを先に置く」など、自分やチームに合わせた順序を作る方法です。

既存のプロジェクト文化に合わせやすい一方で、ルールが曖昧だと人によって書き方が変わりやすくなります。

独自ルールを採用する場合は、ルールを明文化して共有することが大切です。

メリット:現場に合わせやすい、柔軟に運用できる

デメリット:ルールが共有されていないと属人化しやすい

どの記述順序を選ぶべきか

「結局どれを選べばいいのか」で迷った場合は、以下のように考えると選びやすくなります。

方式向いているケースメリット注意点
グループ分類順手作業でCSSを読むことが多い現場意味のまとまりで追いやすい人によって分類が少しぶれやすい
アルファベット順自動整形や厳密な統一を重視する現場機械的にそろえやすい意味のまとまりは見えにくい
独自ルール既存ルールや文化があるチーム現場に最適化しやすい共有不足だと属人化しやすい

迷ったら、まずはグループ分類順アルファベット順のどちらかを選び、プロジェクト全体で統一するのがおすすめです。

個人開発では自分が読みやすいルールでも問題ありませんが、チーム開発では「自分が書きやすい」よりも「みんなが追いやすい」ことを優先する方がうまくいきます。

CSSプロパティの順序を決めるときの注意点

プロパティ順序を決めるときは、次の点も意識しておくと実務で困りにくくなります。

  • 順序そのものに絶対の正解はない
  • 大切なのはチームやプロジェクト内で一貫していること
  • shorthand と個別プロパティの扱いを事前に決めておく
  • 順序だけでなく、命名ルールや設計もそろえるとさらに読みやすくなる

shorthandと個別プロパティの扱いをそろえる

たとえばmarginmargin-topbackgroundbackground-colorのように、まとめて書けるものと個別指定できるものがあります。

この扱いが人によってバラバラだと、順序以前にコードが読みにくくなります。

「基本はshorthandを使う」「個別指定が必要なときだけ分ける」など、運用ルールもあわせて決めておくと安定します。

順序だけ整っていても読みやすくなるとは限らない

プロパティ順序が整っていても、クラス名がわかりにくかったり、セレクタが複雑すぎたりすると、結局読みづらいCSSになります。

そのため、実務ではプロパティ順序だけでなく、命名ルールやファイル構成も含めて整えることが大切です。

まとめ

CSSのプロパティ順序は地味に見えますが、コードの読みやすさや保守性に大きく影響するポイントです。

  • CSSのプロパティ順序に絶対の正解はない
  • 大切なのは、チームやプロジェクト内でルールを統一すること
  • 迷ったら、意味ごとに整理しやすいグループ分類順から始めるのがおすすめ
  • 自動整形や機械的な統一を重視するなら、アルファベット順も有力

まずは小さなルールからでもよいので、プロジェクト内で「どう並べるか」を決めてみてください。

後から読む人が理解しやすいCSSを意識するだけで、コードの見通しはかなり良くなります。

HTMLやJavaScriptの命名ルール、属性の順番については、以下の記事で解説しています。

あわせて読む
備忘録・現役エンジニアの実例 HTMLとJavaScriptの命名ルールと属性の順番

【備忘録】HTMLとJavaScriptの命名ルールと属性の順番【現役エンジニアの実例】

HTMLやJavaScriptの命名規則に迷うこと、ありませんか? 本記事では、現役エンジニアである私が実際に使っている「命名ルール」と「属性の並び順」について、備忘録としてまとめました。 CSSのプ ...

-フロントエンド
-