CSS - display

トップ > スタイルシート入門 > display

■ 概要

属性名 display
inline | block | inline-block | list-item | run-in | compact | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | ruby | ruby-base | ruby-text | ruby-base-group | ruby-text-group | <template> | none
初期値inline
適用可能要素すべての要素
継承継承しない
メディアVisual / Box
サポートC1 / e5 / N4 / Fx1 / Ch1 / Op7 / Sa1

■ 説明

要素をどのような形式で表示するかを指定します。

説明
inlineインラインボックスとして表示します。
blockブロックボックスとして表示します。
inline-blockインラインボックスの様に前後で改行されず、ブロックボックスの様に高さ、横幅を指定可能なボックス
list-itemリストアイテム
run-in状況に応じて、後続のブロックの先頭インライン要素になります。
compact状況に応じて、後続のブロックの左余白に表示されるボックスになります。
tableテーブル要素。table要素に該当
table-row-groupテーブルの列グループ。tbody要素に該当
table-header-groupテーブルのヘッダグループ。thead要素に該当
table-footer-groupテーブルのフッタグループ。tfoot要素に該当
table-rowテーブルの列。tr要素に該当
table-column-groupテーブルの行グループ。colgroup要素に該当
table-columnテーブルの行。col要素に該当
table-cellテーブルのセル。th要素、td要素に該当
table-captionテーブルのキャプション。caption要素に該当
inline-tableインラインテーブル
rubyルビ。ruby要素に該当
ruby-baseルビベース。rb要素に該当
ruby-textルビテキスト。rt要素に該当
ruby-base-groupルビベースグループ。rbc要素に該当
ruby-text-groupルビテキストグループ。rtc要素に該当
<template>XXX
noneボックスが生成されず、何も表示されない。

■ 使用例

◆ inline

下記の例では、div要素をインラインボックスとして横に並べて表示しています。

HTML
<div style="display:inline; color:#ffffff; background:#333333; padding:5px">CSSとは</div>
<div style="display:inline; color:#ffffff; background:#333333; padding:5px">CSSとは</div>
<div style="display:inline; color:#ffffff; background:#333333; padding:5px">CSSとは</div>
表示
CSSとは
CSSとは
CSSとは
◆ block

下記の例では、img要素をブロックボックスとして改行して表示しています。

HTML
<img src="../image/back.gif" style="display:block">
あいうえお・・・
表示
あいうえお・・・
◆ inline-block

下記の例では、span要素に高さ、横幅を指定しています。

HTML
あいうえお
<span style="display:inline-block; width:100px; height:20px; background:#ccccff; border:1px solid gray;">かきくけこ</span>
さしすせそ
表示
あいうえお かきくけこ さしすせそ
◆ list-item

リストアイテム(li要素)のように表示します。

HTML
<div style="margin-left:2em">
  <div style="display:list-item">HTML</div>
  <div style="display:list-item">CSS</div>
</div>
表示
HTML
CSS
◆ run-in

後続の要素が回り込みや絶対配置されていないブロックボックスであれば、そのブロックボックス内の最初のインラインボックスであるかのように表示されます。IE9, Chrome 18, Opera 11.6, Safari 5.1 で動作を確認しています。Firefox 12 ではまだサポートされていません。

HTML
<h5 style="display:run-in; margin-right:5px; background:#c99; padding:0 5px">run-in とは</h5>
<p>後続の要素が回り込みや絶対配置されていないブロックボックスであれば・・・</p>
表示
run-in とは

後続の要素が回り込みや絶対配置されていないブロックボックスであれば・・・

◆ compact

後続の要素が回り込みや絶対配置されていないブロックボックスであり、後続要素の左マージンの範囲に収まればその箇所に、収まらなければ通常のブロックボックスとして表示されます。Opera 11.6 で動作を確認しています。IE9, Firefox 12, Chrome 18, Safari 5.1 ではまだサポートされていません。

HTML
<h5 style="display:compact; margin-right:5px; background:#c99; padding:0 5px">compact とは</h5>
<p style="margin-left:120px">後続の要素が回り込みや絶対配置されていないブロックボックスであり・・・・・</p>
表示
compact とは

後続の要素が回り込みや絶対配置されていないブロックボックスであり・・・・・

◆ table...

div要素などを、テーブルを構成する要素として扱うことが可能です。

HTML
<style>
.table { display:table; border-collapse:collapse; }
.caption { display:table-caption; text-align:center; font-weight:bold; }
.tr { display:table-row; }
.td { display:table-cell; border:1px solid gray; width:100px; text-align:center; }
</style>

<div class="table">
  <div class="caption">Table.A</div>
  <div class="tr">
    <div class="td">AAA</div>
    <div class="td">BBB</div>
    <div class="td">CCC</div>
  </div>
  <div class="tr">
    <div class="td">AAA</div>
    <div class="td">BBB</div>
    <div class="td">CCC</div>
  </div>
</div>
表示
Table.A
AAA
BBB
CCC
AAA
BBB
CCC
◆ inline-table

インライン要素の様に、横方向に並ぶテーブルを表示することができます。

HTML
<style>
.inline-table { display:inline-table; border-collapse: collapse; }
.inline-table td { border: 1px solid gray; }
</style>

<table class="inline-table">
  <caption>Table.A</caption>
  <tr><td>AAA</td><td>BBB</td></tr>
  <tr><td>CCC</td><td>DDD</td></tr>
</table>
<table class="inline-table">
  <caption>Table.B</caption>
  <tr><td>EEE</td><td>FFF</td></tr>
  <tr><td>GGG</td><td>HHH</td></tr>
</table>
表示
Table.A
AAABBB
CCCDDD
Table.B
EEEFFF
GGGHHH

Copyright (C) 1997-2012
初版:1997年7月27日、最終更新:2012年4月30日
http://www.tohoho-web.com/css/prop/display.htm