Twitterはこちら仕事依頼はこちら

画像キャプションをアイコンで超可愛くする【HTML/CSS】

HTML、CSSを使って画像キャプションを可愛いくする

当サイトでは、Amazonアソシエイトをはじめとした第三者配信のアフィリエイトプログラムにより商品・サービスをご紹介、適格販売により収入を得ています。

かわいいものは好きですかー?

ということで今回はHTMLとCSSで画像のキャプションを可愛くします。

image-sample
ここに画像の説明を入れます

その前に…

画像キャプションのHTMLはfigure、figcaptionを使うのが一般的ですが仕様上実現が難しかったのでpタグを使っています。

2019/7/31更新:figureタグを使った方法を教えていただいたのでそちらのやり方も追記します。

コピペでできるようになっていますが、

  • 環境とアイコン画像によって各自位置を変更する必要があります。
  • 文字数によっては表示が収まらずに崩れてしまうことがあります。

また、当たり前ですがアイコン画像を各自用意する必要があります。

ちなみに紹介してるサンプルの素材はillust STAMPOさんのを使わせていただいてます!無料で利用可能です。オリジナルを作りたい人はココナラがオススメです。

figureタグを使う方法、pタグを使う方法の2通り紹介します。どちらか片方でOKです!

画像のキャプション(見出し)を入れる場合はfigure推奨です。効果音や感想など画像と関係のない言葉を入れるならpタグで!

作るのが楽なのはfigureの方ですかね!

ちなみにタグの違いは…

figureタグで囲む

本文の補足として挿入してる画像はfigureタグで囲みます。キャプション(見出し)が入れられます。
figureタグを使う方法へ

pタグで囲む

補足ではなく画像自体に意味があればpタグで画像を囲みます。
pタグを使う方法へ

流れは以下の通りです。

手順
  1. 共通CSSをコピペ
  2. サンプルを選びCSSをコピペ
  3. 試しにHTMLを入力
  4. 表示を確認しながら位置調整

STEP1:共通のCSSをコピペする(figure ver.)

下記CSSコードをコピペしてください。

メモ

WordPressの場合は「外観→テーマエディター→style.css(子テーマ)」。もしくは、「外観→カスタマイズ→追加CSS」に貼り付けてください。

  1. /************************************
  2. ** 画像キャプション(figure)
  3. ************************************/
  4. .figure-caption-icon-wrap{
  5. margin:0 auto 2em;
  6. display:-webkit-box;
  7. display:-ms-flexbox;
  8. display:flex;
  9. -webkit-box-pack: center;
  10. -ms-flex-pack: center;
  11. justify-content: center;
  12. }
  13. .figure-caption-icon-wrap > figure{
  14. position:relative;
  15. }
  16. .figure-caption-icon-wrap > figure > img,.figure-caption-icon-wrap > figure >amp-img{
  17. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  18. display:block;
  19. }
  20. .figure-caption-icon-wrap > figure > amp-img{
  21. max-width:800px;
  22. }
  23. .figure-caption-icon-wrap figure figcaption{
  24. display:-webkit-box;
  25. display:-ms-flexbox;
  26. display:flex;
  27. align-items: flex-start;
  28. position: absolute;
  29. font-size: 13px;/* 文字の大きさ */
  30. line-height: 1.5;/* 行間 */
  31. color:#777;/* 文字色 */
  32. }
  33. .figure-caption-icon-wrap .caption-icon-img{
  34. position: absolute;
  35. }
  36. .figure-caption-icon-wrap .img-caption-text{
  37. position:relative;
  38. }
/************************************
** 画像キャプション(figure)
************************************/
.figure-caption-icon-wrap{
	margin:0 auto 2em;
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.figure-caption-icon-wrap > figure{
	position:relative;
}
.figure-caption-icon-wrap > figure > img,.figure-caption-icon-wrap > figure >amp-img{
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
	display:block;
}
.figure-caption-icon-wrap > figure > amp-img{
	max-width:800px;
}
.figure-caption-icon-wrap figure figcaption{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	align-items: flex-start;
  	position: absolute;
  	font-size: 13px;/* 文字の大きさ */
  	line-height: 1.5;/* 行間 */
	color:#777;/* 文字色 */
}
.figure-caption-icon-wrap .caption-icon-img{
   position: absolute;
}
.figure-caption-icon-wrap .img-caption-text{
	position:relative;
}

STEP2:サンプルを選びCSSをコピペする(figure ver.)

サンプルを5つ用意しました。やりたいことに一番近いサンプルを選び、CSSをコピペしてください。

デザインサンプル1:左上に表示させる

image-sample
ここに画像の説明を入れます


※こちらはfigureタグを使ったやり方です。

  1. <div class="figure-caption-icon-wrap figure-caption-icon-1">
  2. <figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
  3. </div>
<div class="figure-caption-icon-wrap figure-caption-icon-1">
<figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
</div>

  1. /************************************
  2. ** 画像キャプション figure アイコン①(左上)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-1{
  6. margin-top:5em;/* 上に余白 */
  7. }
  8. /* アイコン+テキスト*/
  9. .figure-caption-icon-1 > figure figcaption{
  10. left: 0;/* 左から数値分移動 */
  11. bottom: calc(100% - 8px);/* 下から数値分移動 */
  12. min-height: 30px;
  13. padding: 0.5em 0 25px 4em;/* 余白(ここで文字の位置調整) */
  14. }
  15. /* アイコン*/
  16. .figure-caption-icon-1 > figure figcaption::before{
  17. position: absolute;
  18. content: "";
  19. bottom:0; /* 下から数値分移動 */
  20. left: 0; /* 左から数値分移動 */
  21. display: block;
  22. width: 50px; /* 横幅*/
  23. height: 60px; /* 高さ*/
  24. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  25. background-size: contain;
  26. background-repeat: no-repeat;
  27. }
  28. /* 吹き出し*/
  29. .figure-caption-icon-1 .img-caption-text::before, .figure-caption-icon-1 .img-caption-text::after {
  30. border-bottom: 1px solid #777;
  31. content: "";
  32. width: 1em;
  33. position: absolute;
  34. top: -8px;
  35. left: 0;
  36. transform: rotate(-45deg);
  37. }
  38. /* 吹き出し*/
  39. .figure-caption-icon-1 .img-caption-text::after {
  40. top: auto;
  41. bottom: -8px;
  42. transform: rotate(45deg);
  43. }
/************************************
** 画像キャプション figure アイコン①(左上)
************************************/
/* 全体 */
.figure-caption-icon-1{
    margin-top:5em;/* 上に余白 */
}
 /* アイコン+テキスト*/
.figure-caption-icon-1 > figure figcaption{
    left: 0;/* 左から数値分移動 */
    bottom: calc(100% - 8px);/* 下から数値分移動 */
    min-height: 30px;
    padding: 0.5em 0 25px 4em;/* 余白(ここで文字の位置調整) */
}
 /* アイコン*/
.figure-caption-icon-1 > figure figcaption::before{
    position: absolute;
    content: "";
    bottom:0; /* 下から数値分移動 */
    left: 0; /* 左から数値分移動 */
    display: block;
    width: 50px; /* 横幅*/
    height: 60px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
}
 /* 吹き出し*/
.figure-caption-icon-1 .img-caption-text::before, .figure-caption-icon-1 .img-caption-text::after {
    border-bottom: 1px solid #777;
    content: "";
    width: 1em;
    position: absolute;
    top: -8px;
    left: 0;
    transform: rotate(-45deg);
}
/* 吹き出し*/
.figure-caption-icon-1 .img-caption-text::after {
    top: auto;
    bottom: -8px;
    transform: rotate(45deg);
}

アイコン画像はurl()の中に画像URLを入れますがWordPressの場合、メディア→リンクをコピーで調べられます。

メディアからリンクをコピー
画像URLの調べ方

デザインサンプル2:左下に表示させる

image-sample
ここに画像の説明を入れます


※こちらはfigureタグを使ったやり方です。

  1. <div class="figure-caption-icon-wrap figure-caption-icon-2">
  2. <figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
  3. </div>
<div class="figure-caption-icon-wrap figure-caption-icon-2">
<figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
</div>


  1. /************************************
  2. ** 画像キャプション figure アイコン②(左下)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-2{
  6. margin-bottom:5em; /* 下に余白 */
  7. }
  8. /* アイコン+テキスト*/
  9. .figure-caption-icon-2 > figure figcaption{
  10. left: 0; /* 左から数値分移動 */
  11. top: calc(100% - 5px);/* 上から数値分移動 */
  12. min-height: 30px;
  13. padding: 15px 0px 25px 60px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
  14. }
  15. /* アイコン*/
  16. .figure-caption-icon-2 > figure figcaption::before{
  17. position: absolute;
  18. content: "";
  19. top:0;/* 上から数値分移動 */
  20. left: 0; /* 左から数値分移動 */
  21. display: block;
  22. width: 50px; /* 横幅*/
  23. height: 60px; /* 高さ*/
  24. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  25. background-size: contain;
  26. background-repeat: no-repeat;
  27. }
/************************************
** 画像キャプション figure アイコン②(左下)
************************************/
 /* 全体 */
.figure-caption-icon-2{
	margin-bottom:5em; /* 下に余白 */
}
 /* アイコン+テキスト*/
.figure-caption-icon-2 > figure figcaption{
    left: 0; /* 左から数値分移動 */
    top: calc(100% - 5px);/* 上から数値分移動 */
    min-height: 30px;
    padding: 15px 0px 25px 60px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
}
 /* アイコン*/
.figure-caption-icon-2 > figure figcaption::before{
    position: absolute;
    content: "";
    top:0;/* 上から数値分移動 */
    left: 0; /* 左から数値分移動 */
    display: block;
    width: 50px; /* 横幅*/
    height: 60px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
}

アイコン画像はurl()の中に画像URLを入れますがWordPressの場合、メディア→リンクをコピーで調べられます。

メディアからリンクをコピー
画像URLの調べ方

デザインサンプル3:中央上に表示させる

image-sample
ここに画像の説明を入れます


※こちらはfigureタグを使ったやり方です。

  1. <div class="figure-caption-icon-wrap figure-caption-icon-3">
  2. <figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
  3. </div>
<div class="figure-caption-icon-wrap figure-caption-icon-3">
<figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
</div>


  1. /************************************
  2. ** 画像キャプション figure アイコン③(中央)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-3{
  6. margin-top:6em;/* 上に余白 */
  7. }
  8. /* アイコン+テキスト*/
  9. .figure-caption-icon-3 > figure figcaption{
  10. left: 50%;/* 左から数値分移動 */
  11. bottom: calc(100% - 8px);/* 下から数値分移動 */
  12. min-height: 30px;
  13. padding: 0px 0px 55px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
  14. -webkit-transform: translateY(0) translateX(-50%);
  15. transform: translateY(0) translateX(-50%);
  16. width:100%;
  17. }
  18. /* アイコン*/
  19. .figure-caption-icon-3 > figure figcaption::before{
  20. position: absolute;
  21. content: "";
  22. bottom:0; /* 下から数値分移動 */
  23. left: 50%; /* 左から数値分移動 */
  24. display: block;
  25. width: 70px; /* 横幅*/
  26. height: 50px; /* 高さ*/
  27. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  28. background-size: contain;
  29. background-repeat: no-repeat;
  30. -webkit-transform: translateY(0) translateX(-50%);
  31. transform: translateY(0) translateX(-50%);
  32. }
  33. .figure-caption-icon-3 .img-caption-text{
  34. left:50%;
  35. -webkit-transform: translateY(0) translateX(-50%);
  36. transform: translateY(0) translateX(-50%);
  37. }
  38. /* 吹き出し(左右)*/
  39. .figure-caption-icon-3 .img-caption-text::before, .figure-caption-icon-3 .img-caption-text::after {
  40. border-bottom: 1px solid #777;
  41. content: "";
  42. width: 1em;
  43. position: absolute;
  44. }
  45. /* 吹き出し(左)*/
  46. .figure-caption-icon-3 .img-caption-text::before{
  47. bottom:9px;
  48. left:-20px;
  49. transform: rotate(45deg);
  50. }
  51. /* 吹き出し(右)*/
  52. .figure-caption-icon-3 .img-caption-text::after {
  53. bottom: 9px;
  54. right: -17px;
  55. transform: rotate(-45deg);
  56. }
/************************************
** 画像キャプション figure アイコン③(中央)
************************************/
/* 全体 */
.figure-caption-icon-3{
    margin-top:6em;/* 上に余白 */
}
 /* アイコン+テキスト*/
.figure-caption-icon-3 > figure figcaption{
    left: 50%;/* 左から数値分移動 */
    bottom: calc(100% - 8px);/* 下から数値分移動 */
    min-height: 30px;
    padding: 0px 0px 55px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
    width:100%;
}
 /* アイコン*/
.figure-caption-icon-3 > figure figcaption::before{
    position: absolute;
    content: "";
    bottom:0; /* 下から数値分移動 */
    left: 50%; /* 左から数値分移動 */
    display: block;
    width: 70px; /* 横幅*/
    height: 50px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
}
.figure-caption-icon-3 .img-caption-text{
    left:50%;
    -webkit-transform: translateY(0) translateX(-50%);
    transform: translateY(0) translateX(-50%);
}
 /* 吹き出し(左右)*/
.figure-caption-icon-3 .img-caption-text::before, .figure-caption-icon-3 .img-caption-text::after {
    border-bottom: 1px solid #777;
    content: "";
    width: 1em;
    position: absolute;
}
/* 吹き出し(左)*/
.figure-caption-icon-3 .img-caption-text::before{
    bottom:9px;
    left:-20px;
    transform: rotate(45deg);
}
/* 吹き出し(右)*/
.figure-caption-icon-3 .img-caption-text::after {
    bottom: 9px;
    right: -17px;
    transform: rotate(-45deg);
}

アイコン画像はurl()の中に画像URLを入れますがWordPressの場合、メディア→リンクをコピーで調べられます。

メディアからリンクをコピー
画像URLの調べ方

デザインサンプル4:右上に表示させる

image-sample
ここに画像の説明を入れます


※こちらはfigureタグを使ったやり方です。

  1. <div class="figure-caption-icon-wrap figure-caption-icon-4">
  2. <figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
  3. </div>
<div class="figure-caption-icon-wrap figure-caption-icon-4">
<figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
</div>


  1. /************************************
  2. ** 画像キャプション figure アイコン④(右上)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-4{
  6. margin-top:5em;/* 上に余白 */
  7. }
  8. /* アイコン+テキスト*/
  9. .figure-caption-icon-4 > figure figcaption{
  10. right: 0;/* 右から数値分移動 */
  11. bottom: calc(100% - 8px);/* 下から数値分移動 */
  12. min-height: 30px;
  13. padding: 0px 85px 25px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
  14. text-align:right;
  15. }
  16. /* アイコン*/
  17. .figure-caption-icon-4 > figure figcaption::before{
  18. position: absolute;
  19. content: "";
  20. bottom:0; /* 下から数値分移動 */
  21. right: 0; /* 右から数値分移動 */
  22. display: block;
  23. width: 75px; /* 横幅*/
  24. height: 40px; /* 高さ*/
  25. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  26. background-size: contain;
  27. background-repeat: no-repeat;
  28. }
  29. /* 吹き出し*/
  30. .figure-caption-icon-4 .img-caption-text::before, .figure-caption-icon-4 .img-caption-text::after {
  31. border-bottom: 1px solid #777;
  32. content: "";
  33. width: 1em;
  34. position: absolute;
  35. top: -8px;
  36. right: 0;
  37. transform: rotate(45deg);
  38. }
  39. /* 吹き出し*/
  40. .figure-caption-icon-4 .img-caption-text::after {
  41. top: auto;
  42. bottom: -8px;
  43. transform: rotate(-45deg);
  44. }
/************************************
** 画像キャプション figure アイコン④(右上)
************************************/
/* 全体 */
.figure-caption-icon-4{
    margin-top:5em;/* 上に余白 */
}
 /* アイコン+テキスト*/
.figure-caption-icon-4 > figure figcaption{
    right: 0;/* 右から数値分移動 */
    bottom: calc(100% - 8px);/* 下から数値分移動 */
    min-height: 30px;
    padding: 0px 85px 25px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
    text-align:right;
}
 /* アイコン*/
.figure-caption-icon-4 > figure figcaption::before{
    position: absolute;
    content: "";
    bottom:0; /* 下から数値分移動 */
    right: 0; /* 右から数値分移動 */
    display: block;
    width: 75px; /* 横幅*/
    height: 40px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
}
 /* 吹き出し*/
.figure-caption-icon-4 .img-caption-text::before, .figure-caption-icon-4 .img-caption-text::after {
    border-bottom: 1px solid #777;
    content: "";
    width: 1em;
    position: absolute;
    top: -8px;
    right: 0;
    transform: rotate(45deg);
}
/* 吹き出し*/
.figure-caption-icon-4 .img-caption-text::after {
    top: auto;
    bottom: -8px;
    transform: rotate(-45deg);
}

アイコン画像はurl()の中に画像URLを入れますがWordPressの場合、メディア→リンクをコピーで調べられます。

メディアからリンクをコピー
画像URLの調べ方

デザインサンプル5:右に表示させる

image-sample
短めな説明


※こちらはfigureタグを使ったやり方です。

  1. <div class="figure-caption-icon-wrap figure-caption-icon-5">
  2. <figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
  3. </div>
<div class="figure-caption-icon-wrap figure-caption-icon-5">
<figure>ここに画像を挿入<figcaption class="img-caption"><span class="img-caption-text">ここにキャプション</span></figcaption></figure>
</div>


  1. /************************************
  2. ** 画像キャプション figure アイコン⑤(右)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-5{
  6. margin-top:5em;/* 上に余白 */
  7. width:85%;
  8. }
  9. /* アイコン+テキスト*/
  10. .figure-caption-icon-5 > figure figcaption{
  11. right: -30px;/* 右から数値分移動 */
  12. bottom: 0;/* 下から数値分移動 */
  13. padding: 0px 10px 65px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
  14. -webkit-writing-mode: vertical-rl;
  15. -ms-writing-mode: tb-rl;
  16. writing-mode: vertical-rl;
  17. line-height:1.2;
  18. }
  19. /* アイコン*/
  20. .figure-caption-icon-5 > figure figcaption::before{
  21. position: absolute;
  22. content: "";
  23. bottom:0; /* 下から数値分移動 */
  24. right: 0; /* 右から数値分移動 */
  25. display: block;
  26. width: 50px; /* 横幅*/
  27. height: 60px; /* 高さ*/
  28. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  29. background-size: contain;
  30. background-repeat: no-repeat;
  31. }
/************************************
** 画像キャプション figure アイコン⑤(右)
************************************/
/* 全体 */
.figure-caption-icon-5{
    margin-top:5em;/* 上に余白 */
    width:85%;
}
 /* アイコン+テキスト*/
.figure-caption-icon-5 > figure figcaption{
    right: -30px;/* 右から数値分移動 */
    bottom: 0;/* 下から数値分移動 */
    padding: 0px 10px 65px 0px;/* 余白(ここで文字の位置調整(上 右 下 左)) */
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height:1.2;
}
 /* アイコン*/
.figure-caption-icon-5 > figure figcaption::before{
    position: absolute;
    content: "";
    bottom:0; /* 下から数値分移動 */
    right: 0; /* 右から数値分移動 */
    display: block;
    width: 50px; /* 横幅*/
    height: 60px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
}

アイコン画像はurl()の中に画像URLを入れますがWordPressの場合、メディア→リンクをコピーで調べられます。

メディアからリンクをコピー
画像URLの調べ方

STEP3:サンプルからHTMLをコピペする(figure ver.)

HTMLをコピペします。

CSSをコピペしたサンプルのHTMLをコピーしてください。

WordPressの場合、HTMLは投稿画面でコードエディター(テキストエディタ)に貼り付ければOKです。

gutenbergコードエディタ
Gutenbergの場合
テキストエディタ
従来のエディターの場合

HTMLをコピペして画像を追加、キャプションを入力します。

プレビューで確認してみましょう!

STEP4:コピペしたCSSから位置やサイズを調整する(figure ver.)

変更する可能性があるものにはコメントで補足しています。

まずアイコンのサイズ調整。

  1. /************************************
  2. ** 画像キャプション figure アイコン①(左上)
  3. ************************************/
  4. /* 全体 */
  5. .figure-caption-icon-1{
  6. margin-top:5em;/* 上に余白 */
  7. }
  8. /* アイコン+テキスト*/
  9. .figure-caption-icon-1 > figure figcaption{
  10. left: 0;/* 左から数値分移動 */
  11. bottom: calc(100% - 8px);/* 下から数値分移動 */
  12. min-height: 30px;
  13. padding: 0.5em 0 25px 4em;/* 余白(ここで文字の位置調整) */
  14. }
  15. /* アイコン*/
  16. .figure-caption-icon-1 > figure figcaption::before{
  17. position: absolute;
  18. content: "";
  19. bottom:0; /* 下から数値分移動 */
  20. left: 0; /* 左から数値分移動 */
  21. display: block;
  22. width: 50px; /* 横幅*/
  23. height: 60px; /* 高さ*/
  24. background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
  25. background-size: contain;
  26. background-repeat: no-repeat;
  27. }
  28. /* 吹き出し*/
  29. .figure-caption-icon-1 .img-caption-text::before, .figure-caption-icon-1 .img-caption-text::after {
  30. border-bottom: 1px solid #777;
  31. content: "";
  32. width: 1em;
  33. position: absolute;
  34. top: -8px;
  35. left: 0;
  36. transform: rotate(-45deg);
  37. }
  38. /* 吹き出し*/
  39. .figure-caption-icon-1 .img-caption-text::after {
  40. top: auto;
  41. bottom: -8px;
  42. transform: rotate(45deg);
  43. }
/************************************
** 画像キャプション figure アイコン①(左上)
************************************/
/* 全体 */
.figure-caption-icon-1{
    margin-top:5em;/* 上に余白 */
}
 /* アイコン+テキスト*/
.figure-caption-icon-1 > figure figcaption{
    left: 0;/* 左から数値分移動 */
    bottom: calc(100% - 8px);/* 下から数値分移動 */
    min-height: 30px;
    padding: 0.5em 0 25px 4em;/* 余白(ここで文字の位置調整) */
}
 /* アイコン*/
.figure-caption-icon-1 > figure figcaption::before{
    position: absolute;
    content: "";
    bottom:0; /* 下から数値分移動 */
    left: 0; /* 左から数値分移動 */
    display: block;
    width: 50px; /* 横幅*/
    height: 60px; /* 高さ*/
    background-image: url(ここにアイコン画像URL); /* アイコン画像(メディア→リンクをコピー)*/
    background-size: contain;
    background-repeat: no-repeat;
}
 /* 吹き出し*/
.figure-caption-icon-1 .img-caption-text::before, .figure-caption-icon-1 .img-caption-text::after {
    border-bottom: 1px solid #777;
    content: "";
    width: 1em;
    position: absolute;
    top: -8px;
    left: 0;
    transform: rotate(-45deg);
}
/* 吹き出し*/
.figure-caption-icon-1 .img-caption-text::after {
    top: auto;
    bottom: -8px;
    transform: rotate(45deg);
}

アイコンのサイズは22行目あたりにあるwidth、heightで決められています。widthが横のサイズでheightが縦のサイズになります。

配置はtop、left、right、bottomの数値で決められています。

これは画像からの距離を示すものになっています。

例えばtop:0;と書けば画像の上から0pxの位置に配置、top:20px;と書けば画像の上から20pxの位置に配置となります。

ちなみにマイナスも使えます。

画像position例
配置決め方の例

デベロッパーツールを使えばすぐに位置決めできるのですが使い方がわからなければ編集→更新を繰り返して地道に調整してみてください。

キャプションのテキストの配置はコメントにも書いてある通りpaddingも関係しています。4つの数字は(上 右 下 左)の余白になっているのでここの数値を変更すれば配置が変わります。

流れは以下の通りです。

手順
  1. 共通CSSをコピペ
  2. サンプルを選びCSSをコピペ
  3. 試しにHTMLを入力
  4. 表示を確認しながら位置調整

STEP1:共通のCSSをコピペする(p ver.)

下記CSSコードをコピペしてください。

メモ

WordPressの場合は「外観→テーマエディター→style.css(子テーマ)」。もしくは、「外観→カスタマイズ→追加CSS」に貼り付けてください。

  1. /************************************
  2. ** 画像キャプション
  3. ************************************/
  4. .caption-icon-wrap{
  5. margin:0 auto 2em;
  6. display:-webkit-box;
  7. display:-ms-flexbox;
  8. display:flex;
  9. -webkit-box-pack: center;
  10. -ms-flex-pack: center;
  11. justify-content: center;
  12. }
  13. .caption-icon-wrap > p{
  14. position:relative;
  15. }
  16. .caption-icon-wrap > p > img,.caption-icon-wrap > p >amp-img{
  17. box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  18. display:block;
  19. }
  20. .caption-icon-wrap > p > amp-img{
  21. max-width:800px;
  22. }
  23. .caption-icon-wrap .img-caption{
  24. position: absolute;
  25. font-size: 13px; /* フォントサイズ*/
  26. line-height:1.5; /* 行間*/
  27. }
  28. .caption-icon-wrap .caption-icon-img{
  29. position: absolute;
  30. }
/************************************
** 画像キャプション
************************************/
.caption-icon-wrap{
   margin:0 auto 2em;
   display:-webkit-box;
   display:-ms-flexbox;
   display:flex;
   -webkit-box-pack: center;
   -ms-flex-pack: center;
   justify-content: center;
}
.caption-icon-wrap > p{
   position:relative;
}
.caption-icon-wrap > p > img,.caption-icon-wrap > p >amp-img{
   box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
   display:block;
}
.caption-icon-wrap > p > amp-img{
   max-width:800px;
}
.caption-icon-wrap .img-caption{
   position: absolute;
   font-size: 13px; /* フォントサイズ*/
   line-height:1.5; /* 行間*/
}
.caption-icon-wrap .caption-icon-img{
   position: absolute;
}

STEP2:サンプルを選びCSSをコピペする(p ver.)

サンプルを5つ用意しました。やりたいことに一番近いサンプルを選び、CSSをコピペしてください。

デザインサンプル1:左上に表示させる

image-sample
ここに画像の説明を入れます



※こちらはpタグを使ったやり方です。

  1. <div class="caption-icon-wrap caption-icon-1">
  2. <p>ここに画像を挿入<span class="img-caption"><br>ここに画像の説明<br></span><span class="caption-icon-img">ここにアイコン挿入</span></p>
  3. </div>
<div class="caption-icon-wrap caption-icon-1">
<p>ここに画像を挿入<span class="img-caption">/<br>ここに画像の説明<br>\</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
</div>

画像はそのままimgタグで入れてください。WordPressの場合はメディアを追加からでOKです。


  1. /************************************
  2. ** 画像キャプション アイコン①(左上)
  3. ************************************/
  4. .caption-icon-1{
  5. margin-top:5em; /* 上に余白 */
  6. }
  7. /* 画像説明文 */
  8. .caption-icon-1 .img-caption{
  9. bottom: 103%; /* 下から数値分移動 */
  10. left: 72px; /* 左から数値分移動 */
  11. }
  12. /* アイコン位置 */
  13. .caption-icon-1 .caption-icon-img{
  14. top: -63px; /* 上から数値分移動 */
  15. left: 5px; /* 左から数値分移動動 */
  16. }
  17. /* アイコン画像 */
  18. .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  19. max-width:60px; /* アイコンサイズ */
  20. margin:0 !important;
  21. padding:0 !important;
  22. }
  23. /*(スマホ)480px以下*/
  24. @media screen and (max-width: 480px){
  25. /* (スマホ)画像説明文 */
  26. .caption-icon-1 .img-caption{
  27. bottom:103%; /* 下から数値分移動 */
  28. left: 52px; /* 左から数値分移動置*/
  29. font-size: 12px; /* フォントサイズ*/
  30. }
  31. /* (スマホ)アイコン位置 */
  32. .caption-icon-1 .caption-icon-img{
  33. top: -43px; /* 上から数値分移動 */
  34. left: 5px; /* 左から数値分移動 */
  35. }
  36. /* (スマホ)アイコン画像 */
  37. .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  38. max-width:40px; /* アイコンサイズ */
  39. }
  40. }
/************************************
** 画像キャプション アイコン①(左上)
************************************/
.caption-icon-1{
  margin-top:5em; /* 上に余白 */
}
/* 画像説明文 */
.caption-icon-1 .img-caption{
  bottom: 103%; /* 下から数値分移動 */
  left: 72px; /* 左から数値分移動 */
}
/* アイコン位置 */
.caption-icon-1 .caption-icon-img{
  top: -63px; /* 上から数値分移動 */
  left: 5px; /* 左から数値分移動動 */
}
/* アイコン画像 */
.caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  max-width:60px; /* アイコンサイズ */
  margin:0 !important;
  padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
  /* (スマホ)画像説明文 */
  .caption-icon-1 .img-caption{
    bottom:103%; /* 下から数値分移動 */
    left: 52px; /* 左から数値分移動置*/
    font-size: 12px; /* フォントサイズ*/
  }
  /* (スマホ)アイコン位置 */
  .caption-icon-1 .caption-icon-img{
    top: -43px; /* 上から数値分移動 */
    left: 5px; /* 左から数値分移動 */
  }
  /* (スマホ)アイコン画像 */
  .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
    max-width:40px; /* アイコンサイズ */
  }
}

デザインサンプル2:左下に表示させる

image-sample出典はぽんひろ.comだ…
ここは俺に任せて…早く…行け…



※こちらはpタグを使ったやり方です。

  1. <div class="caption-icon-wrap caption-icon-2">
  2. <p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
  3. </div>
<div class="caption-icon-wrap caption-icon-2">
<p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
</div>

画像はそのままimgタグで入れてください。WordPressの場合はメディアを追加からでOKです。


  1. /************************************
  2. ** 画像キャプション アイコン②(左下)
  3. ************************************/
  4. .caption-icon-2{
  5. margin-bottom:5em; /* 下に余白 */
  6. }
  7. /* 画像説明文 */
  8. .caption-icon-2 .img-caption{
  9. top: 103%; /* 上から数値分移動 */
  10. left: 75px; /* 左から数値分移動 */
  11. }
  12. /* アイコン位置 */
  13. .caption-icon-2 .caption-icon-img{
  14. bottom:-70px; /* 下から数値分移動 */
  15. left: 5px; /* 左から数値分移動 */
  16. }
  17. /* アイコン画像 */
  18. .caption-icon-2 .caption-icon-img img,.caption-icon-2 .caption-icon-img amp-img{
  19. max-width:60px; /* アイコンサイズ */
  20. margin:0 !important;
  21. padding:0 !important;
  22. }
  23. /*(スマホ)480px以下*/
  24. @media screen and (max-width: 480px){
  25. /* (スマホ)画像説明文 */
  26. .caption-icon-2 .img-caption{
  27. top: 103%; /* 上から数値分移動 */
  28. left: 55px; /* 左から数値分移動 */
  29. font-size: 12px; /* フォントサイズ*/
  30. }
  31. /* (スマホ)アイコン位置 */
  32. .caption-icon-2 .caption-icon-img{
  33. bottom:-50px; /* 下から数値分移動 */
  34. left: 5px; /* 左から数値分移動 */
  35. }
  36. /* (スマホ)アイコン画像 */
  37. .caption-icon-2 .caption-icon-img img,.caption-icon-2 .caption-icon-img amp-img{
  38. max-width:40px; /* アイコンサイズ */
  39. }
  40. }
/************************************
** 画像キャプション アイコン②(左下)
************************************/
.caption-icon-2{
	margin-bottom:5em; /* 下に余白 */
}
/* 画像説明文 */
.caption-icon-2 .img-caption{
	top: 103%; /* 上から数値分移動 */
	left: 75px; /* 左から数値分移動 */
}
/* アイコン位置 */
.caption-icon-2 .caption-icon-img{
	bottom:-70px; /* 下から数値分移動 */
	left: 5px; /* 左から数値分移動 */
}
/* アイコン画像 */
.caption-icon-2 .caption-icon-img img,.caption-icon-2 .caption-icon-img amp-img{
	max-width:60px; /* アイコンサイズ */
	margin:0 !important;
	padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
	/* (スマホ)画像説明文 */
	.caption-icon-2 .img-caption{
		top: 103%; /* 上から数値分移動 */
		left: 55px; /* 左から数値分移動 */
		font-size: 12px; /* フォントサイズ*/
	}
	/* (スマホ)アイコン位置 */
	.caption-icon-2 .caption-icon-img{
		bottom:-50px; /* 下から数値分移動 */
		left: 5px; /* 左から数値分移動 */
	}
	/* (スマホ)アイコン画像 */
	.caption-icon-2 .caption-icon-img img,.caption-icon-2 .caption-icon-img amp-img{
		max-width:40px; /* アイコンサイズ */
	}
}

デザインサンプル3:中央上に表示させる

image-sampleHello!



※こちらはpタグを使ったやり方です。

  1. <div class="caption-icon-wrap caption-icon-3">
  2. <p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
  3. </div>
<div class="caption-icon-wrap caption-icon-3">
<p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
</div>

画像はそのままimgタグで入れてください。WordPressの場合はメディアを追加からでOKです。


  1. /************************************
  2. ** 画像キャプション アイコン③(中央上)
  3. ************************************/
  4. .caption-icon-3{
  5. margin-top:5.5em; /* 上に余白 */
  6. }
  7. /* 画像説明文 */
  8. .caption-icon-3 .img-caption{
  9. top: -75px; /* 上から数値分移動 */
  10. text-align:center;
  11. width:100%;
  12. }
  13. /* 吹き出し */
  14. .caption-icon-3 .img-caption::before{
  15. content:"\ ";
  16. }
  17. /* 吹き出し */
  18. .caption-icon-3 .img-caption::after{
  19. content:" /";
  20. }
  21. /* アイコン位置(中央配置) */
  22. .caption-icon-3 .caption-icon-img{
  23. top: -47px; /* 上から数値分移動 */
  24. left: 50%; /* 左から数値分移動(中央配置) */
  25. -webkit-transform: translateY(0) translateX(-50%);/* (中央配置) */
  26. transform: translateY(0) translateX(-50%);/* (中央配置) */
  27. }
  28. /* アイコン画像 */
  29. .caption-icon-3 .caption-icon-img img,.caption-icon-3 .caption-icon-img amp-img{
  30. max-width:80px; /* アイコンサイズ */
  31. margin:0 !important;
  32. padding:0 !important;
  33. }
  34. /*(スマホ)480px以下*/
  35. @media screen and (max-width: 480px){
  36. /* (スマホ)画像説明文 */
  37. .caption-icon-3 .img-caption{
  38. top:inherit;
  39. bottom: 123%; /* 下から数値分移動 */
  40. font-size: 12px; /* フォントサイズ*/
  41. }
  42. /* (スマホ)アイコン位置 */
  43. .caption-icon-3 .caption-icon-img{
  44. top:-36px; /* 上から数値分移動 */
  45. }
  46. /* (スマホ)アイコン画像 */
  47. .caption-icon-3 .caption-icon-img img,.caption-icon-3 .caption-icon-img amp-img{
  48. max-width:60px; /* アイコンサイズ */
  49. }
  50. }
/************************************
** 画像キャプション アイコン③(中央上)
************************************/
.caption-icon-3{
	margin-top:5.5em; /* 上に余白 */
}
/* 画像説明文 */
.caption-icon-3 .img-caption{
	top: -75px; /* 上から数値分移動 */
	text-align:center;
	width:100%;
}
/* 吹き出し */
.caption-icon-3 .img-caption::before{
	content:"\ ";
}
/* 吹き出し */
.caption-icon-3 .img-caption::after{
	content:" /";
}
/* アイコン位置(中央配置) */
.caption-icon-3 .caption-icon-img{
	top: -47px; /* 上から数値分移動 */
	left: 50%; /* 左から数値分移動(中央配置) */
	-webkit-transform: translateY(0) translateX(-50%);/* (中央配置) */
	transform: translateY(0) translateX(-50%);/* (中央配置) */
}
/* アイコン画像 */
.caption-icon-3 .caption-icon-img img,.caption-icon-3 .caption-icon-img amp-img{
	max-width:80px; /* アイコンサイズ */
	margin:0 !important;
	padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
	/* (スマホ)画像説明文 */
	.caption-icon-3 .img-caption{
		top:inherit;
		bottom: 123%; /* 下から数値分移動 */
		font-size: 12px; /* フォントサイズ*/
	}
	/* (スマホ)アイコン位置 */
	.caption-icon-3 .caption-icon-img{
		top:-36px; /* 上から数値分移動 */
	}
	/* (スマホ)アイコン画像 */
	.caption-icon-3 .caption-icon-img img,.caption-icon-3 .caption-icon-img amp-img{
		max-width:60px; /* アイコンサイズ */
	}
}

デザインサンプル4:右上に表示させる

image-sample眠い…



※こちらはpタグを使ったやり方です。

  1. <div class="caption-icon-wrap caption-icon-4">
  2. <p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
  3. </div>
<div class="caption-icon-wrap caption-icon-4">
<p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
</div>

画像はそのままimgタグで入れてください。WordPressの場合はメディアを追加からでOKです。


  1. /************************************
  2. ** 画像キャプション アイコン④(右上)
  3. ************************************/
  4. .caption-icon-4{
  5. margin-top:5.5em; /* 上に余白 */
  6. }
  7. /* 画像説明文 */
  8. .caption-icon-4 .img-caption{
  9. top: -31px; /* 上から数値分移動 */
  10. right:90px; /* 右から数値分移動 */
  11. text-align:right;/* 段落右寄せ */
  12. }
  13. /* アイコン位置*/
  14. .caption-icon-4 .caption-icon-img{
  15. top: -35px; /* 上から数値分移動 */
  16. right:0; /* 右から数値分移動 */
  17. }
  18. /* アイコン画像 */
  19. .caption-icon-4 .caption-icon-img img,.caption-icon-4 .caption-icon-img amp-img{
  20. max-width:80px; /* アイコンサイズ */
  21. margin:0 !important;
  22. padding:0 !important;
  23. }
  24. /*(スマホ)480px以下*/
  25. @media screen and (max-width: 480px){
  26. /* (スマホ)画像説明文 */
  27. .caption-icon-4 .img-caption{
  28. top:inherit;
  29. bottom: 104%; /* 下から数値分移動 */
  30. right:63px; /* 右から数値分移動 */
  31. font-size: 12px; /* フォントサイズ*/
  32. }
  33. /* (スマホ)アイコン位置 */
  34. .caption-icon-4 .caption-icon-img{
  35. top:-27px; /* 上から数値分移動 */
  36. }
  37. /* (スマホ)アイコン画像 */
  38. .caption-icon-4 .caption-icon-img img,.caption-icon-4 .caption-icon-img amp-img{
  39. max-width:60px; /* アイコンサイズ */
  40. }
  41. }
/************************************
** 画像キャプション アイコン④(右上)
************************************/
.caption-icon-4{
	margin-top:5.5em; /* 上に余白 */
}
/* 画像説明文 */
.caption-icon-4 .img-caption{
	top: -31px; /* 上から数値分移動 */
	right:90px; /* 右から数値分移動 */
	text-align:right;/* 段落右寄せ */
}
/* アイコン位置*/
.caption-icon-4 .caption-icon-img{
	top: -35px; /* 上から数値分移動 */
	right:0; /* 右から数値分移動 */
}
/* アイコン画像 */
.caption-icon-4 .caption-icon-img img,.caption-icon-4 .caption-icon-img amp-img{
	max-width:80px; /* アイコンサイズ */
	margin:0 !important;
	padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
	/* (スマホ)画像説明文 */
	.caption-icon-4 .img-caption{
		top:inherit;
		bottom: 104%; /* 下から数値分移動 */
		right:63px; /* 右から数値分移動 */
		font-size: 12px; /* フォントサイズ*/
	}
	/* (スマホ)アイコン位置 */
	.caption-icon-4 .caption-icon-img{
		top:-27px; /* 上から数値分移動 */
	}
	/* (スマホ)アイコン画像 */
	.caption-icon-4 .caption-icon-img img,.caption-icon-4 .caption-icon-img amp-img{
		max-width:60px; /* アイコンサイズ */
	}
}

デザインサンプル5:右に表示させる

image-sampleチラッ



※こちらはpタグを使ったやり方です。

  1. <div class="caption-icon-wrap caption-icon-5">
  2. <p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
  3. </div>
<div class="caption-icon-wrap caption-icon-5">
<p>ここに画像を挿入<span class="img-caption">ここに画像の説明</span><span class="caption-icon-img">ここにアイコン挿入</span></p>
</div>

画像はそのままimgタグで入れてください。WordPressの場合はメディアを追加からでOKです。


  1. /************************************
  2. ** 画像キャプション アイコン⑤(右)
  3. ************************************/
  4. /* 画像説明文 */
  5. .caption-icon-5 .img-caption{
  6. bottom: 90px; /* 下から数値分移動 */
  7. right: -24px;/* 右から数値分移動 */
  8. -webkit-writing-mode: vertical-rl;
  9. -ms-writing-mode: tb-rl;
  10. writing-mode: vertical-rl;
  11. letter-spacing: 3px;
  12. }
  13. /* アイコン位置*/
  14. .caption-icon-5 .caption-icon-img{
  15. bottom: 0; /* 下から数値分移動 */
  16. right: -45px;/* 右から数値分移動 */
  17. }
  18. /* アイコン画像 */
  19. .caption-icon-5 .caption-icon-img img,.caption-icon-5 .caption-icon-img amp-img{
  20. max-width:80px; /* アイコンサイズ */
  21. margin:0 !important;
  22. padding:0 !important;
  23. }
  24. /*(スマホ)480px以下*/
  25. @media screen and (max-width: 480px){
  26. .caption-icon-5> p > img,.caption-icon-5 > p >amp-img{
  27. max-width:320px;
  28. }
  29. /* (スマホ)画像説明文 */
  30. .caption-icon-5 .img-caption{
  31. top:inherit;
  32. bottom: 60px; /* 下から数値分移動 */
  33. right:-22px; /* 右から数値分移動 */
  34. font-size: 12px; /* フォントサイズ*/
  35. line-height:1.2;
  36. }
  37. /* (スマホ)アイコン位置 */
  38. .caption-icon-5 .caption-icon-img{
  39. bottom: 0px;/* 下から数値分移動 */
  40. right:-29px; /* 右から数値分移動 */
  41. }
  42. /* (スマホ)アイコン画像 */
  43. .caption-icon-5 .caption-icon-img img,.caption-icon-5 .caption-icon-img amp-img{
  44. max-width:35px; /* アイコンサイズ */
  45. }
  46. }
/************************************
** 画像キャプション アイコン⑤(右)
************************************/
/* 画像説明文 */
.caption-icon-5 .img-caption{
   bottom: 90px; /* 下から数値分移動 */
   right: -24px;/* 右から数値分移動 */
   -webkit-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   writing-mode: vertical-rl;
   letter-spacing: 3px;
}
/* アイコン位置*/
.caption-icon-5 .caption-icon-img{
   bottom: 0; /* 下から数値分移動 */
   right: -45px;/* 右から数値分移動 */
}
/* アイコン画像 */
.caption-icon-5 .caption-icon-img img,.caption-icon-5 .caption-icon-img amp-img{
   max-width:80px; /* アイコンサイズ */
   margin:0 !important;
   padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
	.caption-icon-5> p > img,.caption-icon-5 > p >amp-img{
		max-width:320px;
	}
	/* (スマホ)画像説明文 */
	.caption-icon-5 .img-caption{
		top:inherit;
		bottom: 60px; /* 下から数値分移動 */
		right:-22px; /* 右から数値分移動 */
		font-size: 12px; /* フォントサイズ*/
		line-height:1.2;
	}
	/* (スマホ)アイコン位置 */
	.caption-icon-5 .caption-icon-img{
		bottom: 0px;/* 下から数値分移動 */
		right:-29px; /* 右から数値分移動 */
	}
	/* (スマホ)アイコン画像 */
	.caption-icon-5 .caption-icon-img img,.caption-icon-5 .caption-icon-img amp-img{
		max-width:35px; /* アイコンサイズ */
	}
}

STEP3:サンプルからHTMLをコピペする(p ver.)

HTMLをコピペします。

先ほど選んだサンプルにあるHTMLをコピーしてください。

WordPressの場合、HTMLは投稿画面でコードエディター(テキストエディタ)に貼り付ければOKです。

gutenbergコードエディタ
Gutenbergの場合
テキストエディタ>
従来のエディターの場合

HTMLをコピペして画像、アイコン画像を挿入します。

プレビューで確認してみましょう!

環境やアイコン画像によってサイズが変わるのでほぼ100%ズレてるかと思います。

STEP4:コピペしたCSSから位置やサイズを調整する(p ver.)

最低限変更するべき箇所はサイズと位置です。あとは余白でしょうか。

サンプル1を例に説明します。

サイズはmax-widthと書いてあるところで調整をしています。ちなみにmax-widthの数値より小さいサイズだとうまく表示されないのでアイコン画像はやや大きめで作るといいと思います。

サンプル1では二箇所書いてあるかと思います。

  1. /************************************
  2. ** 画像キャプション アイコン①(左上)
  3. ************************************/
  4. .caption-icon-1{
  5. margin-top:5em; /* 上に余白 */
  6. }
  7. /* 画像説明文 */
  8. .caption-icon-1 .img-caption{
  9. bottom: 103%; /* 下から数値分移動 */
  10. left: 72px; /* 左から数値分移動 */
  11. }
  12. /* アイコン位置 */
  13. .caption-icon-1 .caption-icon-img{
  14. top: -63px; /* 上から数値分移動 */
  15. left: 5px; /* 左から数値分移動動 */
  16. }
  17. /* アイコン画像 */
  18. .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  19. max-width:60px; /* アイコンサイズ */
  20. margin:0 !important;
  21. padding:0 !important;
  22. }
  23. /*(スマホ)480px以下*/
  24. @media screen and (max-width: 480px){
  25. /* (スマホ)画像説明文 */
  26. .caption-icon-1 .img-caption{
  27. bottom:103%; /* 下から数値分移動 */
  28. left: 52px; /* 左から数値分移動置*/
  29. font-size: 12px; /* フォントサイズ*/
  30. }
  31. /* (スマホ)アイコン位置 */
  32. .caption-icon-1 .caption-icon-img{
  33. top: -43px; /* 上から数値分移動 */
  34. left: 5px; /* 左から数値分移動 */
  35. }
  36. /* (スマホ)アイコン画像 */
  37. .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  38. max-width:40px; /* アイコンサイズ */
  39. }
  40. }
/************************************
** 画像キャプション アイコン①(左上)
************************************/
.caption-icon-1{
  margin-top:5em; /* 上に余白 */
}
/* 画像説明文 */
.caption-icon-1 .img-caption{
  bottom: 103%; /* 下から数値分移動 */
  left: 72px; /* 左から数値分移動 */
}
/* アイコン位置 */
.caption-icon-1 .caption-icon-img{
  top: -63px; /* 上から数値分移動 */
  left: 5px; /* 左から数値分移動動 */
}
/* アイコン画像 */
.caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
  max-width:60px; /* アイコンサイズ */
  margin:0 !important;
  padding:0 !important;
}
/*(スマホ)480px以下*/
@media screen and (max-width: 480px){
  /* (スマホ)画像説明文 */
  .caption-icon-1 .img-caption{
    bottom:103%; /* 下から数値分移動 */
    left: 52px; /* 左から数値分移動置*/
    font-size: 12px; /* フォントサイズ*/
  }
  /* (スマホ)アイコン位置 */
  .caption-icon-1 .caption-icon-img{
    top: -43px; /* 上から数値分移動 */
    left: 5px; /* 左から数値分移動 */
  }
  /* (スマホ)アイコン画像 */
  .caption-icon-1 .caption-icon-img img,.caption-icon-1 .caption-icon-img amp-img{
    max-width:40px; /* アイコンサイズ */
  }
}

コメントに書いてるので何となくわかるかと思いますが上がPC(タブレット)で見たときのサイズ、下はスマホで見たときのサイズになっています。

次に一番大事な位置の決め方です。

位置はtop、left、right、bottomの4つのいずれかを使って決めています。

これは画像からの距離を示すものになっています。

例えばtop:0;と書けば画像の上から0pxの位置に配置、top:20px;と書けば画像の上から20pxの位置に配置となります。

マイナスも使えます。

画像position例
配置決め方の例

PCでのアイコン位置、説明文位置。スマホでのアイコン位置、説明文位置を調整してください。

デベロッパーツールを使えばすぐに位置決めできるのですが使い方がわからなければ更新を繰り返して地道に調整してみてください。

複数のパターンを作りたい場合はそれぞれCSSを用意して位置を調整してください。

HTMLをAddQuicktagに登録しておくと楽

位置が決まればもう終わりです。

WordPress限定ですが何度も使いたい場合はAddQuicktagにHTMLを登録しておきましょう。

あわせて AddQuicktagの使い方と設定方法!

AddQuicktagの使い方と設定方法!Gutenbergでの使い方も紹介するよ!
AddQuicktagの使い方と設定方法をわかりやすく説明します!WordPressの必須プラグインと言われているAddQuicktag!設定は簡単で超便利、超時短になります。Gutenbergでの使い方も紹介します!

導入済みのブログ、サイト紹介させてください

「この記事を見て導入したよ!」という方でSNSやブログでこの記事を紹介していただいた場合、こちらでブログを紹介させていただきます!

紹介したにも関わらず反映されていないという方は、大変申し訳ないのですがご連絡ください!

コメント

  1. こんにちわ、これの画像の部分が、リストの背景になっているバージョンがあればいいなと思いました。

    要するにこのデザインを活かしたリストがあれば良いなと。

    以前に作られた画像つきリストの様に右側の幅を取られなくて良いんじゃないかと思いました。

    • 確かにそれもいいですね!
      ありがとうございます!作ってみます!

  2. 初めまして。いつも参考にさせていただいています。

    今回、このキャプションを導入してみたんですが、画像の幅がワードプレスの記事幅よりも大きくなってしまいます。

    生地の幅に収まるようにしたいんですが、どうしたらいいでしょうか?

    あと、画像が中央になるのも左寄せにしたいと思っています。

    忙しいところ申し訳ありませんが、よろしくお願い致します。

  3. 追記

    画像幅は投稿後に確認したら大丈夫でした。確認不足でコメントして申し訳ありませんでした。

    • >ゆうこさん

      左寄せにするには

      .figure-caption-icon-wrap {
      margin: 0 auto 2em;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      }

      ここのcenterを全てleftにしてみてください!

  4. 初めまして、いつも参考にさせていただいています。

    こちらの画像キャプションですが、3つのキャラを入れてキャプションしたいのですが、うまくいきません。

    以下、HTMLコード。

    M’sのドルフィンスイムは一味違う

    M’sのシャワクラは一味違う

    M’sのラフティングは一味違う

    それぞれ3つの画像に、3人のキャラが各イベントを案内したいのですが、2つのキャラしか表示できません。

    figure-caption-icon-1
    figure-caption-icon-2

    上記を使用して2つのキャラを表示させることができたので、『figure-caption-icon-3』に替えてCSSのbackground-imgeのURLを別キャラのアイコンに替えましたが、うまく表示されませんでした。

    3つのキャラそれぞれが表示される方法はありますか?

    お手数ですが、どうぞよろしくお願い致します。

  5. すいません。
    何故かHTMLコードが上手く送れていませんでした。

    再送します。

    四季折々の最高の遊びを場を共に楽しみましょう。

    M’sのドルフィンスイムは一味違う

    M’sのシャワクラは一味違う

    M’sのラフティングは一味違う

  6. はじめまして。
    とても可愛いカスタマイズを教えていただきありがとうございました。
    可愛くて、さっそく私も作ってみました。

    導入済みの私のサイトを紹介していただけたら嬉しいなと思い、また、お礼も言いたかったのでコメントさせていただいています。

    まだブログも始めたばかりでわからないことも多いのですが
    わかりやすく説明をしてくださったので私でも導入することができました。

    リンクを貼らせていただくのでもしよろしければご覧いただけたらうれしいです。

    https://atelier-seran.com/lucky-color-fusui

    こちらのサイトも折を見て是非紹介させてください。

    今後もサイトの更新を楽しみにしております。
    どうぞよろしくお願いいたします。

ページトップへ