contentプロパティでコンテンツを追加する(2):FirefoxとSafariのCSS
今回は、contentプロパティで画像やキャプションを追加する方法を紹介する。contentプロパティはCSS 2から標準規格に取り入れられたもので、:before/:afterセレクタといっしょに利用することで文字や画像を追加することができる。
見出しの前に画像を追加する
前回の「contentプロパティでコンテンツを追加する(1)--FirefoxとSafariのCSS」ではcontentプロパティで文字列を追加したが、画像を追加することも可能だ。画像を追加するには、次のように「url(〜)」という形で画像のURLを指定する。ここでは<h1>でマークアップした見出しの前にmark.pngを追加するように指定した。
見出しの前に画像を追加したもの
h1:before {
content: url(mark.png);
}
<h1>こんにちは</h1>
※ブラウザで表示を確認する
contentプロパティによる画像の追加には、Firefox、Safari、Operaが対応している。Internet Explorer 8(ベータ版)は文字列の追加には対応したが、画像の追加には対応していない。
また、CSSの標準規格では「content: url(〜)」と記述することで画像以外の外部ファイルを読み込むことも想定されている。しかし、現状ではどのブラウザも画像の読み込みだけをサポートしている。
contentプロパティで画像を追加するメリット
画像はHTML/XHTMLの<img />タグで追加することができるが、スタイルシートを利用した方が画像の追加や差し替えに手間がかからないというメリットがある。
たとえば、次のサンプルのように、クラス名を「new」と指定した見出しにだけ画像を追加することも可能だ。ここでは、見出しの後ろに新着を示す画像を追加している。
出しの後に画像を追加したもの
h1.new:after {
content: url(new.png);
}
<h1 class="new">見出しA</h1> <h1 class="new">見出しB</h1> <h1>見出しC</h1> <h1>見出しD</h1> <h1>見出しE</h1>
※ブラウザで表示を確認する
また、スタイルシートで見出しに画像を追加する場合、現状では画像を背景画像として追加するテクニックが広く利用されている。たとえば、次のサンプルの場合、「見出しA」にはcontentプロパティで、「見出しB」にはbackground-imageプロパティで画像を追加している。ブラウザ画面の表示だけであれば、大きな違いは発生しない。
contentとbackground-imageで画像を追加したもの
h1.head01:before {
content: url(mark.png);
}
h1.head02 {
background-image: url(mark.png);
background-repeat: no-repeat;
padding-left: 28px;
}
<h1 class="head01">見出しA</h1> <h1 class="head02">見出しB</h1>
※ブラウザで表示を確認する
しかし、ブラウザが背景を印刷しない設定になっていると、contentプロパティで追加した画像は印刷されるが、background-imageプロパティで追加した画像は印刷されない。
たとえば、Firefoxの[ファイル]→[ページ設定]で「背景色と背景画像も印刷」のチェックを外すと、上のソースの印刷結果は次の画像のようになる。多様なユーザー環境で意図したデザインを維持するためには、contentプロパティを利用する方がメリットがあると言える。
背景を印刷しない設定にしたときの印刷結果
alt属性の値を画像のキャプションとして表示する
- 特集: FirefoxとSafariのCSS徹底検証 (59件)
- 昨日のトップ記事
- 2日前
- 7日前
- 8日前
- 9日前
- ホワイトペーパー
- 企画特集
◆エン・ジャパン厳選求人☆毎週更新◆
御社のログ活用しませんか!?
仮想環境を実現するソリューション特集
SOA、BPM、SaaS −今、企業に必要なこと
ESBでIT投資の無駄を劇的に解消する
ロリポップ!がリニューアル
【徹底対談】運用管理ツールの賢い使い方
今注目の「サジェスト検索」−デモ掲載中
そのストレージで仮想化に対応できますか?
セキュリティ&ユーザ事例【SIer Club】
ストレージメディア特設サイト開設
パンデミック対策特集
中小企業のセキュリティリスクとは?
集積度も性能も、業界最高水準のブレードPC
インターネット上の悪意を未然に防ぐには?
- ■ストレージ容量50%削減保証■
- エンタープライズにおけるSUSEの強み
- サービス・ドリヴン・データセンター
- サーバー監視・運用のコストを削減するには
- 話題のタグ
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――