オイシックスのcss、Sass化の手順
最後にオイシックスのcssファイルをSass化する手順の一部をご紹介します。
初めにcssファイルを逆コンパイルしてscssファイルを作成します。コマンドラインから以下のように記載してscssファイルを作成します。
sass-convert --from css 逆コンパイルされるcssの名前 --to scss 逆コンパイルされたscssファイルの名前
現在オイシックスのサイトで利用されているcssの一部をSass化した様子をご紹介します。「sass-convert --from css base.css --to scss base.scss」と入力してbase.cssからbase.scssを作成しました。
/* 共通 */ * {scrollbar-base-color:#cccccc; scrollbar-track-color:#ffffff; scrollbar-face-color:#cccccc; scrollbar-arrow-color:#000000; scrollbar-3dlight-color:#ffffff; scrollbar-darkshadow-color:#ffffff; scrollbar-highlight-color:#ffffff; scrollbar-shadow-color:#ffffff;} *,h1,h2,h3,h4,h5,h6,input,form,ul,li,dl,dt,dd,hr,td,th,table,div {margin:0; padding:0;} div,table {font-family:"MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size:12px; line-height:1.3em;} p {font-family:"MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size:12px; line-height:1.3em;} ul {list-style-type:none;} ul li {list-style-type:none; margin:0 0 5px 0;} ol {list-style-position:outside; margin:0 0 0 30px;} img {border:none;} div.float_left,a.float_left {float:left;} div.float_right,a.float_right {float:right;} .m-rgt05 {margin-right:5px;} .m-rgt10 {margin-right:10px;} .m-btm05 {margin-bottom:5px;} .m-btm10 {margin-bottom:10px;} .m-btm15 {margin-bottom:15px;} .m-btm20 {margin-bottom:20px;} .m-btm25 {margin-bottom:25px;} .m-btm30 {margin-bottom:30px;} /* 全体 */ body {font-family:"MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size:12px; line-height:1.3em; color:#333333; background-color:#ffffff; overflow-y:auto;} div.head {width:100%; margin:1px 0 0 0;_margin:0; padding:0; text-align:center; background:url(/g6/shared/head/image/header_mat201109.png) repeat-x;} div.center {padding:10px 20px 5px 0px; overflow:auto; border:solid; border-width:0;} div.center2 {padding:10px 20px 5px 0px; overflow:auto; border:solid; border-width:0; float:right; overflow:auto;} /* [Content] -----------------------------------------------------------------------------*/ div.ma_center2 {padding:10px 20px 5px 0px; overflow:auto; border:solid; border-width:0 ;float:right; overflow:auto; background:#900;} div.left {line-height:17px; width:160px; float:left; overflow-x:hidden; overflow-y:auto; background-color:#ffffff; /*IE6でmarginが2倍になるバグ対策*/display:inline;} div.right {width:145px; display:none; float:right; padding-top:0; overflow:auto;} div.sidenavi2 {overflow: auto;} .pointer{cursor: pointer;} #wrapper,#div_zentai {margin:0 auto; height:auto;} #wrapper_1column,div.bg_middle {width:100%; height:100%;} #overlay {top:85px;_top:85px;} .wrap,#top_bar,#global_navi {width:950px;} .wrap {text-align:left; margin:0 auto;} 逆コンパイルされたbase.scss /* 共通 */ * { scrollbar-base-color: #cccccc; scrollbar-track-color: #ffffff; scrollbar-face-color: #cccccc; scrollbar-arrow-color: #000000; scrollbar-3dlight-color: #ffffff; scrollbar-darkshadow-color: #ffffff; scrollbar-highlight-color: #ffffff; scrollbar-shadow-color: #ffffff; margin: 0; padding: 0; } h1, h2, h3, h4, h5, h6, input, form, ul, li, dl, dt, dd, hr, td, th, table { margin: 0; padding: 0; } div { margin: 0; padding: 0; font-family: "MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size: 12px; line-height: 1.3em; } table, p { font-family: "MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size: 12px; line-height: 1.3em; } ul { list-style-type: none; li { list-style-type: none; margin: 0 0 5px 0; } } ol { list-style-position: outside; margin: 0 0 0 30px; } img { border: none; } div.float_left, a.float_left { float: left; } div.float_right, a.float_right { float: right; } .m-rgt05 { margin-right: 5px; } .m-rgt10 { margin-right: 10px; } .m-btm05 { margin-bottom: 5px; } .m-btm10 { margin-bottom: 10px; } .m-btm15 { margin-bottom: 15px; } .m-btm20 { margin-bottom: 20px; } .m-btm25 { margin-bottom: 25px; } .m-btm30 { margin-bottom: 30px; } /* 全体 */ body { font-family: "MS Pゴシック","mono-space","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Osaka"; font-size: 12px; line-height: 1.3em; color: #333333; background-color: #ffffff; overflow-y: auto; } div { &.head { width: 100%; margin: 1px 0 0 0; _margin: 0; padding: 0; text-align: center; background: url(/g6/shared/head/image/header_mat201109.png) repeat-x; } &.center { padding: 10px 20px 5px 0px; overflow: auto; border: solid; border-width: 0; } &.center2 { padding: 10px 20px 5px 0px; overflow: auto; border: solid; border-width: 0; float: right; overflow: auto; } &.ma_center2 { padding: 10px 20px 5px 0px; overflow: auto; border: solid; border-width: 0; float: right; overflow: auto; background: #900; } &.left { line-height: 17px; width: 160px; float: left; overflow-x: hidden; overflow-y: auto; background-color: #ffffff; /*IE6でmarginが2倍になるバグ対策*/ display: inline; } &.right { width: 145px; display: none; float: right; padding-top: 0; overflow: auto; } &.sidenavi2 { overflow: auto; } } /* [Content] -----------------------------------------------------------------------------*/ .pointer { cursor: pointer; } #wrapper, #div_zentai { margin: 0 auto; height: auto; } #wrapper_1column, div.bg_middle { width: 100%; height: 100%; } #overlay { top: 85px; _top: 85px; } .wrap, #top_bar, #global_navi { width: 950px; } .wrap { text-align: left; margin: 0 auto; }
逆コンパイルした後のSassファイルの内容を見ると、上記で説明した「変数」や「継承」と言った処理が記載されていません。次回以降で、「変数」や「継承」を利用して、分かりやすく、かつ運用しやすいコードに書き換えていく様子をご紹介したいと思います。
まとめ
今回はSassの機能を紹介しました。次回は、Compassの導入について触れていきたいと思います。