CSSでブログの操作性を向上!戻るボタン・横スクロールの書き方

Web・ブログ
この記事は約11分で読めます。

WordPress初心者がよく遭遇する操作性向上のためのCSSカスタマイズ

私もWordPressを利用している中で、標準のブロックメニューでどうしても改善できずCSSカスタマイズを使用したのでその時の苦労した点や注意点を下記に記載します。参考にしていただければ幸いです。

護身IT
護身IT

この記事では、私自身が実際に行っている横スクロール化及び戻るボタン上に文字表示に特化し、初心者でも理解できるように体系的にまとめました。

WordPressを使い始めたばかりの頃、私は「YouTubeや関連記事」「戻るボタンの使いやすくできないか」「内部・外部カードリンクに続きを読む」の表示方法で何度もつまずきました。
最終的にCSSカスタマイズで解決した為、その手順や苦労した点、注意する点など記載します。

関連記事表示(縦→横スクロール)方法(Cocoonメニュー)

カスタマイズの前にはバックアップを必ず取得するようにしましょう。

私の場合、はじめは記事数もなく関連記事の表示が縦表示でも気になりませんでした。しかし記事数が多くなるとり、ある日”たまたま”スマホで見てみると関連記事が縦に並んで”見づらい”と思い解決策に悩んでいました。

まず、私はCocoonテーマを利用しているので、Cocoonメニューでカードの列を並列にする機能がありましたのでそれを試しました。(詳しくは「試行1」参照ください。)

試行1では、横の並列数が無限でないので今後記事数がが増えると最大4列で、縦に表示されていくだけだと思いCSSカスタマイズで横スクロールに挑戦しました。(詳しくは「試行2」を参照ください。)

結果:横1列にスクロール表示でき、解決できました。

とりあえず横スクロールはうまくいきましたが、全記事の横スクロールなので記事をあらかじめ指定しておくことができればなおいいと感じました。

試行1|Cocoonメニューでの挑戦

ここでは、CSSカスタマイズする前にCocoonのメニューで表示の改善ができないか、試行した為その際実施した内容を参考に記載します。(詳しくは下記参照ください。)

記事下の「関連記事」の表示がデフォルトでは縦に並んでいますが、Cocoonのメニュー操作で枠付きの4列表示に簡単にできましたので下記に記載します。

操作方法:Cocoonの設定⇒「投稿」⇒「表示・タイプ、表示数・枠線の表示」を下図(メニュー操作画面)のようにし⇒「変更をまとめて保存」をクリックすると完了です。

はじめの表示画面
はじめの表示画面
メニュー操作画面
メニュー操作画面

最初の縦表示よりは、改善されたが列幅固定の為、記事数が増えると1列が4列になっただけで、画面の専有面積は記事数に比例し増加すると思いました。(最大列幅は4列:下図参照)

4列固定結果の画面
4列固定結果の画面

試行2|CSSカスタマイズでの挑戦

ここではCSSカスタマイズすることで、記事下の「関連記事」を1行1列の横並びスクロールにしました。

カスタム変更前は、必ずバックアップをしておきましょう。

CSSカスタマイズの挿入の画面
CSSカスタマイズの挿入の画面
結果の画面
結果の画面
/************************************
  Cocoon関連記事を横スクロール化(Rev5)
************************************/

/* 親コンテナ(関連記事全体) */
.related-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 15px;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
}

/* カード本体(1記事分) */
.related-entry-card-wrap {
    flex: 0 0 250px !important; /* 横幅固定 */
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box;
}

/* Cocoon の関連記事レイアウトを完全無効化 */
.related-list .related-entry-card,
.related-list .e-card,
.related-list .cf,
.related-list .related-entry-card-thumb,
.related-list .related-entry-card-content,
.related-list .related-entry-card-snippet,
.related-list .related-entry-card-meta,
.related-list .column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    display: block !important;
    box-sizing: border-box;
}

/* スクロールバーのデザイン */
.related-list::-webkit-scrollbar {
    height: 8px;
}
.related-list::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 4px;
}

ここでのCSSコードはCocoonメニューで「関連記事」の設定をどの設定(例:デフォルトや4列など)にしておいても強制的に横並びにします。

スマホでYouTube動画を横スクロールさせる(Cocoonメニュー)

ここでは、私の場合記事にYouTubeを埋め込みスマホで縦にスクロールしないと画面が見れず操作性が悪かったため、横スクロールで表示されるように改善しました。

私の場合、YouTubeを埋め込み動画でも2つまでは、カラムブロックの利用でもスマホも問題なく表示されました。しかし3つの動画表示よりカラムブロックでは画面も小さく動画再生機能しないのでCSSを追加し対応しました。(詳細は下記を参照ください。)

操作:WordPress管理画面⇒記事の編集⇒対象の「ブログカード」を選択⇒右側の「ブロック」タブ⇒「モバイルでは縦に並べる」をOFFにする。

結果:スマホでも横に並んで表示されました。

スマホのみ横表示
スマホのみ横表示
スマホで横表示の画面
横に並んだ画面

スマホのみ横スクロール(CSSカスタマイズ)

上記では、固定で横表示となっただけなので埋め込みの画面数によって画面が小さくなります。

そこで同じ表示で横にスクロールすることはできないかと調べ下記のCSSカスタマイズを作成し解決できました。

ここではCSSカスタマイズすることで、記事下のYouTube動画を一部横並びスクロールにしました。

Step1:カラムブロックはやめ通常のYouTube埋め込みブロックで埋め込み縦に表示させた。

●注意
追加CSSでCSSを記載する場合、(縦)表示にしておかないとテーマ側のCSSコードと記載したCSSでの打ち消しあいでうまく動作しなかった。


Step2:横表示させたい動画(3つ)をグループ化した。(CSSクラスをブロックに対応させるため)

グループ化ー1
グループ化ー1
グループ化の確認
グループ化の確認

Step3:追加CSSクラスを記入しCSSカスタマイズしましたが、下図のように縦幅が違っていたので併せて表示するようにした。

横スクロールとカラムボックスでの比較
横スクロールとカラムボックスでの比較

Step4:縦幅調整後(CSSに記載)再度「追加CSSクラス」を確認と同時にCSSカスタマイズも確認した。

追加CSSクラス
追加CSSクラス

Step5:下図のように横スクロールバーが表示された。

横スクロール
横スクロール
/* 横スクロール全体 Rev1 */
.scroll-box {
    display: flex !important;
    flex-direction: row !important; /* 強制的に横並びにする */
    flex-wrap: nowrap !important;   /* 絶対に折り返さない */
    overflow-x: auto !important;    /* 横スクロールを自動表示 */
    overflow-y: hidden !important;  /* 【最重要】縦スクロールバーを絶対に消す */
    -webkit-overflow-scrolling: touch;
    gap: 15px;
    padding-bottom: 15px;           /* バーと動画の間の余白 */
}

/* 各動画カード(figure)を横並びにする */
.scroll-box figure.wp-block-embed {
    flex-shrink: 0 !important;
    min-width: 260px;
    max-width: 80%;
    margin: 0 !important;           /* 無駄な縦マージンを消す */
    box-sizing: border-box;
}

/* WordPress のアスペクト比構造は壊さない */
.scroll-box .wp-block-embed__wrapper {
    width: 100%;
    height: 100%;
}

/* iframe の設定(高さを固定したい場合の安全な書き方) */
.scroll-box iframe {
    width: 100%;
    display: block;
    /* 高さを固定したい場合は、外側ではなくここで縦バーを抑制します */
    height: 170px !important;       /* 縦バーが出ない安全な高さ(170px〜180px前後がおすすめ) */
}

戻るボタンの上に文字を表示|カスタマイズ(追加CSS)

私の場合、Cocoonのメニューで「サイトの戻るボタン」の設置はできました。
利用している途中にマウスをホバーすると文字(TOP)等表示できると利便性が向上するのではと思い、「CSSカスタマイズ」し戻るボタンの上に文字を表示する設定を実施しましたので下記に記載します。

注意

  • カスタマイズ前には、バックアップの取得を必ず実施することをお勧めします。
  • カスタマイズ後は、動作確認もお願いします。
/* 戻るボタンにマウスを乗せると文字を表示させる */
/* PC:TOP文字を表示 */
#go-to-top .go-to-top-button::after {
  content: "TOP"; /* 表示したい文字 */
  position: absolute;
  top: -15px; /* ボタンの上に表示 */
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: #333;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#go-to-top .go-to-top-button:hover::after {
  opacity: 1; /* ホバー時に文字を表示 */
}

/* スマホ:TOP文字を非表示 */
@media (max-width: 768px) {
  #go-to-top .go-to-top-button::after {
    content: "";
    opacity: 0 !important;
  }
}
実装画面
実装画面

上記コードはスマホでは文字表示を非表示とします。(実装画面は上図赤枠文字です。)

CSSカスタマイズ(続きを読む|Cocoon)

念のため、カスタム変更する前は、バックアップは取っておいてください。

テーマファイルエディター

「外観」⇒「テーマファイルエディター」

テーマファイルエディター①
テーマファイルエディター①
テーマファイルエディター②
テーマファイルエディター②

※ 「管理画面」⇒「外観」⇒「カスタマイズ」⇒「追加CSS」では内部リンクのブログカードのみしか「続きを読む」が表示されませんでした。

/* 内部リンクカード・外部リンクカードの右下に「続きを読む」を表示 */
.internal-blogcard,
.blogcard {
  position: relative; /* 疑似要素の基準を作る */
}

.internal-blogcard::after,
.blogcard::after {
  content: '続きを読む \00bb';
  position: absolute;
  bottom: .5rem;
  right: 1rem;
  font-size: 70%;
  background-color: #6495ED;
  padding: .4em 3em;
  font-weight: bold;
  color: #fff;
  border-radius: 2px;
  z-index: 2;
}
「続きを読む」の実装画面
「続きを読む」の実装画面

「続きを読む」を実装図は上図の赤枠を参照ください。

SEO対策

ここでは、投稿ページのSEO対策として検索キーをどこに記載すればよいかわからなく困っていました。下図の中に解説しました。参考にしていただければ幸いです。

投稿ページの下にあります。
展開した画面です。
展開した画面です。
何処に何を記載するのか解説した図です。
何処に何を記載するのか解説した図です。

まとめ

最後まで記事を見ていただきありがとうございました。各章で設定は完結しますので必要な場面に遭遇しましたらご活用いただけると幸いです。
また、私自身が初期の段階で設定・困った場合等に対応したことを記載しています。
本サイト内でのCSSコード及び設定などは、本サイトでも実装済みですが、個人の環境に依存します。あくまで情報提供が目的です。よって動作を保証するものではありませんので自己責任でお願いします。
今後このサイト内でも記事を拡大していきますのでご参考いただければと思います。

あわせて読みたい関連記事

ここでは本記事との、親子記事のリンクをまとめて下記に記載します。

全体の流れを詳しく知りたい方は、まず「【Cocoon】初心者が最初に設定すべき基本機能と重要項目まとめ」からご覧ください。

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