blog

Hello Sketch 3 シリーズModular ScaleとVertical Rhythmを使ったタイポグラフィとレイアウト

    • Ryuichi Nonaka
    この記事は書かれてから1年以上経過しており、内容が古い場合があります。

    はじめに

    今まで何となく「このサイズで良いか」とレイアウトやフォントサイズ、マージンやパディングを決めていました。振り返ってみると、原則のないレイアウトやタイポグラフィはその時の気分でサイズを決めてしまい、運用していく中でスケールがバラバラ、統一感のないデザインになっていきます。

    気分でルールを決めるのではなく、しっかりとした原則に基づいてデザインを行えるようになるためにどのような原則にするべきか色々と調べてみることにしました。何か答えを示している記事ではないのであまり期待せず読んでもらえると嬉しいです。

    黄金比

    原則と言えば黄金比や白銀比などの貴金属比が有名ですね。黄金比は貴金属比の1つで1:(1+√5)/2 = 1:1.61803398875...で表されます。黄金比について下記のリンクを読んでいただくと理解が深まると思います。

    貴金属比以外にもコンポジションを考える上でこちらDesign Principles や以下の連載も参考になる。

    Modular Scale

    Modular Scaleとはある基準値に黄金比等の比率をかけ、タイポグラフィやレイアウトのスケールを決める手法です。例えば16px(1em)を基準値とし黄金比をかけていくとこのようなスケールとなります。

    Modular Scale

    177.424px (11.089em)
    109.656px (6.854em)
    67.773px (4.236em)
    41.887px (2.618em)
    25.888px (1.618em)
    16px (1em) 
    

    ちなみにBourbonにはModular Scaleを簡単に使うことができる関数がビルトインされており、Bourbon Neatのグリッドシステムにも使われています。

    Modular ScaleはBourbonでなくとも様々な環境で使えます。詳しくはmodularscale-sassを参照してください。

    Modular Scaleをタイポグラフィで使う

    Modular Scaleをタイポグラフィに活用すれば、文字のサイズで文の重要性を表し易くなりかつ美しいリズムができます。少し注意が必要な点として、フォントによってはModular Scaleを使ったサイズでは美しく見えない場合もあるため、フォントに合わせた調整が必要です。

    CSS properties that affect type rendering

    また、見出しのレベルをどの程度用意するかによって必要なスケールも変わってくるためタイポグラフィに関してのみ、黄金比以外の比率も柔軟に取り入れるのが良いと思います。

    Modular Scaleと合わせてVertical Rhythmも考える

    Modular Scaleと合わせて考えておきたいのがVertical Rhythm(Regular Rhythm)です。Vertical Rhythmは要素をリズミカルに配置するための手法の1つでFlowing RhythmやProgressive Rhythm(回転)があるようです。Vertical Rhythmは1行の高さを1つの単位として、縦のラインのリズムを作る手法です。ノートの罫線をイメージしてもらうとわかり易いと思います。要素やタイポグラフィの高さを罫線を基準にデザインすることで、デザインに感じる違和感を小さくし心地よさを感じさせることができます。

    Glidloverを使うとVertical Rhythmを気軽に試すことができます。

    Vertical Rhythm

    上記のGlidloverを使った例ではフォントサイズ16px(1em)、1行の高さ24px(1.5em)、スケール(Modular Scaleと同義)を黄金比で計算しています。CSSはこのようになっています。

    body {
      font-size: 16px;
      line-height: 24px;
      max-width: 760px;
      margin: 0 auto;
    }
    h1 {
      font-size: 68px;
      line-height: 72px;
      margin-top: 48px;
      margin-bottom: 24px;
    }
    h2 {
      font-size: 42px;
      line-height: 48px;
      margin-top: 48px;
      margin-bottom: 24px;
    }
    h3 {
      font-size: 26px;
      line-height: 48px;
      margin-top: 24px;
      margin-bottom: 24px;
    }
    h4 {
      font-size: 16px;
      line-height: 24px;
      margin-top: 24px;
      margin-bottom: 24px;
    }
    p, ul, ol, pre, table, blockquote {
      margin-top: 24px;
      margin-bottom: 24px;
    }
    

    手計算は大変ですからSassを使いましょう。Vertical RhythmはCompassであれば関数が用意されているのですぐに使えます。Compassに依存しないかたちでVertical Rhythmを使いたければこちらの記事が参考になります。

    Modular ScaleやVertical Rhythmをレイアウトに活かす

    要素の横幅や高さはデバイスサイズにより可変するためModular Scaleを適用するのが難しくなりますし、Modular Scaleを意識しすぎると本末転倒な場合もあります。基本的にはグリッドシステムを活用したり個別に黄金比を適用する方が良いでしょう。Modular Scaleを活用できる部分としてはマージンやパディング(余白部分)に活用することで統一感を出すことができます。加えて要素の高さをVertical Rhythmで構成することでレイアウトを整えることができます。

    Modular ScaleやVertical Rhythmの基準値

    では、Modular ScaleやVertical Rhythmの基準となる値はどう決めれば良いでしょうか。Webは8の倍数でできているがヒントになりそうです。8の倍数、フォントサイズの基準値としては8では小さすぎます。倍の16でどうでしょうか。16px、基準値としては有望そうに感じます。

    組み合わせて使ってみる

    8の倍数を基準にModular ScaleとVertical Rhythmを使ってみたいと思います。まずはデザインし易いように8px/16pxのグリッドガイドとそれを基準にしたレイアウトガイド(グリッドシステム)を用意します。

    まずはグリッドガイドを引いてみます。

    グリッドガイド

    それにレイアウトガイドを加えます。

    レイアウトガイド

    各デバイスサイズに合わせたアートボードを作るとこのようになります。

    アートボード

    レイアウトガイドを使ってグリッドをるとこのようになります。

    レイアウトガイド

    各アートボードのレイアウトガイド設定は下記のようになります。

    Desktop HD

    項目
    Prefix xl(Extra Large)
    Artboard Width 1600px
    Total width 1152px (1136px)
    Columns 12
    Gutter on outside true
    Gutter width 16px(0.01388888888888%)
    Column width 80px
    Gutter Height 16px
    Row Height(Gutter Height * X) 5
    Chunk width 16px
    Chunks 72

    Desktop

    項目
    Prefix lg(Large)
    Artboard Width 1280px
    Total width 960px (944px)
    Columns 12
    Gutter on outside true
    Gutter width 16px (0.01666666666666%)
    Column width 64px
    Gutter Height 16px
    Row Height(Gutter Height * X) 4
    Chunk width 16px
    Chunks 60

    Tablet

    項目
    Prefix md(Medium)
    Artboard Width 768px
    Total width 768px (752px)
    Columns 12
    Gutter on outside true
    Gutter width 16px (0.0208333333333%)
    Column width 48px
    Gutter Height 16px
    Row Height(Gutter Height * X) 3
    Chunk width 16px
    Chunks 48

    Mobile

    項目
    Prefix sm(Small)
    Artboard Width 320px
    Total width 320px (304px)
    Columns 5
    Gutter on outside true
    Gutter width 16px (0.05%)
    Column width 48px
    Gutter Height 16px
    Row Height(Gutter Height * X) 3
    Chunk width 16px
    Chunks 20

    試してみる

    Modular Scaleの基準値に16pxを使い比率を黄金比とします。加えてVertical Rhythmも基準値16pxとしたグリッドガイドを使って簡単なレイアウトを作ってみました。

    Modular ScaleとVertical Rhythmで設計したレイアウトサンプル

    ガイドを外すと何となくデザインしたものと違い、しっかりリズムが感じられ、整っていると感じられますね。

    サンプルのプレビュー

    まとめ

    Modular ScaleとVertical Rhythmを意識することでしっかりとした原理にそったレイアウトやタイポグラフィを行えるようになれそうですね。デザイナーはもちろんですが、エンジニアがタイポグラフィやレイアウトを行う際にもわかり易い基準になるのではないかとい感じました。個人的には積極的に使っていこうと思います。

    色々調べていてデザインについて体系的に身につけるというのは社会人になると難しいなとしみじみと感じました。美大、うらやましいですね。ここらへんの本武蔵野美術大学:教科書を読み漁るしかなさそうです。

    次回:【Sass/SCSS】 Modular Scaleを使ったフォントサイズの指定

    参考サイト

    シリーズ

    1. Hello Sketch
    2. Sketch 3を使いこなすためリンクやメモ
    3. 複数のHexからカラーパレットを自動生成するSketch 3プラグイン「Swatches」
    4. Sketch 3でマテリアルデザインベースのオレオレアイコンデザインテンプレートを作ってみた
    5. Sketch 3でピクセルスナップ(Round)を制御する
    6. iOSデバイスでデザインをチェックできるSketch MirrorやSkala Previewとか
    7. Modular ScaleとVertical Rhythmを使ったタイポグラフィとレイアウト
    8. Sketch 3.3 でできるようになったこと
    9. Sketch 3のページ・レイヤーを自在に操るショートカット

    コメント・フィードバック