Code Beautifier

MdN発行のムック「スタイルシート表現デザイン帖」はよい本だと思う。

ここに、先日の「Browsershots」と並んで、「code beautifier」というオンラインウェアが紹介されていた(リンクはこちら)。

トップページ(下図)上に「CSS Formatter and Optimiser」と書かれていて、CSSの最適化や圧縮(コンプレッサー)ができるサイトである。

ここに、CSSを直打ちするか・CSSファイルのURLを入力して、最適化オプションを指定して「Process CSS」というボタンを押すだけでよい。


ここでは、以下のCSS(先のログ「W3C CSS Validation Service」で利用したサンプル)を読み込ませてみた。

* {
	margin: 0;
	padding: 0;
}

body {
	margin: 20px 0 0 0;
	background: #EEE;
	color: #000;
	line-height: 1.5;
	text-align: center;
	font-family: Tahoma,sans-serif,monospace;
}

/*
Scroll Barを常に表示。
コンテンツのボリュームによって、スタイルが崩れないように。
*/
html {
	overflow-y: scroll;
}

h1,h2,h3,h4,h5,h6,p,ul,ol {
	margin: 0 0 0 10px;
}

ul,ol {
	padding: 0 0 0 +20px;
}

img {
	border: 0;
}


このCSSでは、

ul,ol {
	padding: 0 0 0 +20px;
}

のプラス(+)は不要であるし、インデントも不要であって、これらは伝送速度に影響する要因でもある(細かいことを言えば、:の後のスペース、改行コードも不要である)。


以下が、デフォルトのオプションでCode Buautifierを通した結果。
(改行コードを除き)上に書いたような「無駄」がキレイに取り除かれている。

* {
margin:0;
padding:0;
}

body {
background:#EEE;
color:#000;
line-height:1.5;
text-align:center;
font-family:Tahoma,sans-serif,monospace;
margin:20px 0 0;
}

html {
overflow-y:scroll;
}

h1,h2,h3,h4,h5,h6,p,ul,ol {
margin:0 0 0 10px;
}

ul,ol {
padding:0 0 0 20px;
}

img {
border:0;
}


実行後の画面イメージは下図。
圧縮率や、「なにをどうした」ということがMessage領域に示される。
overflow-yがCSS2.1にないぞ、ということも知らせてくれている。

ここで、「Select」、「Copy to Clipboard」は、結果をコピペするための機能。前者をクリックすると、結果のCSSが選択される(CSS全体をドラッグしたのと同じ)。


最適化オプションは、「Process CSS」を押す前に画面右で選択できる。
最上部にある「Compression(圧縮)」オプションのデフォルトは、Standardとなっていて、可読性とサイズをバランスする。
上の例で改行コードが残されていたのは、「可読性」のためである。

このオプションをHighest(可読性は無視して、最小のサイズにする)と、改行コードが取り除かれた、いわゆる「圧縮されたCSS」となる。