Swiperのページネーションをカスタマイズする方法

Swiper
記事内に商品プロモーションを含む場合があります。

Swiperのページネーションをカスタマイズする方法を知りたいな。

この記事では、Swiperのページネーションをカスタマイズする方法について解説します。

なお、Swiperの導入方法や基本的な使い方を知りたい方は、下の記事を参考にしてください。

※本記事でご紹介するカスタマイズ方法は、2023年12月現在で最新の「バージョン11」のものです。バージョンによってCSSのプロパティ等が変わる可能性がありますのでご了承ください。

スポンサーリンク

Swiperのページネーションをカスタマイズする方法

今回は、下記のシンプルなスライダーで、ページネーションのカスタマイズ方法を解説します。

サイズをカスタマイズ

ページネーション・ドットのサイズをカスタマイズするには、CSSで「swiper-pagination-bullet」の値を変更します。

.swiper-pagination-bullet {
 /*ドットのサイズを変更*/
  width: 30px;
  height: 30px;
}

ページネーションのサイズが変更されました。

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

間隔をカスタマイズ

ページネーションのドット同士の間隔を調整する際にも、「swiper-pagination-bullet」の値をカスタマイズします。

.swiper-pagination-bullet {
  /*ドットの間隔を変更*/
  margin: 0 20px !important;
}

ページネーション同士の間隔が変更されます。

色をカスタマイズ

ページネーションのドット色をカスタマイズしたい場合も、「swiper-pagination-bullet」のbackground-colorで調整可能です。

全体を赤色(red)にしてみましょう。

.swiper-pagination-bullet {
  /*ドットの色を変更*/
  background-color: red ;
}

ドットの色が変わりましたね。

非アクティブなドットの透過度は、デフォルトで「0.2」ですが、こちらはopacityで調整可能です。

この場合、アクティブなドット(現在表示しているスライドのドット)にも影響するため、同時に「swiper-pagination-bullet-active」のopacityを「1」に指定してください。

.swiper-pagination-bullet {
 /*透過度を変更*/
  opacity: 0.5;
}

.swiper-pagination-bullet-active {
  /*アクティブなドットの透過度を1にする*/
  opacity: 1;
}

少し色が濃くなりました。

swiper-pagination-bullet-active」のbackground-colorを指定すれば、アクティブ・ドットの色もカスタマイズできますよ。

.swiper-pagination-bullet {
  background-color: red ;
}
.swiper-pagination-bullet-active {
  background-color: green ;
}

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

位置をカスタマイズ

ページネーション全体の位置をカスタマイズするには、「swiper-pagination」の値を変更します。

上下に設置する

ページネーションを上や下に設置する場合は、topもしくはbottomの値で調整可能です。

この際、あらかじめ高さをドットの値と揃えておくと、位置調整しやすくなります。

たとえば、下にピッタリつける場合はこうです。

.swiper-pagination {
 /*ドットと同じ高さを揃える*/
  height: 30px;
  /*位置を調整*/
  bottom: 0 !important;
}

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

上の場合は、topを使いましょう。

.swiper-pagination {
  top: 20px !important;
}

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

左右に設置する

ページネーションを左右に設置する際、swiper-paginationのデフォルトのwidthを初期化しておくと位置決めしやすくなります。

なぜなら、デフォルトのwidthは100%になっていて、leftやrightといった左右の位置決めをするプロパティが効かないからです。

.swiper-pagination {
  /*widthを初期化*/
  width: initial !important;
}

初期化さえすれば、左右の位置決めは簡単です。

なお、位置決めする際は、ドット左右に付いたmarginを考慮してください。

例えば下記は「左から10px」ですが、ドットの左に20pxのmarginがあるので、結果的に左から30pxに設置されます。

.swiper-pagination {
  width: initial !important;
  left: 10px !important;
}

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

右のに設置する場合は、leftを初期化した上でrigthで指定します。

.swiper-pagination {
  width: initial !important;
  left: initial !important;
  right: 0px !important;
}

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

外側に設置する

Swiperの外側にページネーションを設置するケースもよくあります。

ページネーションを外に出すには、bottomやleftなどの値を「マイナス」にすればいけそうですよね?

でも、実はそれだと、下のように消えてしまいます。

See the Pen Untitled by たけち (@kwxteqls-the-scripter) on CodePen.

ページネーションをスライドの外側に出すには「swiperの外に出す」という別の作業が必要でして、その辺りは下の記事で詳しく解説していますのでご覧ください。

スポンサーリンク

まとめ

今回は、Swiperのページネーションをカスタマイズする方法を解説しました。

実際の案件ではデフォルトのページネーションをそのまま使う方がレアケースで、ほとんどの場合カスタマイズを求められます。

ですので、この機会にポイントをしっかりと押さえておきましょう。