ブロックレベル要素が重なってz-indexの数値で上下関係を決めた場合に重なっている部分では、
通常はz-indexの数値が大きい方にはアクセスできるけれど小さい数値の方にはアクセスできないと思います。
重なっている部分ではz-indexの数値が小さい方はテキストの選択もリンクのクリックもできないと思います。
ですが、私は重なっている上下の両方の要素にアクセスしないといけなくなりました。
上だけ、下だけにアクセスする方法は分かります。
両方にアクセスするにはどうしたら良いでしょうか。
単純化して試している下記の通りです。
緑色の四角の内、ピンクの枠で囲まれている所、
左のリンク「55」をクリックできて、テキスト「666」を選択できて、
右のリンク「3333」「5555」をクリックできて、とテキスト「44」「66」を選択できるようにしたいです。
ちなみに、実際のソースではin_menuとin_contentsはiframeです。divでもできなかったので、divで質問させていただきました。
よろしくお願いします。
<style>
*{font-size:18px;}
.menu{width:300px;height:50px;background-color:red;text-align:left;}
.in_menu{width:250px;height:150px;border:10px solid pink;}
.contents{width:250px;height:200px;margin-left:20px;background-color:blue;}
.in_contents{width:250px;height:150px;margin-left:20px;background-color:green;text-align:right;}
.footer{width:200px;height:40px;background-color:black;}
.menu{z-index:0;}
.in_menu{position:relative;z-index:3;}
.contents{z-index:1;}
.in_contents{z-index:2;}
.in_menu{pointer-events: auto;}
.in_contents{pointer-events: auto;}
</style>
<body>
<div class="menu">
<div class="in_menu">
<a href="">1111</a>2222<br>
<a href="">3333</a>4444<br>
<a href="">5555</a>6666<br>
</div>
</div>
<div class="contents">
<div class="in_contents">
<a href="">1111</a>2222<br>
<a href="">3333</a>4444<br>
<a href="">5555</a>6666<br>
</div>
</div>
<div class="footer"></div>
</body>
No.1ベストアンサー
- 回答日時:
なんかすごいもん作ろうとしてるんですねえ。
がんばってください。
<span id="text01"><a href="">1111</a>2222</span>
こんな感じで一行ずつくくり、
#text01 {
position: relative;
z-index:9999;
}
みたいな感じじゃだめですかね?
平たく言えば、z-indexでどんな要素よりも上にする、というもんですわ。
できっかなあ。やってないからわからないけど、位置もつけてabsoluteの方がいいか。それでもダメならfixedだったら確実できるね。ちょっと使いづらいけど。
なるほど。
文字単位でz-indexを上げちゃう発想はありませんでした。
目から鱗が落ちました。
リンクのクリックだけでなくテキストの選択もできました。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
CSSがなぜかfont-sizeだけ効か...
-
CSSでボックスのheightが0になる
-
Flexslider2のカーセルスライダ...
-
CSSの角丸での質問です。 今、C...
-
スクロールボックスを中央に配...
-
CSS、width100%でもできる余白
-
widthやheightの数値に単位(px...
-
ul liのclass指定について
-
FFにおけるDIVタグ間の隙間につ...
-
safariやFirefoxで右のカラムが...
-
CSSで画像の配置について
-
背景が下まで表示されないんです。
-
Firefoxで一番下のstickyが上に...
-
CSSで背景画像を一番下にもって...
-
li 黒丸含んで移動する方法
-
html5 2段組で行頭を揃える方法
-
CSSでborderの長さを指定、また...
-
スタイルシートで画面を縦に2...
-
CSS windowsIE 最後の文字が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
<div>と<div>の間の10px程の...
-
CSSがなぜかfont-sizeだけ効か...
-
divで囲まれたpaddingの指定を...
-
表示倍率を変えるとレイアウト...
-
画像イメージの上下左右、欲し...
-
CSS、width100%でもできる余白
-
cssで中央寄せ
-
CSS:animation開始位置の設定
-
スクロールボックスを中央に配...
-
CSSで背景画像を一番下にもって...
-
【CSS】ヘッダーの高さが不明の...
-
初心者html・CSS ウィンドウを...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
-
div領域をウインドウサイズに合...
-
W3Cのソースコードの検証サービ...
おすすめ情報
文章が乱れていてすみません。
.in_menu{pointer-events: auto;}
.in_contents{pointer-events: auto;}
は試している途中でコピー&ペーストしてしまいました。
参考にした次のサイトによると、
「z-indexが下の要素も上の要素もクリックできるようにする」
https://haayaaa.hatenablog.com/entry/2019/03/07/ …
.in_menu{pointer-events: none;}
にして、.in_menu内のリンクに"pointer-events: auto;"をすれば良いようです。
.in_contents{pointer-events: auto;}にするのだと勘違いしてました。
参考サイトのようにしたらできました。
申し訳ありませんでした。
質問のテストソースではできましたが、実際のソースでは{pointer-events: none;}が効いているらしく、上の層(z-indexが大きい方)のリンクは{pointer-events: auto;}を加えてもクリックできませんでした。
ここでの質問とは別の原因だと思いますが、その質問も継続させていただきます。