--- title: visibility slug: Web/CSS/visibility tags: - CSS - CSS Box Model - CSS Property - Layout - Reference - Web - 'recipe:css-property' translation_of: Web/CSS/visibility ---
visibility は CSS のプロパティで、文書のレイアウトを変更することなく要素を表示したり非表示にしたりします。このプロパティは {{HTMLElement("table")}} の行や列を隠すこともできます。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
要素を不可視にしてレイアウトから除去するには、 visibility を使用する代わりに {{cssxref("display")}} プロパティを none に設定してください。
/* キーワード値 */ visibility: visible; visibility: hidden; visibility: collapse; /* グローバル値 */ visibility: inherit; visibility: initial; visibility: unset;
visibility プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
visiblehiddenvisibility が visible に設定されていれば可視になります。(タブ順で操作された時などに) 要素はフォーカスを受け取ることができません。collapse{{Cssxref("display")}}: none が適用された場合のように) 占めていた領域も除去されます。しかし、他の行や列の寸法は、不可視になった行や列のセルが存在するときのように計算されます。この値は表全体の幅や高さを強制的に再計算することなく、すばやく行や列を不可視にすることができます。collapse は hidden と同じと扱われます。要素の visibility の値に hidden を使用すると、 アクセシビリティツリーから削除されます。これは要素及びその子孫要素が読み上げ技術でアナウンスされない結果になります。
visibility の値は可視及び不可視の間で補間可能です。従って、開始または終了の値の一つが visible でない限りは、補間は行われません。値は離散的なステップとして補間され、タイミング関数の 0 と 1 間の値が、 visible に対応し、タイミング関数の他の値 (トランジションの開始点または終了点でのみ、または [0、1] の外側の y 値を有する cubic-bezier() 関数の結果として) はより近い終了点に対応します。
visibility:collapse の対応がないか、部分的に不正確です。表の行や列以外の要素に用いた場合、誤って visibility:hidden のように扱われることがあります。visibility:collapse を用いた表の、折り畳まれたセルに入れ子の表があると、入れ子の表で visibility:visible が明示的に指定されていない限りは、表のレイアウトが変わる可能性があります。{{CSSInfo}}
<p class="visible">The first paragraph is visible.</p> <p class="not-visible">The second paragraph is NOT visible.</p> <p class="visible">The third paragraph is visible. Notice the second paragraph is still occupying space.</p>
.visible {
visibility: visible;
}
.not-visible {
visibility: hidden;
}
{{EmbedLiveSample('Basic_example')}}
<table>
<tr>
<td>1.1</td>
<td class="collapse">1.2</td>
<td>1.3</td>
</tr>
<tr class="collapse">
<td>2.1</td>
<td>2.2</td>
<td>2.3</td>
</tr>
<tr>
<td>3.1</td>
<td>3.2</td>
<td>3.3</td>
</tr>
</table>
.collapse {
visibility: collapse;
}
table {
border: 1px solid red;
}
td {
border: 1px solid gray;
}
{{EmbedLiveSample('Table_example')}}
| 仕様書 | 状態 | 備考 |
|---|---|---|
| {{SpecName('CSS3 Flexbox', '#visibility-collapse', 'visibility')}} | {{Spec2('CSS3 Flexbox')}} | フレックスアイテムに適用する collapse の値を定義。 |
| {{SpecName('CSS2.1', 'visufx.html#visibility', 'visibility')}} | {{Spec2('CSS2.1')}} | 初回定義 |
{{Compat("css.properties.visibility")}}