CSSでz-indexにマイナスを設定すると消える場合の対処法!

CSSでz-indexにマイナスを設定すると消える場合の対処法について解説します。z-indexを用いる場合はとある条件が必要となってきます。その条件とは何か、またCSSでz-indexにマイナスを設定すると消える場合どう対処すればいいのかについて解説します。

コンテンツ [表示]

  1. 1CSSでz-indexにマイナスを設定すると消える
  2. 2CSSでz-indexにマイナスを設定すると消える場合の対処法
  3. 2.1CSSでz-indexにマイナスを設定すると消えた原因
  4. 2.2対処法
  5. 2.3子要素にCSSでz-indexにマイナスを設定した場合
  6. 2.4リンクが消えてしまった原因
  7. 2.5対処法
  8. 3まとめ

CSSでz-indexにマイナスを設定すると消える

CSSでz-indexプロパティにマイナスを設定すると消えるということを経験したことがあるのではないでしょうか。

以下の項目でその対処法を解説します。

Photo byStockSnap

CSSでz-indexにマイナスを設定すると消える場合の対処法

それではCSSでz-indexプロパティにマイナスを設定すると消える場合の対処法について解説します。

まずCSSでz-indexプロパティに負の値を設定すると消える場合を見てみましょう。ここでは解説のため意図的にz-index: -1;を設定してリンクを消しています。

では実際にサンプルコードを用いて挙動を確認してみましょう。

このように本来「リンクはこちらです」というテキストのa要素が表示されるはずですが、リンクとなるa要素のz-indexプロパティに負の値が設定されているがために、消えていることが分かります。

CSSでz-indexにマイナスを設定すると消えた原因

原因としては、a要素にposition: absolute;positionを設定しているがために、他のz-indexがより大きい.bg要素の背後に回ってしまったたmです。

対処法

今回の対処法としては、a要素のposition: absolute;を無くすか、.bgというクラスが設定されている要素に対してpositionプロパティの値でstatic以外の値を設定して、z-indexの値を-1よりも小さく設定するということが挙げられます。

では実際にサンプルコードを用いて挙動を確認してみましょう。

このように.bgにもposition: absolute;を設定して、z-index: -2;とすることで、a要素が現れたことが分かります。

子要素にCSSでz-indexにマイナスを設定した場合

子要素にz-indexにマイナスを設定した場合、z-indexの値は親要素のz-indexの値に依存します。

実際に子要素にz-indexプロパティにマイナスの値を設定して消えてしまう場合を、サンプルコードを用いて確認してみましょう。

このようにリンクとなるa要素のz-indexの値が一番大きいはずなのに消えてしまっています。

リンクが消えてしまった原因

リンクが消えてしまった原因としては、a要素は.bg1の配下にあるため、a要素に設定しているz-index: -1;は親要素の.bg1に対してのみ適用されます。

ですので、.bg1.bg2z-indexプロパティの値は同じであるため、HTMLで後に記述された.bg2.bg1の上に表示され、.bg1の子要素であるa要素も.bg2の背後に隠れてしまったということです。

対処法

.bg2z-indexプロパティの値を.bg1z-indexプロパティの値よりも小さく設定することで、リンクが画面上に表示されるようになります。

では実際にサンプルコードを用いて挙動を確認してみましょう。

このように.bg2z-index: -3;と一番小さな値を設定したので、リンクが画面上に表示されました。

まとめ

いかがでしたでしょうか?

WEBサイトを制作していて、CSSでz-indexプロパティにマイナスを設定すると消えてしまった場合は、ぜひここで紹介した例をもとに解決してください。

またz-indexプロパティを用いる際はいくつか注意点があります。

以下の記事で解説しているのでぜひ参照してください。

あわせて読みたい
CSSのz-indexプロパティが効かない場合の対処法!のイメージ
CSSのz-indexプロパティが効かない場合の対処法!
CSSのz-indexプロパティが効かない場合の対処法について解説します。WEBサイトを制作しているときに、CSSのz-indexプロパティが効かないという問題はよく起きます。ここではその問題が起きるケースとその対処法をサンプルコード付きで解説します。
GeekHive採用サイト

関連記事