<del>:文書の中で編集によって削除された範囲を表す要素・HTMLタグの解説

取り扱い 標準仕様
カテゴリー フロー・コンテンツ
フレージング・コンテンツ
親にできる要素 フレージング・コンテンツを受け入れる要素
子にできる要素 トランスパレント・コンテンツ
対応ブラウザ caniuseで確認

<del>タグの解説

<del>は、文書の中で編集によって削除された範囲を表します。公開済みのドキュメントを編集した際に、訂正した内容や終了した予定などを削除しつつ、文面には残したいに場合に有効です。指定された範囲は、見た目上の装飾として打ち消し線が引かれます。「del」とは英語で削除を表す「delete」の略語です。

この要素で削除された内容に関する具体的な日時や参照先のURLを、属性を使って付与することもできます。削除された項目に新たな内容が追加された場合は、<ins>で示すことができます。

<del>タグの特徴

  • レイアウトの初期値はインラインです。文章の改行には影響を与えません。
  • 視覚的な効果として打ち消し線が引かれます。これはユーザーエージェントの既定スタイルによるものです。
  • 同一のページ内に複数使うことができます。ただし、この要素自体を入れ子にすることはできません。

<del>要素に指定できる属性

cite
変更が加えられた情報に関する参照先のURLを指定できます。
datetime
変更が加えられた日時をタイムスタンプ形式で表します。例:YYYY-MM-DDThh:mm:ssTZD
グローバル属性
全てのHTML要素に指定できる共通の属性です。詳細は一覧表で解説します。
イベントハンドラ
全てのHTML要素に指定できるコンテンツ属性です。

<del>要素の使い方とサンプルコード

この要素の最も基本的な書き方は以下の通りです。公開されたドキュメントに編集が加わり、削除された部分を表します。


<del>delete</del>

基本的には、同一の段落の中で削除または訂正された部分を表すために使用します。


<p>Text <del>delete</del> text.</p>

この要素は暗黙の段落を横断するような形で配置してはいけません。一つの削除項目は一つの<del>要素として扱い、分割できるものは新たな<del>要素として扱うべきです。


// 誤った書き方
<del>
	<p>Delete some text.</p>
	Another text.
</del>

// 正しい書き方
<del>
	<p>Delete some text.</p>
</del>
<del>
	Another text.
</del>

この要素は、ユーザーの操作やスクリプトを通じて状態が変化するような場所にも活用できます。例えば、以下のように「ToDo List」の項目が達成あるいは期限が過ぎた際に作動するものです。


<div class="sample-block">
	<h2>ToDo List</h2>
	<ul>
		<li>今日やるべきこと</li>
		<li><del datetime="2045-10-09T23:59">昨日やるべきこと</del></li>
		<li><del datetime="2045-10-08T23:59">一昨日やるべきこと</del></li>
	</ul>
</div>

<ins>要素と併用する

<del>は編集(エディット)の意図を表す要素であり、同じく編集を表す要素として<ins>と併用できます。それぞれのスタイルシートを調整して、削除された範囲と追加挿入された範囲が分かりやすく表現してみましょう。


p del {
	text-decoration: line-through rgb(0 0 0 / 0.5);
	background-color: rgb(255 0 0 / 0.3);
}
p ins {
	text-decoration: underline rgb(0 128 0 / 1);
	background-color: rgb(0 255 0 / 0.3);
}

<del>に関連するHTMLタグ

文字列に意味を与える要素
<h1> 〜 <h6> 文書やセクションの見出しを表す
<p> 文章の段落を指定する
<abbr> 略語であることを表す
<address> 連絡先(問い合わせ先)として扱う
<blockquote> 複数行に渡る比較的長い引用分を表す
<cite> 出典先や参照先の題名を表す
<code> プログラムやスクリプトの断片を表す
<data> 文字列に機械的な識別情報を与える
<del> 文書の中で編集によって削除された範囲を表す
<dfn> 定義用語として扱う
<em> 意味を強調する
<hgroup> 見出しに付随する副題やキャッチフレーズをグループ化する
<hr> 段落に区切りを与えて水平線(罫線)を引く
<i> 文章の中で慣用句や特定の用語を表す
<ins> 文章が編集されて新たに追加された部分を表す
<kbd> キーボード入力される文字であることを示す
<q> 行に収まる程度の短い引用を表す
<s> 正確ではなくなった内容であることを表す
<samp> プログラムによる出力結果のサンプルとして扱う
<small> 細則のような付帯注釈を表す
<strong> 重要な情報として扱う
<time> 時刻や日付を正確に表す
<u> 非言語的な注釈があることを示して下線(アンダーライン)を引く
<var> 変数や引数として扱う