LoginSignup
3
2

More than 1 year has passed since last update.

kaminariのページネーションにCSSを適用する

Last updated at Posted at 2021-06-30

はじめに

本記事では、BootstrapなどのCSSフレームワークを使用しないで、kaminariのページネーションにスタイルを適用する例をご紹介します。

CSSを適用する

以下SCSS記法で記述しています。

app/aseets/stylesheets/application.scss
/* ページネーション */

.pagination{
    margin: 20px auto 0;
    width: 50%;
    display: flex;
    justify-content: center;
    span{
        text-align: center;
        width: 50px;
        :hover{
            background-color:#f3f3f3;
        }
        a{
            display: block;
            width: 100%;
            height: 100%;
            :hover{
                background-color: #f3f3f3;
              }
        }
    }
}

.current{
    color: #008CFF;
}

.gap{
    background-color: white !important;
}

UIを整える

ここで「next」と表示されている箇所を「>」に変更するなど、直感的なUIにしていきます。

app/config/locales/devise.ja.yml
ja:
  views:
    pagination:
      first: "«"
      last: "»"
      previous: "‹"
      next: "›"
      truncate: "..."

設定ファイルを変更する

設定ファイルを作成します。

$ rails g kaminari:config

config/initializer下に生成された設定ファイルを確認します。
コメントアウトでデフォルト値が記載されています。

config/initializers/kaminari_config.rb
# frozen_string_literal: true

Kaminari.configure do |config|
  # config.default_per_page = 25
  # config.max_per_page = nil
  # config.window = 4
  # config.outer_window = 0
  # config.left = 0
  # config.right = 0
  # config.page_method_name = :page
  # config.param_name = :page
  # config.max_pages = nil
  # config.params_on_first_page = false
end

筆者は以下のように変更しました。

config/initializers/kaminari_config.rb
# frozen_string_literal: true

Kaminari.configure do |config|
  config.default_per_page = 10
  # config.max_per_page = nil
  config.window = 2
  config.outer_window = 1
  # config.left = 0
  # config.right = 0
  # config.page_method_name = :page
  # config.param_name = :page
  # config.max_pages = nil
  # config.params_on_first_page = false
end

完成したページネーション

スクリーンショット 2021-06-30 23.52.35.png

このようなスタイルを適用することができました!
お好みで色や配置などを変更していただけたらと思います!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2