WordPressテーマ【Cocoon】カスタマイズ!ページネーションと「次のページ」ボタン

こんにちは。おまめです。

このブログはワードプレステーマCocoonで書いています。

とっても使いやすくて気に入っています♪

 

が、ちょっと見た目を変更したいところがあったので今日CSSをいじっていました。

それがページネーション。これがデフォルトです。↓

実際にはこんな感じに変更しました↓

ホバー時はこんな感じになります。押せる感じです。↓

 

前提のスキン:[Child]スキンテンプレート

Cocoonは色々なスキンが選べる中で、私はわいひらさんが作った[Child]スキンテンプレートを使っています。(シンプルだしカスタマイズしやすそうなので好きです。)

今回のCSSは全て追加CSSに書いています。

 

補足:追加CSSの開き方

追加CSSってどこにあるのという方に。

WordPress管理画面の「サイトをカスタマイズ」>>追加CSS>>追加CSS記入箇所にCSSを記入します。

 

実際に書いた追加CSSのコード

実際に書いた追加CSSのコードです。

もともとボタンのクラスに「pagination-next-link」、ページネーションに「pagination」「current」「page-numbers」がついているのでそれを変更します。

コピペして使ってもOK。

  1. /* 「次のページ」ボタン */
  2. .pagination-next-link{
  3.     background-color:#fff;
  4.     border: 2px solid #4D4644;
  5.     color: #4D4644;
  6.     display: block;
  7.     font-size: 1.2em;
  8.     text-decoration: none;
  9.     width: calc(100% – 8px);
  10.     height:60px;
  11.     text-align: center;
  12.     padding: 10px;
  13.     display: block;
  14.     position:relative;
  15.     transition-duration:0.2s;
  16. }
  17. /* ボタンホバー時 */
  18. .pagination-next-link:hover{
  19.     transform:translate(8px,8px);
  20.     background-color:#E9C46A;
  21.     transition-duration:0.2s;
  22. }
  23. /* ボタンの影のライン */
  24. .pagination-next-link::after{
  25.     display:block;
  26.     position:absolute;
  27.     content:””;
  28.     border-right: 2px solid #4D4644;
  29.     border-bottom: 2px solid #4D4644;
  30.     right: -8px;
  31.     bottom:-8px;
  32.     width:100%;
  33.     height:58px;
  34.     opacity:1;
  35.     transition-duration:0.2s;
  36. }
  37. /* ボタンの影のラインホバー時 */
  38. .pagination-next-link:hover::after{
  39.     transform:translate(-6px,-6px);
  40.     transition-duration:0.2s;
  41.     opacity:0;
  42. }
  43. /* ページネーション現在のページの表示 */
  44. .pagination .current {
  45.     background-color: #4D4644;
  46.     color:#fff;
  47. }
  48. /* ページネーション現在のページ以外の表示 */
  49. .page-numbers {
  50.     color: #333;
  51.     text-decoration: none;
  52.     display: inline-block;
  53.     height: 46px;
  54.     width: 46px;
  55.     border: 2px solid #4D4644;
  56.     margin: 0 4px;
  57.     line-height: 43px;/* 数字の表示を真ん中に持ってくるために微調整しました。 */
  58.     text-align: center;
  59.     border-radius: 0;
  60. }
  61. /* ページネーションホバーを離して元に戻る時間を指定 */
  62. .pagination a{
  63.    transition-duration:0.2s;
  64. }
  65. /* ページネーションホバー時 */
  66. .pagination a:hover{
  67.    background-color:#E9C46A;
  68.    transition-duration:0.2s;
  69.    color:#4D4644;
  70. }

 

それぞれのコードを見ていきます。

大きい「次のページ」ボタン部分

  1. /* 「次のページ」ボタン */
  2. .pagination-next-link{
  3.     background-color:#fff;
  4.     border: 2px solid #4D4644;
  5.     color: #4D4644;
  6.     display: block;
  7.     font-size: 1.2em;
  8.     text-decoration: none;
  9.     width: calc(100% – 8px);
  10.     height:60px;
  11.     text-align: center;
  12.     padding: 10px;
  13.     display: block;
  14.     position:relative;
  15.     transition-duration:0.2s;
  16. }
  17. /* ボタンホバー時 */
  18. .pagination-next-link:hover{
  19.     transform:translate(8px,8px);
  20.     background-color:#E9C46A;
  21.     transition-duration:0.2s;
  22. }
  23. /* ボタンの影のライン */
  24. .pagination-next-link::after{
  25.     display:block;
  26.     position:absolute;
  27.     content:””;
  28.     border-right: 2px solid #4D4644;
  29.     border-bottom: 2px solid #4D4644;
  30.     right: -8px;
  31.     bottom:-8px;
  32.     width:100%;
  33.     height:58px;
  34.     opacity:1;
  35.     transition-duration:0.2s;
  36. }
  37. /* ボタンの影のラインホバー時 */
  38. .pagination-next-link:hover::after{
  39.     transform:translate(-6px,-6px);
  40.     transition-duration:0.2s;
  41.     opacity:0;
  42. }

 

ボタンのポイント

  • ボタンの右と下にラインがある(影部分がラインになっている)デザインなので、ボタン幅が100%だと後ろのラインが見えないのでcalc()を使って100%-8pxの大きさにする。
  • 右と下のラインを::afterで作る。
  • ボタン自体をposition:relativeにして::afterをposition:absoluteにする。

ボタンホバー時のポイント

  • ボタン自体にtransform:transrate(8px,8px)を付けてボタンを押す動きを実装する。
  • 影ラインは何も書かないとボタンと一緒に右下に動くので、transform:translate(-6px,-6px)で逆に動く動きを付ける。また、押し終わった時にはなくなって欲しいのでopacity:0を記述。
  • transition-duration:0.2sを付けて動きの時間を0.2秒に設定。
おまめ
おまめ

※ボタンのホバーをはずした時も0.2秒で戻って欲しいので、:hoverのところだけでなく、元々の要素にもtransition-duration:0.2sをつけてあります。

 

ページネーションとカレント(現在ページを示す)処理

  1. /* ページネーション現在のページの表示 */
  2. .pagination .current {
  3.     background-color: #4D4644;
  4.     color:#fff;
  5. }
  6. /* ページネーション現在のページ以外の表示 */
  7. .page-numbers {
  8.     color: #333;
  9.     text-decoration: none;
  10.     display: inline-block;
  11.     height: 46px;
  12.     width: 46px;
  13.     border: 2px solid #4D4644;
  14.     margin: 0 4px;
  15.     line-height: 43px;/* 数字の表示を真ん中に持ってくるために微調整しました。 */
  16.     text-align: center;
  17.     border-radius: 0;
  18. }
  19. /* ページネーションホバーを離して元に戻る時間を指定 */
  20. .pagination a{
  21.    transition-duration:0.2s;
  22. }
  23. /* ページネーションホバー時 */
  24. .pagination a:hover{
  25.    background-color:#E9C46A;
  26.    transition-duration:0.2s;
  27.    color:#4D4644;
  28. }

 

ページネーションのポイント

  • 現在のページは背景を黒&テキストを白に。
  • 現在のページ以外はホバーしたら黄色に変化

 

こんな感じで実装しました。

実際の動きはトップページの下へ行くと確認できますよ!

 

以上、コード解説でした。

 

おまめ
おまめ

ちょこちょここれからもサイトをいじっていくと思います~

楽しい♪

 

 

コメント

タイトルとURLをコピーしました