WEBページ作成リファレンス
cman.jp cman.jp > WEBページ作成TOP > CSSリファレンス > 「ボックスの種類」

display 「ボックスの種類」

「display」は、要素の表示形式を指定します。
ブロックレベル要素をインラインで表示、または、インライン要素をブロックレベルで表示など、要素に対応した表示形式以外の形式での表示が可能です。

CSS Ver.適用要素継承
2.1全要素しない
広告

displayの指定方法

構文

display : none | inline | block | list-item | inline-block | run-in | compact | table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | inline-table | ruby | ruby-base | ruby-text | ruby-base-group | ruby-text-group | flex | inline-flex ;

プロパティ/設定値意味
display : none; 要素を表示しない。(サンプル
display : inline; インライン要素として表示。
display : block; ブロック要素として表示。
display : list-item; リストアイテムとして表示。
display : inline-block; インライン要素のように改行は行わず、ブロック要素のように高さ、横幅を指定可能。
display : run-in; 後続の状況に応じて、インライン要素またはブロック要素として表示。(詳細
display : compact; 後続の状況に応じて、インライン要素またはブロック要素として表示。(詳細
display : table; <table>のように表示。(サンプル
display : table-row-group; <tbody>のように表示。
display : table-header-group; <thead>のように表示。
display : table-footer-group; <tfoot>のように表示。
display : table-row; <tr>のように表示。
display : table-column-group; <colgroup>のように表示。
display : table-column; <col>のように表示。
display : table-cell; <th>,<td>のように表示。
display : table-caption; <caption>のように表示。
display : inline-table; インラインのテーブル。(サンプル
display : ruby; <ruby>のように表示。(サンプル
display : ruby-base; <rb>のように表示。
display : ruby-text; <rt>のように表示。
display : ruby-base-conainer; ルビボディのコンテナ(Ruby Body Container)のように表示。
display : ruby-text-conainer; <rtc>のように表示。
display : flex; フレックスコンテナ要素として表示。
display : inline-flex; インラインのフレックスコンテナ要素として表示。
デフォルト:「タグ毎のスタイル初期値」を参照
ページTOP

display のサンプル(inline,block 等)


<style type="text/css">
.css-none {display : none;}
.css-inline {display : inline;}
.css-block {display : block;}
.css-listitem {
  display : list-item;
  list-style-type: decimal;
  list-style-position: inside;
}
.css-inlineblock {
  display : inline-block;
  width : 30%;
  height : 30px;
  background : skyblue;
  border : 1px solid blue;
  margin-top:10px
}
</style>
<!-- html -->
<b>◆display:none;</b><br>
<img src="neko_w100.jpg" alt="" class="css-none">
<p><img>にdisplay:none; を指定のため、画像が表示されない。</p>
<b>◆display:inline;</b>
<img src="neko_w100.jpg" alt="" style="margin-top:10px">
<p class="css-inline"><p>にdisplay:inline; 指定のため、改行なしで横に表示される。</p>
<b>◆display:block;</b>
<p><span class="css-block"><span>にdisplay:block;</span> 指定のため、改行して表示される。</p>
<b>◆display:list-item;</b>
<div>
 <div class="css-listitem"><div>にdisplay:list-itemを指定。</div>
 <div class="css-listitem"><div>にlist-style-type: decimal;を指定。</div>
 <div class="css-listitem"><div>にlist-style-position: inside;を指定。</div>
 <div class="css-listitem">上記指定で、リストマーク(1.~4.)が表示された。</div>
</div>
<b>◆display:inline-block;</b>
<div>
 <div class="css-inlineblock">[div1]<br><div>に</div>
 <div class="css-inlineblock">[div2]<br>display:inline-block</div>
 <div class="css-inlineblock">[div3]<br>を指定。</div>
</div>
◆display:none;

<img>にdisplay:none; を指定のため、画像が表示されない。


◆display:inline;

<p>にdisplay:inline; 指定のため、改行なしで横に表示される。




◆display:block;

<span>にdisplay:block; 指定のため、改行して表示される。

◆display:list-item;
<div>にdisplay:list-itemを指定。
<div>にlist-style-type: decimal;を指定。
<div>にlist-style-position: inside;を指定。
上記指定で、リストマーク(1.~4.)が表示された。

◆display:inline-block;
[div1]
<div>に
[div2]
display:inline-block
[div3]
を指定。

display のサンプル(run-in,compact)


<style type="text/css">
.css-runin {display : runin;}
.css-runin::after{content : ":";}
.css-compact {display : compact;}
.css-compact::after{content : ":";}
</style>
<!-- html -->
<dt class="css-runin">①【<dt>の見出し】</dt>
<dd><dt>にdisplay:run-in;を指定し、</dd>
<dd>後続の要素<dd>が回り込みも絶対配置でもないため、</dd>
<dd><dt>は、インライン要素として表示。</dd>
</dl>
<dl>
<dt class="css-runin">②【<dt>の見出し】</dt>
<dd style="float:left;"><dt>にdisplay:run-in;を指定し、</dd>
<dd style="float:left;">後続の要素<dd>に回り込み指定のため、</dd>
<dd style="float:left;"><dt>は、ブロック要素として表示。</dd>
</dl>
<b>◆display:compact;</b>
<dl>
<dt class="css-compact">①【<dt>の見出し】</dt>
<dd style="margin-left:150px"><dt>にdisplay:compact;を指定し、</dd>
<dd style="margin-left:150px">後続の要素<dd>が回り込みも絶対配置もなく、</dd>
<dd style="margin-left:150px">左マージンに収まるので、<dt>は、左マージンに表示。</dd>
</dl>
<dl>
<dt class="css-compact">②【<dt>の見出し】</dt>
<dd style="margin-left:100px"><dt>にdisplay:compact;を指定し、</dd>
<dd style="margin-left:100px">後続の要素<dd>が回り込みも絶対配置もないが、</dd>
<dd style="margin-left:100px">左マージンに収まらないので、<dt>は、ブロック要素として表示。</dd>
</dl>
◆display:run-in;
指定要素の後のブロック要素が、回り込みも絶対配置もされていない場合、
その先頭にインライン要素として表示される。 ⇒ ①
それ以外の場合は、ブロック要素で表示される。 ⇒ ②
①【<dt>の見出し】
<dt>にdisplay:run-in;を指定し、
後続の要素<dd>が回り込みも絶対配置でもないため、
<dt>は、インライン要素として表示。
②【<dt>の見出し】
<dt>にdisplay:run-in;を指定し、
後続の要素<dd>に回り込み指定のため、
<dt>は、ブロック要素として表示。

※ほとんどのブラウザが未対応のようです。現時点(2017/03)で、IE11は動作確認できました。
 未対応の場合、①②ともブロック要素で表示されます。


◆display:compact;
指定要素の後のブロック要素が、回り込みも絶対配置もなく、
指定要素の幅が、後続の要素の左マージンの幅以下で1行内の収まる場合、
その左マージンにインライン要素として表示される。 ⇒ ①
それ以外の場合は、ブロック要素で表示される。 ⇒ ②
①【<dt>の見出し】
<dt>にdisplay:compact;を指定し、
後続の要素<dd>が回り込みも絶対配置もなく、
左マージンに収まるので、<dt>は、左マージンに表示。
②【<dt>の見出し】
<dt>にdisplay:compact;を指定し、
後続の要素<dd>が回り込みも絶対配置もないが、
左マージンに収まらないので、<dt>は、ブロック要素として表示。

※ほとんどのブラウザが未対応のようです。未対応の場合、①②ともブロック要素で表示されます。

【W3Cのdisplay仕様書】
http://www.w3.org/TR/css3-box/

display のサンプル(table関連)


<style type="text/css">
.css-table {
  display : table;
  height : 150px;
  width: 90%;
  text-align:center;
}
.css-caption {
  display : table-caption;
  height : 30px;
  padding-top:10px;
}
.css-colgroup {display : table-column-group;}
.css-col {display : table-column;}
.css-thead {
  display : table-header-group;
  background : skyblue;
}
.css-tbody {display : table-row-group;}
.css-tr {display : table-row;}
.css-td {
  display : table-cell;
  border:1px solid blue; 
  vertical-align:middle;
}
.css-tfoot {
  display : table-footer-group;
  background : skyblue;
}
</style>
<!-- html -->
<b>◆display:table; 関連</b><br>
<div class="css-table">
	<div class="css-caption">表題</div>
	<div class="css-colgroup" style="width: 100px">
	<div class="css-col"</div>
	<div class="css-col"</div>
	<div class="css-col"</div>
	</div>
	<div class="css-thead">
	<div class="css-tr">
	  <div class="css-td">ヘッダー1</div>
	  <div class="css-td">ヘッダー2</div>
	  <div class="css-td">ヘッダー3</div>
	</div>
	</div>
	<div class="css-tbody">
	<div class="css-tr">
	  <div class="css-td">セルA1</div>
	  <div class="css-td">セルA2</div>
	  <div class="css-td">セルA3</div>
	<</div>
	<div class="css-tr">
	  <div class="css-td">セルB1</div>
	  <div class="css-td">セルB2</div>
	  <div class="css-td">セルB3</div>
	<</div>
	</div>
	<div class="css-tfoot">
	<div class="css-tr">
	  <div class="css-td">フッター1</div>
	  <div class="css-td">フッター2</div>
	  <div class="css-td">フッター3</div>
	</div>
	</div>
</div>
◆display:table; 関連
表題
ヘッダー1
ヘッダー2
ヘッダー3
セルA1
セルA2
セルA3
セルB1
セルB2
セルB3
フッター1
フッター2
フッター3


display のサンプル(inline-table)


<style type="text/css">
.css-inlinet {
  display : inline-table;
  border-collapse: collapse;
  text-align:center;
}
.css-inlinet td {border:1px solid blue;}
.css-inlinet thead,tfoot {background : skyblue;}
</style>
<!-- html -->
<b>◆display:inline-table;</b><br>
<table class="css-inlinet">
	<caption style="height : 30px;padding-top:10px;">表題 Ⅰ</caption>
	<thead>
	<tr><td>ヘッダー1</td><td>ヘッダー2</td></tr>
	</thead>
	<tbody>
	<tr><td>セルA1</td><td>セルA2</td></tr>
	<tr><td>セルB1</td><td>セルB2</td></tr>
	</tbody>
	<tfoot>
	<tr><td>フッター1</td><td>フッター2</td></tr>
	</tfoot>
</table>
<table class="css-inlinet">
	<caption style="height : 30px;padding-top:10px;">表題 Ⅱ</caption>
	<thead>
	<tr><td>header1</td><td>header2</td></tr>
	</thead>
	<tbody>
	<tr><td>cellA1</td><td>cellA2</td></tr>
	<tr><td>cellB1</td><td>cellB2</td></tr>
	</tbody>
	<tfoot>
	<tr><td>footer1</td><td>footer2</td></tr>
	</tfoot>
</table>
◆display:inline-table;
表題 Ⅰ
ヘッダー1ヘッダー2
セルA1セルA2
セルB1セルB2
フッター1フッター2
表題 Ⅱ
header1header2
cellA1cellA2
cellB1cellB2
footer1footer2

display のサンプル(ruby関連)


<style type="text/css">
.css-ruby {display : ruby;}
.css-rb {display : ruby-base;}
.css-rt {
  display : ruby-text;
  color:red;
}
.css-rbc {display : ruby-base-container;}
.css-rtc {display : ruby-text-container;}
</style>
<!-- html -->
<b>◆display:ruby; 関連</b>
<span class="css-ruby">
  <span class="css-rbc">
    <span class="css-rb">東</span><span class="css-rb">京</span>
  </span>
  <span class="css-rtc">
    <span class="css-rt">トウ</span><span class="css-rt">キョウ</span>
  </span>
  <span class="css-rtc" lang="en">
    <span class="css-rt">tokyo</span>
  </span>
</span>
のルビをカナと
<span class="css-ruby">
  <span class="css-rb">英語</span><span class="css-rt">えいご</span>
</span>で
<span class="css-ruby">振<span class="css-rt">ふ</span>るサンプルです。</span>
◆display:ruby; 関連

トウキョウtokyoのルビをカナと英語えいごるサンプルです。

<ruby>関連のタグの対応状況や表示方法は、ブラウザによって大きく相違します。
 ルビ関連のスタイルは、<ruby>関連のタグの状況と同じようです。
 そのため、ルビ関連のスタイル指定は、正しくルビが表示されないブラウザもあります。

display のサンプル(フレックスコンテナ関連)

flexboxの機能一覧」のflexbox のサンプル参照
広告
QrCode
このページのURL
スマートフォン・タブレット運営 : CMAN 株式会社シーマン