| この記事の要点 |
|
del 要素とは
<del>(deleted)は削除されたテキストを表す HTML 要素です。HTML4 の頃から存在し、デフォルトのスタイルは取り消し線(text-decoration: line-through)。意味的には「以前は載っていたが取り消された情報」を表現します。
基本構文
<p>定価 <del>1980円</del> 特価 980円</p>
<p>会議は <del>3月10日</del> <ins>3月15日</ins> に変更されました。</p>
属性
| 属性 | 意味 | 例 |
|---|---|---|
cite | 削除理由を説明する URL | cite="/changelog" |
datetime | 削除日時(ISO 8601) | datetime="2026-03-15T10:00" |
<p>料金は <del cite="/news/price-update" datetime="2026-01-15">月額500円</del>
<ins datetime="2026-01-15">月額780円</ins> に改定されました。</p>
<del> と <s> と <strike> の違い
| 要素 | 意味 | 用途 | 現状 |
|---|---|---|---|
<del> | 編集により削除されたテキスト | 編集履歴・訂正 | HTML5 推奨 |
<s> | もはや正確でない / 関連性のないテキスト | 無効化された情報(在庫切れ等) | HTML5 推奨 |
<strike> | 取り消し線(装飾のみ) | 装飾 | HTML5 で廃止 |
意味の使い分け:
- 編集で消えた(前の版にはあった)→
<del> - もう正しくない(在庫切れ、終了したキャンペーン)→
<s> - 単なる装飾 → CSS の
text-decoration: line-through
ブロックレベルとインラインの両方で使える
<del> はトランスペアレントコンテンツモデルのため、ブロック要素もインライン要素も子に持てます。段落全体を削除済みにすることも可能です。
<!-- インライン使用 -->
<p>料金は <del>500円</del> 780円</p>
<!-- ブロック使用 -->
<del>
<p>この機能は廃止されました。</p>
<p>代わりに新機能をお使いください。</p>
</del>
CSS でスタイル変更
/* デフォルトの取り消し線を消す */
del {
text-decoration: none;
color: #999;
}
/* 取り消し線の色を変える */
del {
text-decoration: line-through #d00 2px;
}
/* ホバー時のみ取り消し線表示 */
del { text-decoration: none; }
del:hover { text-decoration: line-through; }
SEO とアクセシビリティ
スクリーンリーダーは多くの場合 <del> を「削除:〜」のように読み上げます。一方、CSS の text-decoration: line-through だけだと読み上げは変化しません。意味的に削除を伝えたい場合は必ず <del> を使うべきです。
SEO 観点では、Google は <del> 内のテキストもインデックス対象とします。ただし更新後の情報を <ins> 等で明示しておくと、検索ユーザーが現状を理解しやすくなります。
典型ユースケース
- 価格訂正:
<del>1980円</del> 980円 - 記事の更新履歴: 「以前は誤って〜と記載していました」
- ToDo リスト: 完了タスクに
<del> - 差分表示: 旧版を
<del>、新版を<ins>
FAQ
Q: 取り消し線だけ表示したい場合は?
A: 編集による削除でないなら <s> を使うか、装飾なら span style="text-decoration:line-through"。<del> は意味的に「削除」を表すので、安易な装飾用途には避けましょう。
Q: datetime 属性のフォーマットは?
A: ISO 8601 形式。日付のみなら 2026-03-15、時刻まで含めるなら 2026-03-15T10:30:00+09:00。タイムゾーンを明示するなら末尾に +09:00 または Z(UTC)。
Q: <del> と <ins> をネストできる?
A: 可能。例えば「以前は削除されていた追加文」を表すような複雑な編集履歴も表現できます。ただし、可読性の観点から多重ネストは避けるべきです。
Q: GitHub の差分表示のように使える?
A: 段落単位の差分は <del> と <ins> で表現できます。コードの行単位差分には <pre> 内で個別に色付けする方法が一般的です。
HTML5 仕様の参考
HTML5 で <del> と <ins> はカテゴリとしては「フローコンテンツ」と「フレージングコンテンツ」の両方になる珍しい要素です。これによりブロック要素を子に含めても OK、段落の中に置いても OK という柔軟性を実現しています。仕様上は HTML4 から存在し、cite と datetime 属性も HTML4 の時点で定義されています。
関連
- ins 要素 — 追加されたテキスト
- s 要素 — もはや正確でないテキスト
- strike 要素 — HTML5 で廃止された取り消し線要素
- blockquote 要素 — 引用ブロック(cite 属性が同様)
- mark 要素 — ハイライト表示
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Git pushした変更の取消し|revert・履歴変更と保護の注意点 2026-10-15 23:49:01
- Gitでローカルを戻す前に|reset・restoreの違いと退避範囲 2026-10-15 23:49:01
- Git rebaseの使い方|対象範囲・競合解決・pushの判断 2026-10-15 22:50:59
- Git pullの使い方|取込み先・ff-only・競合とstashの注意点 2026-10-15 22:50:59
- Git pushの使い方|送信先・タグ・force-with-leaseの条件 2026-10-15 22:12:47
- Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い 2026-10-15 22:12:47
- Gitリモートリポジトリの作成|初回push・既存履歴・mirrorの注意 2026-10-15 15:48:16
- Gitのuser.name・user.email設定|local/global・確認と過去履歴の注意 2026-10-15 15:30:07
- LinuxにGitをインストール|配布元・初期設定・TLSと認証の確認 2026-10-15 15:30:06
- Git導入と初回push|Linuxサーバー・Windows/macOS・SSH設定 2026-10-15 14:51:54
- Db2のCREATE INDEX|索引定義・INCLUDEと実行計画の確認 2026-10-15 14:10:22
- Db2の自動採番|IDENTITY・ID取得とRESTARTの注意点 2026-10-15 14:10:22
- 【DB2】特定スキーマの全テーブルの全カラム情報を取得する方法 2026-10-15 13:53:15
- Db2のシーケンスとIDENTITYの違い|採番とカタログの確認SQL 2026-10-15 13:53:15
- Db2で複数カラムをUPDATEする方法|SET・WHEREと更新前の値 2026-10-15 13:53:15