menu
menu

キーワード検索

 

前月(9月)の人気記事トップ10

  1. ( 1-) 【CSS Tips】CSSだけでドロップダウンメニュー
  2. ( 2-) 【CSS Tips】CSSだけでサイズ可変・スマホ対応のアコーディオン
  3. ( 3-) 【HTML5】スマホサイトの作成・基本編
  4. ( 4-) 【CSS Tips】CSSだけでブロック要素の表示非表示(トグルボタン)
  5. ( 7↑) 【jQuery】表示しているブラウザの高さを取得してCSSのheightに指定
  6. ( 5↓) 【jQuery入門】jQueryで日時を表示
  7. (10↑) 【HTML5】HTML5・ページ作成の基本
  8. ( 9↑) 【MySQL】Windows 10にMySQLをインストール
  9. ( 8↓) 【Mac Tips】MacにInkscapeをインストール
  10. ( 6↓) 【CSS Tips】スマホサイト向け横にスクロールするナビゲーション

【CSS Tips】contentで挿入した画像の中心に元要素のテキストを配置する方法 #2

  • Labs

【CSS Tips】contentで挿入した画像の中心に元要素のテキストを配置する方法 #2

こんにちは(・∀・)

contentプロパティと疑似要素:afterで挿入した画像の中心に、元要素のテキストを配置する方法についてご紹介します。前回の疑似要素:beforeの時と配置する画像の位置が反対になっただけでやり方はほぼ同じです。

contentプロパティ

contentプロパティを使用して画像を配置する場合、前回の疑似要素:beforeの時と同じく、そのままだと画像の真ん中に元になる要素のテキストは来てくれません。そのような時はどうしたら良いのかもうお分かりですね。

今回もpositionプロパティとネガティブマージンを使用して簡単に解決してしまいましょう。

サンプル
サンプル1のHTML

<div class="demo">
<h1>見出し1</h1>
</div>
サンプル1のCSS

.demo h1 {
  background: #eee;
  font-size: 120%;
  margin: 1em 0 2em 0;
}
.demo h1:after {
  content: url(right-arrow.png);
}
サンプル2のHTML

<div class="demo2">
<h1>見出し2</h1>
</div>
<div class="demo3">
<h1>見出し3
見出し3</h1> </div>
サンプル2のCSS

.demo2 h1 {
  position: relative;
  background: #eee;
  font-size: 120%;
  margin: 1em 0 2em 0;
  padding: 0 0 0 10px;
  line-height: 2.3;
}
.demo2 h1:after {
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -20px;
  content: url(right-arrow.png);
}
Result

サンプルデモと解説はこちら


いかがでしたでしょうか、前回の疑似要素:beforeの時とほぼ同じですね。疑似要素:afterで画像を配置するとき、サンプル2のようにpositionプロパティとネガティブマージンを使えば簡単に元要素のテキストを画像の真ん中に配置することができます。

ちなみに疑似要素:afterでもURLを指定して矢印部分にリンクを張りたいところですが、疑似要素:beforeと同じく疑似要素:afterで配置したオブジェクトには実体がないとみなされてURLを指定することはできません。

関連リンク

contentで挿入した画像の中心に元要素のテキストを配置する方法
content(フォント・テキスト)【CSSリファレンス】

  • カテゴリー:Labs