どうも、べ〜やんです。
今回は、要素を不可視にするvisibilityプロパティを紹介します。
目次
visibilityとは
visibility
とは要素を不可視にできるプロパティです。
使用される値は三つ↓
visibility: visible; /* 可視 */
visibility: hidden; /* 不可視(レイアウトそのまま) */
visibility: collapse; /* 不可視(レイアウト詰め) */
display: none;とvisibility: hidden;の違い
要素を非表示にする方法にdisplay: none;
がありますが、visibility
とはレイアウトに与える影響に差があります。
display: none;
は要素が存在しないものとして扱いますが、visibility: hidden;
は要素が見えないだけでそこにあるものとして扱います。
使い方
visibility: visible;
はそのまま要素を表示します。
See the Pen gOONyXX by beeyan (@orientado) on CodePen.
visibility: hidden;
は要素が見えなくなります。見えないだけのでレイアウトはそのまま維持されます。
See the Pen yLLdryR by beeyan (@orientado) on CodePen.
visibility: collapse;
は要素が見えなくなって、レイアウトが詰めて表示されます。
ですが、ブラウザによってはvisibility: hidden;
と同じように扱われ、仕様通りの振る舞いをするのは、IE8+とFirefoxのみです。
仕様通りの振る舞いをするとdisplay: none;
と同じように表示されます。
See the Pen YzzoMjQ by beeyan (@orientado) on CodePen.
*display: none;
は非表示になってレイアウトが詰めて表示されます。*
See the Pen dyyBLdN by beeyan (@orientado) on CodePen.
おわりに
今回は、要素を不可視にするvisibilityプロパティを紹介しました。
javascriptなどと組み合わせると表現の幅が広がりますね、レイアウトへの影響の差でdisplay: none;と使い分けています。