--- title: インライン要素 slug: Web/HTML/Inline_elements tags: - Beginner - HTML - HTML 要素 - 'HTML:Element Reference' - Reference - レイアウト - 要素 translation_of: Web/HTML/Inline_elements ---
HTML (Hypertext Markup Language) の要素は従来、「ブロックレベル」要素と「インライン」要素に分類されていました。インライン要素は、コンテンツの流れを分断せずに、要素を定義するタグで囲まれた範囲だけを占有するものです。この記事では、 HTML のインライン要素と、 ブロックレベル要素との違いについて説明します。
インライン要素は新しい行から始まらず、必要な幅のみを占有します。
これは最も簡単なデモとシンプルな例です。最初に、使用するシンプルな CSS は以下のものです。
.highlight { background-color:#ee3; }
インライン要素を紹介する以下の例を見てください。
<div>The following span is an <span class="highlight">inline element</span>; its background has been colored to display both the beginning and end of the inline element's influence.</div>
この例では、ブロックレベル要素の {{HTMLElement("div")}} がいくらかのテキストを含んでいます。そのテキストの中に、インライン要素である {{HTMLElement("span")}} 要素があります。 <span>
要素はインラインなので、段落は単独で、テキストの流れを分断せずに、以下のように表示されます。
{{EmbedLiveSample("Inline", 600, 80)}}
表示上、以下の CSS も使われています (標準モードでは表示されません)。
body { margin: 0; padding: 4px; border: 1px solid #333; } .highlight { background-color:#ee3; }
それでは <span>
を {{HTMLElement("p")}} のようなブロックレベル要素に変更してみましょう。
<div>The following paragraph is a <p class="highlight">block-level element;</p> its background has been colored to display both the beginning and end of the block-level element's influence.</div>
この CSS も使われています (標準モードでは表示されません)。
body { margin: 0; padding: 4px; border: 1px solid #333; } .highlight { background-color:#ee3; }
前回と同じ CSS を使って表示していますが、結果は以下のようになります。
{{EmbedLiveSample("Block-level", 600, 150)}}
違いが分かりましたか。 <p>
要素は文字列を <p>
の前の文字列、 <p>
の文字列、そして <p>
の後の文字列と3つの部分に分割して、レイアウトを全体的に変更しました。
CSS の {{cssxref("display")}} プロパティを使用すると、要素の視覚表現を変更することができます。例えば、 display
の値を "inline"
から "block"
に変更することで、インライン要素をインラインボックスではなくブロックボックスで描画するようブラウザーに指示することができます。しかし、これによって要素のカテゴリやコンテンツモデルが変更される訳ではありません。例えば、 span
要素の display
を "block"
に変更しても、その中に div
要素を含めることができるようになる訳ではありません。
簡単に言えば、インライン要素とブロックレベル要素の基本概念の違いは以下の通りです。
以下の要素は既定でインラインです (ただし、ブロック要素とインライン要素は HTML5 では定義されなくなり、代わりにコンテンツカテゴリが使用されます)。