高度なテキスト装飾
テキストの装飾のための HTML には他にも多くの要素がありますが、これは強調と重要性の記事には書かれていません。この記事で説明されている要素はあまり知られていませんが、知っていると役に立ちます(これはまだいかなる意味でも完全なリストではありません)。ここでは、注釈、説明リスト、コンピューターコードとその他の関連テキスト、下付き文字と上付き文字、連絡先情報などのマークアップについて学習します。
前提条件: | 基本的な HTML の構文に載っている、基本的な HTML に精通していること。 見出しと段落およびリストなどのテキストレベルの意味付け。 |
---|---|
学習成果: |
|
引用
HTML には引用をマークアップするための機能もあります。どちらの要素を使用するかは、ブロックとインラインのどちらの引用をマークアップするかによって異なります。
ブロック引用
ブロックレベルの内容(段落、複数の段落、リストなど)の一部が他の場所から引用されている場合、それを示すために <blockquote>
要素で囲み、 cite
属性の中に引用元を指す URL を記載する必要があります。例えば、以下のマークアップは MDN の <blockquote>
要素のページから引用しています。
<p>
The <strong>HTML <code><blockquote></code> Element</strong> (or
<em>HTML Block Quotation Element</em>) indicates that the enclosed text is an
extended quotation.
</p>
これをブロック引用にするには、次のようにします。
<p>こちらが引用です。</p>
<blockquote
cite="https://developer.mozilla.org/ja/docs/Web/HTML/Element/blockquote">
<p>
The <strong>HTML <code><blockquote></code> Element</strong> (or
<em>HTML Block Quotation Element</em>) indicates that the enclosed text is
an extended quotation.
</p>
</blockquote>
ブラウザーの既定のスタイル設定では、これがインデントされた段落として、それが引用であることを示すインジケーターとして表示されます。
インライン引用
インラインの引用は、<q>
要素を使用することを除いて、まったく同じ方法で機能します。例えば、以下のマークアップには MDN の <q>
ページからの引用が含まれています。
<p>
The quote element — <code><q></code> — is
<q cite="https://developer.mozilla.org/ja/docs/Web/HTML/Element/q">
intended for short quotations that don't require paragraph breaks.
</q>
</p>
ブラウザーの既定のスタイル設定では、これは引用符で囲まれた通常のテキストとしてレンダリングされ、次のようになります。
引用元
cite
属性の内容は有用そうに見えますが、残念ながらブラウザーや スクリーンリーダーなどは、この属性を実際にはあまり使用してくれません。 JavaScript や CSS を使って自身の解決策を書かない限り、ブラウザーに cite
の内容を表示させる方法はありません。もしページ上で引用元を利用できるようにしたいのであれば、リンクやその他の適切な方法で本文中に利用できるようにする必要があります。
<cite>
要素がありますが、これは引用されたリソースのタイトル、例えば書籍の名前を格納することを意味しています。しかし、 <cite>
内のテキストを何らかの方法で引用元とリンクできない理由はありません。
<p>
According to the
<a href="/ja/docs/Web/HTML/Element/blockquote">
<cite>MDN blockquote page</cite></a>:
</p>
<blockquote
cite="https://developer.mozilla.org/ja/docs/Web/HTML/Element/blockquote">
<p>
The <strong>HTML <code><blockquote></code> Element</strong> (or
<em>HTML Block Quotation Element</em>) indicates that the enclosed text is
an extended quotation.
</p>
</blockquote>
<p>
The quote element — <code><q></code> — is
<q cite="https://developer.mozilla.org/ja/docs/Web/HTML/Element/q">
intended for short quotations that don't require paragraph breaks.
</q>
— <a href="/ja/docs/Web/HTML/Element/q"><cite>MDN q page</cite></a>.
</p>
引用元は、既定ではイタリック体で表示されます。
アクティブラーニング: 誰がそう言ったの?
もうひとつのアクティブラーニングの例です。この例では、次のことを行ってください。
- 中央の段落を
cite
属性を含むブロック引用にしましょう。 - 3 番目の段落の一部を、
cite
属性を含むインライン引用に変換しましょう。 - 各リンクに
<cite>
要素を含めましょう。
必要な引用元は以下のとおりです。
- Confucius の引用については
http://www.brainyquote.com/quotes/authors/c/confucius.html
- "The Need To Eliminate Negative Self Talk" には
http://example.com/affirmationsforpositivethinking
間違えた場合は、 リセット ボタンを使用していつでもリセットできます。本当に動けなくなったら、答えを表示 ボタンを押して答えを見てください。
略語
略語の例
例をご覧ください。
<p>
We use <abbr>HTML</abbr>, Hypertext Markup Language, to structure our web
documents.
</p>
<p>
I think <abbr title="Reverend">Rev.</abbr> Green did it in the kitchen with
the chainsaw.
</p>
これらは次のように見えます。
メモ:
以前のバージョンの HTML では <acronym>
要素にも対応していましたが、省略形と頭字語の両方を表現するために <abbr>
を使用することにしたため、 HTML 仕様から削除されました。<acronym>
は使用すべきではありません。
アクティブラーニング: 略語のマークアップ
この簡単なアクティブラーニングの課題では、略語をマークアップしていただきたいと思います。以下のサンプルを使用することもできますし、自身のものに置き換えることもできます。
詳細な連絡先のマークアップ
HTML には連絡先の詳細をマークアップするための要素 — <address>
があります。これは単に連絡先の詳細を囲むだけです。例えば、
<address>Chris Mills, Manchester, The Grim North, UK</address>
また、もっと複雑なマークアップや、他にも例えば連絡先情報などを記載することも可能です。
<address>
<p>
Chris Mills<br />
Manchester<br />
The Grim North<br />
UK
</p>
<ul>
<li>Tel: 01234 567 890</li>
<li>Email: me@grim-north.co.uk</li>
</ul>
</address>
なお、リンク先のページに連絡先が記載されている場合は、このような方法でも問題ないでしょう。
<address>
Page written by <a href="../authors/chris-mills/">Chris Mills</a>.
</address>
上付きと下付き
日付、化学式、数式などの項目をマークアップするときには、上付き文字と下付き文字を使用する必要がある場合があります。<sup>
と <sub>
要素がこの仕事を処理します。例えば、
<p>My birthday is on the 25<sup>th</sup> of May 2001.</p>
<p>
Caffeine's chemical formula is
C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub>.
</p>
<p>If x<sup>2</sup> is 9, x must equal 3 or -3.</p>
このコードの出力は次のようになります。
コンピューターのコードの表現
HTML を使用してコンピューターのコードをマークアップするために利用可能な要素がいくつかあります。
<code>
: コンピューターのコードの一般的な部分をマークアップします。<pre>
: 空白を保持する場合(一般的にはコードブロック) — テキストの中でインデントや余分な空白を使用すると、ブラウザーはそれを無視するので、レンダリングされたページにはそれが表示されません。しかし、テキストを<pre></pre>
タグで囲むと、エディターで見たのと同じように空白が表示されるようになります。<var>
: 特に変数名をマークアップするためのものです。<kbd>
: コンピューターに入力されたキーボード(およびその他の種類の)入力をマークアップするためのものです。<samp>
: コンピュータープログラムの出力をマークアップします。
この要素の例と、それらがコンピューターコードを表すのにどのように用いられているかを見ていきましょう。 完全なファイルを見たい場合は、other-semantics.htmlのサンプルファイルを見てください。 ファイルをダウンロードして、ブラウザーで開くためのコードをご覧ください。ここではその一部をご紹介します。
<pre><code>const para = document.querySelector('p');
para.onclick = function() {
alert('Owww, stop poking me!');
}</code></pre>
<p>
You shouldn't use presentational elements like <code><font></code> and
<code><center></code>.
</p>
<p>
In the above JavaScript example, <var>para</var> represents a paragraph
element.
</p>
<p>Select all the text with <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>A</kbd>.</p>
<pre>$ <kbd>ping mozilla.org</kbd>
<samp>PING mozilla.org (63.245.215.20): 56 data bytes
64 bytes from 63.245.215.20: icmp_seq=0 ttl=40 time=158.233 ms</samp></pre>
上記のコードは次のようになります。
日付と時刻をマークアップする
HTML には、時間と日付を機械可読形式でマークアップするための <time>
要素もあります。例えば、
<time datetime="2016-01-20">20 January 2016</time>
なぜこれが有用なのか?さて、人間が日付を書き表す方法はいろいろあります。上の日付はこう書くことができます。
- 20 January 2016
- 20th January 2016
- Jan 20 2016
- 20/01/16
- 01/20/16
- The 20th of next month
- 20e Janvier 2016
- 2016 年 1 月 20 日
- など
しかしこれらの異なる形式はコンピューターでは容易には認識できません。ページ内のすべてのイベントの日付を自動的に取得してカレンダーに挿入する場合はどうなりますか。 <time>
要素を使用すると、この目的のために、明確で機械可読な日時を付けることができます。
上記の基本的な例は単純な機械可読な日付を提供するだけですが、可能な他の多くのオプションがあります。例えば、
<!-- Standard simple date -->
<time datetime="2016-01-20">20 January 2016</time>
<!-- Just year and month -->
<time datetime="2016-01">January 2016</time>
<!-- Just month and day -->
<time datetime="01-20">20 January</time>
<!-- Just time, hours and minutes -->
<time datetime="19:30">19:30</time>
<!-- You can do seconds and milliseconds too! -->
<time datetime="19:30:01.856">19:30:01.856</time>
<!-- Date and time -->
<time datetime="2016-01-20T19:30">7.30pm, 20 January 2016</time>
<!-- Date and time with timezone offset -->
<time datetime="2016-01-20T19:30+01:00">
7.30pm, 20 January 2016 is 8.30pm in France
</time>
<!-- Calling out a specific week number -->
<time datetime="2016-W04">The fourth week of 2016</time>
スキルテスト
この記事の最後に達しましたが、最も大切な情報を覚えていますか?次に進む前に、この情報が身に付いたかどうかを確認するテストがあります。スキルのテスト: 高度な HTML テキストを見てください。