

























displayプロパティは、ブロックレベル・インライン・テーブル・ルビ・フレックスコンテナ等の、要素の表示形式を指定する際に使用します。
■初期値・適用対象・値の継承
- 初期値
- inline
- 適用対象
- すべての要素
- 値の継承
- しない
■値
インラインとブロック
- inline
- インラインボックスを生成する(初期値)
- block
- ブロックボックスを生成する
- list-item
- li要素のようにリスト内容が収められるブロックボックスと、リストマーカーのためのマーカーボックスを生成する
- run-in
- 文脈に応じてブロックまたはインラインボックスのいずれかを作成する
- inline-block
- インラインレベルのブロックコンテナを生成する。要素全体としてはインライン要素のような表示形式だが、内部はブロックボックスで高さ・横幅などを指定できる。
テーブル
- table
- table要素のような表示となる
- inline-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
- td要素のような表示となる
- table-caption
- caption要素のような表示となる
ルビ
- ruby
- ルビコンテナボックスを生成、ruby要素のような表示となる
- ruby-base
- ルビベースボックスを生成、rb要素のような表示となる
- ruby-text
- ルビテキストボックスを生成、rt要素のような表示となる
- ruby-base-container
- ルビベースコンテナボックスを生成、rbc要素のような表示となる
- ruby-text-container
- ルビテキストコンテナボックスを生成、rtc要素のような表示となる
非表示・継承
- none
- 要素が表示されず、レイアウトに影響を与えない
- inherit
- 親要素の値を継承する
フレックスコンテナ
- flex
- ブロックレベルのフレックスコンテナボックスを生成する
- inline-flex
- インラインレベルのフレックスコンテナボックスを生成する
グリッドレイアウト
- grid
- ブロックレベルのグリッドコンテナボックスを生成する
- inline-grid
- インラインレベルのグリッドコンテナボックスを生成する
インラインとブロック
ブロック要素とは、見出し、段落、リスト、フォームなどのひとつのまとまった単位として表される要素で、一般的なブラウザでは前後に改行が入って表示されます。
インライン要素とは、主に文章の一部として利用される要素でその前後は改行されません。
例えば、インライン要素の<A>要素や<IMG>要素などに
display:block
を指定すると、ブロックレベル表示となって前後が改行されて表示されるようになります。
■使用例(インラインとブロック)
スタイルシート部分は外部ファイル(sample.css)に記述。
.sample1 {display:block; background-color:yellow;}
.sample2 {display:inline; background-color:yellow;}
HTMLソース
<html>
<head>
<link rel=”stylesheet” href=”sample.css”
type=”text/css”>
</head>
<body>
<div>インライン→ブロックレベルの例</div>
<p>a要素にdisplay:block;を指定して、<a class=”sample1″ href=”https://htmqcom1.wpengine.com/”>リンク</a>をブロックレベル表示にします。</p>
<div>ブロックレベル→インラインの例</div>
<p>h3要素にdisplay:inline;を指定して、<h3 class=”sample2″>見出し</h3>をインライン表示にします。</p>
</body>
</html>
ブラウザ上の表示
a要素にdisplay:block;を指定して、リンクをブロックレベル表示にします。
h3要素にdisplay:inline;を指定して、
見出し
をインライン表示にします。
フレックスコンテナ
フレックスコンテナとは、CSS3から追加された表示形式です。
flexを直訳すると、融通のきく・適応性のあるといった意味ですが、
フレックスコンテナでは段組みレイアウトなどを比較的簡単に実現することができます。
■使用例(フレックスコンテナ)
CSSソース
ul.sample3 {
display:-webkit-flex;
display:flex;
width:100%;
list-style-type:none;
margin:0; padding:0;
}
ul.sample3 li {
width:25%;
}
ul.sample3 a {
display:block;
margin:2px; padding:10px; font-size:10px;
background-color:#66cc99; color:#ffffff;
text-align:center;
text-decoration:none;
}
HTMLソース
<ul class=”sample3″>
<li><a href=”#”>メニュー1</a></li>
<li><a href=”#”>メニュー2</a></li>
<li><a href=”#”>メニュー3</a></li>
<li><a href=”#”>メニュー4</a></li>
</ul>
尚、フレックスコンテナでは、ブロックレイアウトの前提で設計されたCSSプロパティの一部は適用されません。
例えば、vertical-alignプロパティや、
:: first-line擬似要素、
および、:: first-letter擬似要素などの指定は無効となります。
フレックスコンテナについては、CSS3リファレンスのフレキシブルボックスで関連するCSSプロパティを紹介しています。
また、ウェブ制作小ネタTIPSのCSSのFlexboxでレイアウトを作るでは、フレックスコンテナを使用したレイアウト作成例を紹介しています。
■関連項目
overflow-x …… はみ出た内容の表示方法を指定する(IE独自の仕様)
overflow-y …… はみ出た内容の表示方法を指定する(IE独自の仕様)
position …… ボックスの配置方法(基準位置)を指定する
top …… 上からの配置位置(距離)を指定する
bottom …… 下からの配置位置(距離)を指定する
left …… 左からの配置位置(距離)を指定する
right …… 右からの配置位置(距離)を指定する
display …… 要素の表示形式(ブロック・インライン・フレックス等)を指定する
float …… 左または右に寄せて配置する
clear …… 回り込みを解除する
z-index …… 重なりの順序を指定する
visibility …… ボックスの表示・非表示を指定する
clip …… ボックスを切り抜き表示(クリッピング)する
direction …… 文字表記の方向(左右)を指定する
unicode-bidi …… Unicodeの文字表記の方向を上書きする
writing-mode …… 文字表記の方向(縦横)を指定する(IE独自の仕様)