ページネーション(前 / 後 / 数字)

レイアウト Easy #css #pagination #nav

ブログ一覧や検索結果の下に置く、ページ送り UI です。前へ・後ろへのボタン、ページ番号、件数が多いときの省略記号「…」を inline-flex で横一列に並べています。各番号は min-width と height を揃えて正方形に近いタップ領域を確保し、現在表示中のページには is-current クラスを付…

▶ プレビュー

解説

ブログ一覧や検索結果の下に置く、ページ送り UI です。前へ・後ろへのボタン、ページ番号、件数が多いときの省略記号「…」を inline-flex で横一列に並べています。各番号は min-widthheight を揃えて正方形に近いタップ領域を確保し、現在表示中のページには is-current クラスを付けてアクセントカラーで塗りつぶし、はっきり区別できるようにしています。ホバー時は枠線と文字色が変わる transition 付きです。

使いどころ

  • 記事数の多いブログ・メディアの一覧ページ
  • 検索結果や商品一覧の、ページ単位での絞り込み導線
  • サーバー側でページ分割しているコンテンツの送り UI

現在ページの色は is-current の背景色で、ボタンや番号の見た目は枠線色や角丸で調整できます。アクセシビリティ上は、現在ページに aria-current="page" を付け、前後ボタンには「前のページ」「次のページ」が分かる aria-label を添えると親切です。タップ領域は指でも押しやすいよう小さくしすぎないこと、無効な「前へ」は押せない見た目にしておくと迷いません。番号の出し方(前後何件まで表示し、どこで「…」にするか)はサーバー側のロジックと合わせて設計します。

使用例・適したシーン

  • ブログ記事一覧
  • 検索結果ページ
  • EC 商品一覧

よくある質問

現在のページはどう強調していますか?
現在表示中の番号に is-current クラスを付け、CSS でアクセントカラーの背景に白文字で塗りつぶして強調しています。色を変えたい場合は .pg .is-current の background と color を編集してください。加えて、その項目に aria-current="page" を付けると、読み上げ環境にも現在地が伝わります。
ページ番号の省略「…」はどう出しますか?
このコードでは span 要素として「…」を静的に置いています。実際のサイトでは、現在ページの前後数件だけ番号を出し、それ以外を「…」でまとめるロジックをサーバー側やテンプレート側で組み、出力する HTML を生成します。表示の見た目はそのまま CSS が整えます。
追加日:2026-05-11
← すべてのスニペットへ戻る