調べて分かる道具箱

CSSを作る

書き方を覚える前に、動かして確かめるためのジャンルです。

CSS は数字を1つ変えるだけで見え方が変わりますが、どの数字が何に効くのかは、書き方の説明を読んだだけでは分かりません。box-shadow の4つの数字のうち3つ目が「ぼかし」で4つ目が「広がり」だと言われても、動かしてみないと違いが見えないからです。ここの道具は、つまみと画面のプレビューと出てくるコードを同じ値から作っているので、コピーしたコードを貼れば、画面で見たとおりのものになります。

向かないところも書いておきます。ch という単位は「1文字の幅」ではなく 0 の字送り幅なので、日本語に使うと崩れます。ネオン文字は光らせるほど読みにくくなります。できることと同時に、やめたほうがいい場面まで見せるのが、このジャンルの作り方です。

この分野の道具(9本)

影と角丸は、見た目より持てる値が多い

box-shadow は、カンマで区切っていくつも重ねられます。よく見かける「軽く浮いている感じ」は、ぼかしの小さい影と大きい影を重ねて作られています。1枚の影を濃くするのではなく、近い影と遠い影に分けるのが、自然に見せるこつです。

border-radius は最大で8つの値を持てます。スラッシュの前が横方向、後ろが縦方向の半径で、別々に指定すると円ではなく楕円の角になります。柔らかい有機的な形を作りたいときに使われるのはこの書き方です。つまみを動かすと、数字と形の対応がそのまま見えます。

できたあとに、読みにくくしていないか確かめる

文字と背景の明るさの比は、本文なら4.5対1以上が目安とされています。グラデーションの上に文字を置くと、位置によって比が変わります。いちばん条件の悪いところで測らないと、通ったつもりで通っていない、ということが起きます。

動きにも同じ話があります。回り続けるローディングや点滅する演出は、人によっては気分が悪くなります。OS 側に「動きを減らす」設定があり、CSS からは prefers-reduced-motion で読み取れます。動きを足したら、止める道も一緒に用意するのが今の作法です。

こういうときは、これ

押せるボタンを作りたい
ボタン押せる大きさの決まりを並べて出します
横に並べたい
Flexboxflex: 1 が3つの値の省略形だと分かります
格子に並べたい
Gridfr は「余りの分け前」です
影や角丸を付けたい
影(box-shadow)4つの数字が何を指すかを動かして確かめます
待ち時間の表示を作りたい
ローディング画像もJavaScriptも要りません