WordPressで画面いっぱいのヒーローを作る ― カバーブロックならCSSいらず

ブログのトップページを開いたとき、いちばん上にどーんと出てくる大きな見せ場。あれを「ヒーロー」と呼びます。今回は、このヒーローを画面いっぱいに、しかも文字をきれいに重ねて作る方法を紹介します。実はこれ、私は最初にCSSで作ろうとして、見事に消耗しました。その失敗と、あっけない正解の話です。

そもそもヒーローって何?

AD – 読み進める前のひとやすみ

ヒーローとは、トップページの先頭にある、大きな画像とキャッチコピーのエリアのことです。お店でいえば、入り口の看板や、ショーウィンドウのようなもの。ここで「どんなサイトか」「どんな雰囲気か」が、一瞬で伝わります。サイトの第一印象を決める、いちばん大事な場所です。

だからこそ、画面いっぱいに気持ちよく広げて、写真の上にキャッチコピーをのせたい。そう思って、私はまずCSSで作ろうとしました。これが、つまずきの始まりでした。

最初、私はCSSで作ろうとして消耗した

AD – 読み進める前のひとやすみ

やりたかったことは3つでした。背景の画像を画面の端まで広げる。その上に文字を重ねる。そして、高さをいい感じに保つ。どれも、CSSで一つずつ書けばできそうに思えました。

ところが、ここから沼が始まります。画面いっぱいに広げようと width:100vw と書くと、今度はテーマが「中身は中央に寄せる」と強く命令していて、押し返される。仕方なく !important という”最終手段”の呪文まで持ち出して、ようやく広がる。文字を画像に重ねようとすれば、画像と文字の高さがバラバラで、画面の幅を変えるたびにズレる…。

気づけば、たった1つのヒーローのために、CSSと格闘して時間が溶けていました。「これ、何かおかしいぞ」と感じたら、たいてい、もっと簡単な道があるサインです。

カバーブロックが、ぜんぶ解決してくれた

AD – 読み進める前のひとやすみ

そこで、ためしにWordPressの「カバーブロック」を使ってみました。すると、あれだけ苦労したことが、一瞬で片づいたんです。

画面いっぱいに広げるのは、「全幅」ボタンを押すだけ。写真の上に文字をのせるのも、最初からそういう作りなので、重ねる苦労がそもそもありません。写真を少し暗くして文字を読みやすくする「霞(オーバーレイ)」も、スライダーひとつ。高さも、中身に合わせて自動でいい感じに収まります。

つまりカバーブロックは、「全幅・文字の重ね・霞・高さ調整」を、ぜんぶ最初から代わりにやってくれる箱なんです。私がCSSで一生懸命やろうとしていたことは、全部この箱の中に、最初から用意されていました。

CSSは一行も書いていません。あの !important との戦いは、いったい何だったのか…と、ちょっと笑ってしまいました。

カバーブロックでヒーローを作る手順

AD – 読み進める前のひとやすみ

作り方は、たったこれだけです。

  1. ブロックを追加するところで「カバー」を選ぶ
  2. 背景にしたい画像を選ぶ
  3. 上のツールバーで配置を「全幅」にする
  4. 設定パネルの「オーバーレイ」で、霞の濃さを好みに調整する
  5. カバーの中に、見出しやボタンを入れる

これで、画面いっぱいの背景に、文字がのったヒーローの完成です。霞の濃さは、文字が読みにくければ濃く、写真をもっと見せたければ薄く、その場で調整できます。

スマホ対策は「焦点」だけ覚えればいい

AD – 読み進める前のひとやすみ

ひとつだけ、スマホで気をつけたいことがあります。横長の写真をスマホ(縦長の画面)で表示すると、左右が切り取られて、見せたい部分が見切れることがあるんです。

これも、CSSはいりません。設定パネルにある「焦点(フォーカルポイント)」の丸い点を、見せたい場所にドラッグするだけ。たとえば右にコーヒーカップがある写真なら、点をそこに合わせると、スマホで切り取られても、ちゃんとカップが残ります。

写真を額縁に入れるとき、「ここだけは絶対に見せたい」という一点にピンを刺すイメージです。そのピンを中心に、はみ出る分が切り取られていきます。スマホで見え方が気になったら、まずこの点を動かしてみてください。

まとめ:凝る前に、まずブロックに任せる

AD – 読み進める前のひとやすみ

画面いっぱいのヒーローは、CSSで一から作ろうとすると、全幅・重ね・高さで、あっという間に沼にはまります。でも、カバーブロックを使えば、その全部をWordPressが代わりにやってくれます。

私の教訓はこれです。凝ったCSSを書く前に、まず「これをやってくれるブロックはないかな?」と探してみる。たいていの「よくやりたいこと」は、ブロックの中にもう用意されています。CSSは、ブロックでどうしてもできないときの、最後の手段でいいんです。肩の力を抜いて、まずはブロックに頼ってみてくださいね。

最後まで読んでいただき、ありがとうございました。
おつかれさまでした 🍵

スポンサーリンク