KiSAKU
技術系4分で読めます

同じ「丸み」でも、比べる相手が違えば別の表に置く

公開

フッターの上の角を丸めています。ページの下に別の面が敷かれている、という見え方を作るためです。

ところが、実機で見返すと「もう少し丸くていい、50pxでもいいくらい」と感じました。当時は14pxでした。

この記事で扱うこと

丸みを1つの表で持っている構成に、表へ入れられない値が出てきたときの扱いです。1か所だけ大きくするか、表そのものを直すか、という話ではありませんでした。

丸みは1つの表で持っている

このサイトでは、角の丸さを6段階の表で持っています。既定値より意識的に小さくしてあります。

名前 この表の値 もとの既定値
DEFAULT 3px 4px
md 4px 6px
lg 6px 8px
xl 8px 12px
2xl 10px 16px
3xl 14px 24px

表で持っている理由は、調整を1か所で終わらせるためです。「全体的にもう少し角を立てたい」と思ったとき、この表の数字を書き換えれば、丸みを指定しているすべての場所が同じ方向へ動きます。個別に書いていたら、直し漏れた場所だけが取り残されます。

一番大きい値を50pxにすればいい、ではなかった

最初に考えたのは、表の一番大きい値を50pxにすることでした。フッターはその値を使っているので、これで目的は果たせます。

しかもこの値は、調べたらサイト全体でフッター1か所しか使っていませんでした。他に影響が出ないので、書き換えても壊れません。

それでもやめました。

「いまは1か所しか使っていない」は、変えてよい理由にならない

壊れないことと、正しいことは別です。表の一番大きい値を50pxにすると、この表の意味そのものが変わります。

いまは1か所でも、次に誰かがカードの角を「一番大きく」したくなったとき、受け取る値は50pxになります。そのときには「なぜ一番大きい丸みだけ極端なのか」を説明できる人がいません。壊れるのは今日ではなく、次にこの表を使うときです。

比べる相手が違うものは、同じ表に置けない

考え直して分かったのは、この表が何のためにあるかでした。

DEFAULTから一番大きい値までは、1本の段階になっています。小さいものから大きいものへ並んでいて、ボタン、入力欄、タグ、カードのように本文の中に置かれる部品のためにあります。

これらの部品には共通点があります。画面の中で隣り合って並ぶので、互いの丸みを見比べられるということです。ボタンよりカードのほうが少し丸い、という関係が意味を持ちます。だから同じ段階の上に居る必要があります。

フッターは違います。幅が画面いっぱいあり、隣に並ぶものがありません。比べる相手は画面の縁だけです。

部品の丸み 面の丸み
対象 ボタン・入力欄・カード フッターのような大きな面
置かれる場所 本文の中 ページの下に敷かれる
比べる相手 隣り合う他の部品 画面の縁
決め方 段階の中での前後関係 その面だけで見て伝わるか
段階から出して、名前を付けた

表の6段階はそのままにして、panel という名前で50pxを別に足しました。段階の外です。

こうすると、表を書き換えたときに動くのは部品だけになります。面の丸みは別の判断で決まるので、一緒に動かないほうが正しい。同じ「丸み」という言葉で呼んでいても、決め方が違うものは別の場所に置くということです。

なぜ14pxでは足りなかったのか

数字の話も書いておきます。

同じ半径でも、対象が横に広いほど、角の丸みは相対的に小さく見えます。幅300pxのカードの14pxと、幅1200pxのフッターの14pxでは、目に入る割合が違います。

フッターの角を丸めているのは、そこに背景がわずかに覗いて「下に別の面が重なっている」と伝えるためです。角が丸いことに気づけない大きさでは、その役割を果たしません。14pxは、部品としては十分でも、面としては足りませんでした。

今回の学び

まず、壊れないことは、変えてよい理由にはならないこと。使っている場所が1か所しかなければ、書き換えても何も起きません。ただし表の意味は変わっていて、次にその表を使う人が想定外の値を受け取ります。影響が出るのが今日でないだけです。

次に、同じ言葉で呼んでいるものが、同じ決め方とは限らないこと。部品の丸みは隣と比べて決まり、面の丸みはそれ単体で伝わるかで決まります。決め方が違うものを1本の段階に押し込むと、どちらかが無理をすることになります。

そして、例外は、例外だと分かる場所に置くこと。段階の中に極端な値を混ぜると、段階のほうが読めなくなります。外へ出して名前を付ければ、なぜそこにあるのかを書き残せます。書き残せる形にすること自体が、判断を残す手段になります。

← ブログ一覧へ戻る