--- 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
プロパティは、以下の一覧にあるキーワード値のうちの一つで指定します。
visible
hidden
visibility
が 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")}}