2015-07-17
サイトデザインの調整を効率的におこなう一つの答え
WEBサイトを作っていく上でそんなこと言ってはダメなのでしょうが
私はデザインが苦手です。
個人的な好みでの、サイトの見た目が「好き」「嫌い」は判断できますが
デザインが「良い」「悪い」はよくわかりません。
なので、日々デザイナーに指摘されながら調整をしております。
でも、スタイルシートを作り込んだ後に、
「あと、少し右に。」
「このページの見出しは上にアキを広く。」
などと指摘されると、調整がめんどくさいこともあるのです。
そんなめんどくさい状態が続いたときにたどり着いたある一つの答え。
「marginとpaddingを上書きすればいいだけやん。」
「コンポーネント単位でクラスを作ろうなんて単なるエゴじゃないか。」
「ソースなんて私しか興味ないはずだ…」
「100pxぐらいまで1pxずつ調整できるmarginとpaddingのクラスを作るんだ!」
神が降りてきました。
ということで調整用のスタイルシートを書いてみました。
CSSで書くと無駄に800行(「上下左右」×「margin、padding」×100)になるんでCSSプリプロセッサを使ってSCSSで記述してみました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
@for $i from 0 through 100 { .mt#{$i} { margin-top: #{$i}px; } .mr#{$i} { margin-right: #{$i}px; } .mb#{$i} { margin-bottom: #{$i}px; } .ml#{$i} { margin-left: #{$i}px; } .pt#{$i} { padding-top: #{$i}px; } .pr#{$i} { padding-right: #{$i}px; } .pb#{$i} { padding-bottom: #{$i}px; } .pl#{$i} { padding-left: #{$i}px; } } |
書き出すとこんな感じ
1 2 3 4 5 6 7 8 9 10 |
.mt1 { margin-top: 1px; } .mr1 { margin-right: 1px; } .mb1 { margin-bottom: 1px; } .ml1 { margin-left: 1px; } .pt1 { padding-top: 1px; } .pr1 { padding-right: 1px; } .pb1 { padding-bottom: 1px; } .pl1 { padding-left: 1px; } /* …以下略 */ |
使い方:
Xを指定したい数値に置き換えます。
1 2 3 4 5 6 7 8 9 |
.mtX :上方向にマージンをXpx .mrX :右方向にマージンをXpx .mbX :下方向にマージンをXpx .mlX :左方向にマージンをXpx .ptX :上方向にパディングをXpx .prX :右方向にパディングをXpx .pbX :下方向にパディングをXpx .plX :左方向にパディングをXpx |
これで、「右にもっとアキを」と言われれば
1 2 3 |
<div class=”hogehoge-box mr100”> Hogehoge1 </div> |
「上に余白を」と言われれば
1 2 3 |
<div class=”hogehoge-box pt50”> Hogehoge1 </div> |
で調整可能になりました。楽ちん!
言い訳としてIT技術を語ります。
IT技術ってやっぱり、
めんどくさいことをどうやって簡単で便利にしていくかというのが
目的の一つなんだろうと榊原は考えています。