HTML/CSSで画像の上に文字を重ねる方法を解説!

HTML/CSSで画像の上に文字を重ねる方法を解説します。HTML/CSSで画像の上に文字を重ねることで、背景画像にメッセージ性を持たしたり、文字に着目してもらえるといったメリットがあります。ここで紹介する方法をぜひマスターしてください。

コンテンツ [表示]

  1. 1HTML/CSSで画像の上に文字を重ねたい
  2. 2HTML/CSSで画像の上に文字を重ねる方法
  3. 2.1文字を真ん中に配置する方法
  4. 2.2画像の上に文字を重ねる方法
  5. 2.3画像の上にアイコンを重ねる方法
  6. 2.4画像の上にボタンを重ねる方法
  7. 3まとめ

HTML/CSSで画像の上に文字を重ねたい

HTML/CSSで画像の上に文字を重ねて、背景画像にメッセージ性を持たしたり、文字に着目してもらいたい、またおしゃれなWEBサイトを作成したいということがあります。

以下の項目で文字だけでなく、アイコン、ボタンを画像の上に表示させる方法まで紹介します。

Photo by200degrees

HTML/CSSで画像の上に文字を重ねる方法

文字を真ん中に配置する方法

HTML/CSSで画像の上に文字を重ねる方法を紹介する前に、まず文字やアイコン、ボタンを画像の真ん中に配置するため共通で用いるCSSを解説します。

ではサンプルコードを用いて、挙動を確認してみましょう。

このようにボタンが真ん中に配置されていることが分かります。

ではサンプルコードのCSSの解説を行います。

まずbutton要素を真ん中に配置するため、topleft50%にします。

ただそれだけだと文字の大きさ分だけ真ん中からずれてしまうため、transform: translate(-50%, -50%);で縦と横の文字のズレを補正しています。

そして余白が入っていると、中央からズレてしまうため、marginpaddingの値を0としています。これでボタンを画面の真ん中に配置することができます。

今回はこの真ん中に配置する方法を使って画像の上に文字やアイコンを重ねていきます。

画像の上に文字を重ねる方法

画面の上にテキストを重ねるにはCSSのpositionプロパティを用います。

ではサンプルコードを用いて挙動を見てみましょう。

このように画像の上にテキストが重なっていることが分かります。

ではサンプルコードの解説を行います。

まずHTMLではimgp要素をdiv要素で囲みます。そしてCSSで親となるdiv要素にposition: relative;、子となる文字が挿入されているp要素にposition: absolute;を設定します。

あとは画像の真ん中に文字がくるように、真ん中で配置する方法で説明したコードを記述します。

これで画像上の真ん中に文字を表示させることができます。

画像の上にアイコンを重ねる方法

では画像の上にアイコンを重ねる方法について解説します。

こちらの方法は画像の上に文字を重ねる方法とCSSはほとんど同じで、異なるのはHTMLのみとなります。

では実際にサンプルコードを用いて挙動を見てみましょう。

このように画像の上にアイコンが表示されていることが分かります。

ではサンプルコードの解説を行います。

アイコンをFont Awesomeを用いて表示させるために、Font AwesomeのCDNをhead内に追記しましょう。

font-awesomeを利用するためのコード

<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">

そしたらHTMLを画像の上に文字を重ねる方法の時p要素だった部分をアイコン要素に変えます。

CSSではアイコンに透明度を持たせるためにi要素にopacity: 0.5;を設定しています。

あとは画像の上に文字を重ねる方法の時と同じです。

あわせて読みたい
opacity
CSSのopacityプロパティは要素の透明度を指定するプロパティです。opacityプロパティの構文や使い方をサンプルコード付きで解説します。

画像の上にボタンを重ねる方法

最後に画像の上にボタンを重ねる方法について解説します。

方法としては今までと変わりありません。

このように画像の中央にボタンが表示されていることが分かります。

ではサンプルコードの解説を行います。

まずHTMLで画像の上にアイコンを重ねる方法のときにi要素だった部分をbutton要素に変えます。

CSSではbutton要素をホバーしたときにポインターがカーソルになるようにcursorプロパティでpointerを設定し、ボタンの枠を消すためにoutline: none;を設定しています。

あとは画像の上にアイコンを重ねる方法のときと同じです。

まとめ

いかがでしたでしょうか?

画像上の文字を目立たせたい場合、白などの明るめの文字をのせたいときは暗めの画像を、黒などの暗めの文字をのせたいときは明るめの画像を使うのがおすすめです。

ぜひここで紹介した方法を用いて、ユーザを惹きつけるWEBサイトを作成しましょう。

GeekHive採用サイト

関連記事