こんにちは!Web制作の世界へようこそ。日々コードを書いていると、「あれ、この数字だけなんだかガタガタして見えるな……」なんて経験はありませんか?
例えば、価格表やランキングを作っているとき。数字の「1」と「8」が並ぶと、なんだか列が綺麗に揃わなくて、プロっぽさが出ない。そんな「ちょっとしたモヤモヤ」を解消してくれる魔法のCSSがあるんです。
今日は、`font-variant-numeric` という、数字を美しく整えるための秘密道具についてお話しします。
—
なぜ数字は「ガタガタ」してしまうのか?
まず、身近な例えをしてみましょう。
レジのレシートを想像してみてください。合計金額の「1,200円」と「3,500円」が、もし右詰めでガタガタに表示されていたら……なんだか計算ミスを疑ってしまいますよね。
実は、Webで使われる標準的なフォントの多くは、文字の幅がバラバラなんです。
- 「1」は細いから幅が狭い
- 「8」は太いから幅が広い
この「文字ごとの個性」が、表やリストの中で数字を並べた時に、視覚的なノイズになってしまうんですね。でも大丈夫。CSSには、この数字たちの行儀を良くしてあげる設定があるんです。
—
魔法のプロパティ:font-variant-numeric
このプロパティを使うと、数字の「フォントスタイル」を細かく指定できます。特に覚えておいてほしいのが、この2つのキーワードです。
1. `tabular-nums`:すべての数字を「同じ幅(等幅)」にする。
2. `lining-nums`:すべての数字を「ベースライン(行の揃った位置)」に揃える。
これらを使うと、まるでExcelの表のように、数字がピシッと美しく並ぶようになります。
—
さっそくコードを書いてみよう!
では、`` や `` タグを使って、実際に数字を整えてみましょう。コピー&ペーストして、ブラウザで試してみてくださいね。
通常表示(ガタつきが気になるかも…):123,456
整列表示(ピシッと揃います!):123,456
このコードのポイント
- `tabular-nums`: これを当てるだけで、数字の幅が統一されます。価格表やタイマーなど、数値を縦に並べるデザインには必須のテクニックです。
- `
`タグとの相性: プログラミングのコードや数値を扱うとき、``タグにこのスタイルを適用しておくと、エンジニア向けのドキュメントがグッと見やすくなります。
---
もっとこだわりたいあなたへ:「lining-nums」
もう一つ、`lining-nums` も紹介しておきますね。
一部のフォントでは、数字の「3」や「4」が、小文字のように少し下に沈んで表示されることがあります(これを「オールドスタイル数字」と言います。クラシックで素敵ですが、データを見せたいときには不向きですよね)。
そんなとき、`font-variant-numeric: lining-nums;` を使うと、すべての数字の頭と尻を揃えて、力強い印象にしてくれます。
使い分けのヒント:
- 表や価格: `tabular-nums` で幅を揃える(読みやすさ優先)
- 見出しやロゴ: `lining-nums` で高さを揃える(デザイン性優先)
---
最後に:完璧を目指さなくても大丈夫
「Webデザイン」と聞くと、なんだか敷居が高く感じてしまうかもしれません。でも、こうした「数字を少し綺麗にする」といった小さな積み重ねこそが、見る人に「あ、このサイトなんか見やすいな」「丁寧に作られているな」という信頼感を与えるんです。
まずは、自分の作っているWebサイトの価格表示や、ランキングの数字に `font-variant-numeric: tabular-nums;` を一つ加えてみてください。
その瞬間、画面の中の数字が整列するのを見ると、きっと「おっ!」と嬉しくなるはずですよ。その小さな発見こそが、Web制作の醍醐味です。
また分からないことがあれば、いつでも聞きに来てくださいね。一緒に楽しいWeb制作ライフを送りましょう!

コメント