
ブロックレベル要素が重なって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ランキング
-
【CSS】ヘッダーの高さが不明の...
-
htmlの文字が縦書きになる
-
htmlでheightが自動で延長
-
表示倍率を変えるとレイアウト...
-
iframe 内の画像を自動縮小させ...
-
imgの下に点線が入るのを消したい
-
ウインドウを小さくするとbody...
-
Chrome だと、画像が少し下に...
-
CSSがなぜかfont-sizeだけ効か...
-
背景が下まで表示されないんです。
-
CSSのposition値の上書き(打消...
-
余分な縦スクロールバーが出て...
-
画像イメージの上下左右、欲し...
-
この場合のCSSの記述を教えてく...
-
widthやheightの数値に単位(px...
-
メディアクエリ スマホ対応のサ...
-
cssで枠の中に複数の罫線を引く...
-
定義リストに下線をつけたいと...
-
指定したborderの一部が表示さ...
-
CSSで背景色を下まで表示させたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
CSSがなぜかfont-sizeだけ効か...
-
form input テキストを上下中央...
-
【CSS】ヘッダーの高さが不明の...
-
画像イメージの上下左右、欲し...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
W3Cのソースコードの検証サービ...
-
表示倍率を変えるとレイアウト...
-
safariでの横並びリスト(List...
-
<div>と<div>の間の10px程の...
-
border-style:solidで文字がずれる
-
入力フォームとセレクトボック...
-
div内に外部のurlを表示させたい
-
divの中にspanを右寄せにするに...
-
dl,dt,ddタグでdtに対して、row...
-
divで囲まれたpaddingの指定を...
-
footer を横幅いっぱいに広げる...
-
CSSで指定した背景画像にリンク...
おすすめ情報
文章が乱れていてすみません。
.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;}を加えてもクリックできませんでした。
ここでの質問とは別の原因だと思いますが、その質問も継続させていただきます。