生成コンテンツプロパティ

最終更新:2026-09-13

content 生成コンテンツプロパティ

content プロパティは要素の前後に生成コンテンツを挿入し、::before および ::after 疑似要素に必須です。文字列、画像、カウンター値、属性値を挿入でき、HTML を変更せずに装飾コンテンツの追加、フロートのクリア、リンク URL の表示などによく使われます。

カテゴリ
初期値normal
継承いいえ
適用対象
アニメーションタイプ
CSS バージョンCSS2
状態標準

📝 構文

content: normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quote;

⚙️ 値

タイプ説明
normal | none | <string> | <image> | counter() | attr() | open-quote | close-quote | no-open-quote | no-close-quoteキーワード生成コンテンツ

▶ 例

以下のコードを編集して、プレイグラウンドでライブ結果を確認してください:

🌐 ブラウザーサポート

ブラウザー ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
content v1 v12 v1 v1 v1
すべての主要ブラウザーでサポート
ヒント: content は ::before と ::after 疑似要素にのみ効果があります。省略すると疑似要素はそもそも生成されません。
重要: content 経由で挿入されたコンテンツはスクリーンリーダーに読み上げられないため、ページ理解に重要な情報をここに入れてはいけません。

❓ よくある質問

Qcontent プロパティと HTML に直接書くことの違いは?
Acontent 経由で挿入されるコンテンツはプレゼンテーション層に属します。DOM の一部ではなく、選択やコピーができず、検索エンジンにもインデックスされません。装飾(アイコン、接頭/接尾記号、カウンター番号)には適しています。重要な情報を担うコンテンツは HTML に書く必要があり、スクリーンリーダーが生成コンテンツを読み上げない可能性があるため、中心的な意味を伝えるべきではありません。
Qcontent で画像を挿入するには?
Acontent: url(image.png); と書くと疑似要素の位置に画像を配置でき、リンクや見出しの前の小さなアイコンに便利です。ただし url() ではサイズや配置を制御できません。content: "" に background-image と background-size を組み合わせるか、アイコンフォント、インライン SVG を使用する方がおすすめです。
Qなぜ ::before/::after には常に content: "" が必要なのか?
A疑似要素は content が設定されたときのみ生成されます。空文字列 "" でも同様で、設定しないと疑似要素全体が描画されません。空の content の主な用途は、position を使った装飾要素の描画、フロートのクリア(content: "" + display: table)、背景アイコンのためのスペース確保です。content は疑似要素を「オン」にするスイッチのようなものです。
Qcontent はどのような値をサポートしますか?
A文字列(例:"✓")、url() による画像、counter(name)/counters() によるカウンター、attr(href) による属性値、open-quote/close-quote などの引用符キーワード、および normal と none です。attr() が読み取れるのは文字列型の属性だけで、印刷スタイルでリンクの後ろに完全な URL を表示するのによく使われます。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%