visibilityはHTML要素の表示・非表示を指定するCSSプロパティです。この記事ではvisibilityの使い方を紹介します。
visibility: property;
表示するか否かを以下の値の中から指定します。
値 | 意味 |
---|---|
visible | 表示する(規定値) |
hidden | 要素及びその子孫の要素を表示しない。要素があるスペースには余白が生じる。 |
collapse | 表の行、列または列グループを非表示にする |
「visibility: hidden;」は要素を表示しないが、余白が生まれる。余白も無くしたい場合は、「display: none;」を使用する。
スタイルシート属性visibilityを使用したHTMLの例と表示サンプルを次に示します。表示結果はブラウザによって異なることがあります。
<p>Here is <span style="visibility: visible;">visible</span> element.</p>
上記のHTMLはWebブラウザで次のように表示される。
Here is visible element.
要素を非表示にするには、visibility プロパティに hidden を指定する。非表示になった領域は詰められず、選択やクリックができない。
<p>Here is <span style="visibility: hidden;">hidden</span> element.</p>
上記のHTMLはWebブラウザで次のように表示される。
Here is
element.画像も非表示にできる。
<img src="portrait.webp" style="visibility: hidden">
上記のHTMLはWebブラウザで次のように表示される。
要素を非表示にするCSSプロパティは3種類あり、それぞれ次の違いがある。
CSSプロパティ | 領域 | 選択 | クリック |
---|---|---|---|
display: none; | 詰める | 不可 | 不可 |
opacity: 0; | 詰めない | 可 | 可 |
visibility: hidden; | 詰めない | 不可 | 不可 |
表の行、列または列グループを非表示にし、その領域を詰めるには、visibility に collapse を指定する。
<table>
<caption>金融機関コード</caption>
<thead>
<tr>
<th>金融機関</th>
<th>コード</th>
</tr>
</thead>
<tbody>
<tr>
<td>みずほ銀行</td>
<td>0001</td>
</tr>
<tr style="visibility: collapse;">
<td>三菱UFJ銀行</td>
<td>0005</td>
</tr>
<tr>
<td>三井住友銀行</td>
<td>0009</td>
</tr>
</tbody>
</table>
上記のHTMLはWebブラウザで次のように表示される。
金融機関 | コード |
---|---|
みずほ銀行 | 0001 |
三菱UFJ銀行 | 0005 |
三井住友銀行 | 0009 |
visibility の指定は、子孫の要素へ継承される。
<div style="visibility: hidden;">
<div>
hidden
</div>
</div>
上記のHTMLはWebブラウザで次のように表示される。
JavaScriptからCSSプロパティ「visibility」を参照・設定するには、Elementオブジェクトのstyleプロパティを使う。
<p id="example">
This paragraph is invisible.
</p>
<script>
document.getElementById("example").style.visibility = "hidden";
</script>
CSSには次のプロパティがある。
World Wide Web Consortium (2016) Visual effects