piapia123
ja

CSS の整形と圧縮

整形

処理はすべてブラウザ内で完結します。データは送信されません

入力
出力

1行に圧縮されたスタイルシートを展開します:各ルールブロックの宣言はそれぞれ別の行に、セレクタのリストはカンマごとに改行し、@media とネストしたルールは1段ずつ深くインデントし、空のルールは1行にまとめます。圧縮モードは逆に、構造上の位置にある空白だけを削除し、} の前の余分なセミコロンも落とします。一方で margin: 0 auto の中の空白や a :hover のコロンの前の空白は意味を持つので、削除するとスタイルが壊れてしまいます —— そのため一切そのままにします。

機能

  • ルールブロックを展開:セレクタが1行、宣言は1行ずつ、} はセレクタと桁を揃えます
  • セレクタのリストはカンマで改行。値の中のカンマ(フォントのリスト、rgba())はその場に残します
  • 空のルールは1行にまとめます(a {})
  • 宣言のコロンは color: red のように統一し、セレクタの擬似クラスのコロン(&:hover、a:hover)には空白を入れません
  • 文字列・コメント・url() の中の構造文字は判断に加わりません:content: "}" や data URI の中のセミコロンがルールを壊すことはありません
  • data URI はひとまとまりとして扱い、中のセミコロンで宣言が2つに割れることはありません
  • 圧縮モードは構造上の空白、} の前の余分なセミコロン、通常のコメントを削除します
  • /*! ... */ 形式の著作権コメントは残します
  • 構文チェックはしません:括弧が対応していない場合もエラーにせず、できる範囲でインデントします

使い方

  1. CSS を入力欄に貼り付けます
  2. 処理方法とインデントを選びます
  3. Ctrl/⌘ + Enter を押すか「実行」をクリックします
  4. 「コピー」で結果を取り出せます

よくある質問

圧縮すると margin: 0 auto の空白も消えますか?
いいえ。削除されるのは { } ; , : の前後の空白だけです。0 auto は2つの値で、空白が1つ足りないと宣言全体が無効になります —— こうした空白は常に残します。
a :hover は a:hover に圧縮されますか?
いいえ。セレクタのコロンの前の空白は子孫結合子で、a :hover と a:hover はまったく別のルールです。圧縮してもそのまま残します。
ネスト記法(CSS Nesting)に対応していますか?
対応しています。&:hover のコロンと宣言のコロンは同じ判定で区別します:後ろに ; か } が続くコロンだけを宣言のコロンとして扱うので、セレクタが &: hover のような不正な形になることはありません。
CSS は送信されますか?
いいえ。処理はすべてブラウザのメモリ内で完結し、ページはリクエストを一切送りません。オフラインでも使えます。

関連ツール