z-index の使い方

絶賛、ポートフォリオサイト作成中。

タップで読みたいところにジャンプします

リンクがうまく動かない!

リンクを押しても押しても反応しない!
なんで?
コードはあっているはずなのに!って言うお話。

状況は?

画像の上に色のついたマスクを疑似要素afterをつけて、その上にリンクをつけた要素を貼った。

z-indexを当てて体裁を整えた。

/// 誤った書き方
.Section-Contact {
  position: relative;
  z-index:-2;
  background-image: url("../img/contact_bg.jpg");
  background-size: cover;
  background-position: bottom center;

  &::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index:-2;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #0a4c58;
    opacity: 0.8;
  }
}

原因は?

  1. 疑似要素「after」で「aタグのついた要素」が隠れる。
  2. 疑似要素「after」を「aタグのついた要素」より下に回そうと「z-index:-1」を指定。
  3. 「aタグのついた要素」が「main」の下に潜り込む。
  4. 無事に「aタグのついた要素」が使えなくなる(ちーん)。


ふわーっとコーディングしたらいけないんだなと再確認。

重なりが1つしかないのになぜに、afterを使ったのか?軽く問い詰めたい、自分を。

今回疑似要素の「after」を使わずに「before」を使っておけば、「z-index:-1」を使う必要もなく、aタグが使えないと時間を溶かすという事もなかったはず!

うーん、残念。

注意しておくこと

基本的に要素は後から書かれているものが上に重なっていく。

z-indexのデフォルトは「0」ではなく、「auto」。

z-indexを使うときは。

これからはむやみにz-indexを使わないようにしよう。

before要素、after要素を使う必要があってリンクを貼る場合があるときは、本体に「index:auto」を設定してみよう。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

タップで読みたいところにジャンプします