CSSプロパティ154個の辞典
それぞれのプロパティが何をするか、よく使う値は何か、子に受け継がれるかを一行でまとめました。
レイアウト11
要素をどんな箱として扱うか、はみ出したときどうするかを決める属性です。
フレックスとグリッド24
要素を並べ、格子に配置する属性です。今日のレイアウトはほとんどこの二つで組みます。
箱と余白16
大きさと余白です。外の余白は重なって一つになり、内の余白には背景色が塗られます。
文字25
書体や行間、揃え方など読まれる形を決めます。多くは子に受け継がれます。
色と背景13
文字色と背景色、グラデーションと透明度です。
枠線13
枠線と角、影です。outlineは場所を取りません。
効果7
描き終えたあとにかける効果です — ぼかし、切り抜き、塗りつぶし。
変形と動き14
動かし、回し、なめらかにつなぎます。レイアウトに触れないので画面が揺れにくくなります。
位置7
要素を流れから外して置きます。前後はz-indexで決めます。
表4
表の枠線と列幅を扱う属性です。
一覧4
目印の形と置き場所を決めます。
操作9
マウスや指、スクロールにどう応じるかを決めます。
印刷とその他7
印刷や自動採番など、残りの用途です。
読み方
- 継承する属性は親に一度書けば子がすべて受け継ぎます。文字に関する属性はたいていそうです。
- 一括指定は書かなかった値を既定に戻します。background: red だけ書くと、先に入れた背景画像も一緒に消えます。
- 同じ要素で規則がぶつかると、より具体的なセレクターが勝ちます。具体性が同じときにだけ後に書いたほうが勝ちます。
- 動きはtransformとopacityで作るとなめらかです。widthやtopを変えるとレイアウトを計算し直すことになります。
よくある質問
Q. CSSプロパティは全部でいくつありますか。
標準に載っているものだけで500を超えますが、実際に手が伸びるのはその一部です。ここでは画面を作るとき繰り返し使う154個を分類ごとに載せています。
Q. 継承するとはどういう意味ですか。
親に書けば子は書かなくても同じ値を使う、という意味です。書体・文字色・行間など文章に関する属性はたいてい継承し、余白や枠線は継承しません。
Q. 一括指定を使うと何が変わりますか。
一行で複数の値を決められますが、書かなかった値は既定に戻ります。background: red だけ書くと先に入れた背景画像も消えるのはそのためです。
Q. 同じ属性を二度書いたらどちらが勝ちますか。
まずセレクターの具体性を見ます。idはclassより、classはタグより強いです。具体性が同じときにだけ後に書いたほうが勝ちます。!importantはそれを覆しますが、使わないに越したことはありません。
Q. pxとremのどちらを使うべきですか。
remはルートの文字サイズの倍数なので、利用者がブラウザーで文字を大きくすると一緒に大きくなります。文字と余白にはremが安全で、細い枠線のように常に同じであるべき値にはpxが向きます。