• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レイヤーとセレクトボックスが重なった場合について)

レイヤーとセレクトボックスが重なった場合について

このQ&Aのポイント
  • レイヤーとセレクトボックスが重なった場合には、レイヤーの表示が優先されるようにすることが可能です。
  • 以下のようなHTMLを使用して、スクロール時にレイヤーを固定し、セレクトボックスの表示を優先させます。
  • しかし、ブラウザがIE6の場合には対応が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • nuruhho44
  • ベストアンサー率57% (38/66)
回答No.1

この現象については、IEのバグというよりそういう仕様だとのことです。 http://cssbug.at.infoseek.co.jp/detail/winie/b112.html ですから、この場合テーブルの下をくぐらせるのは無理なのではないかと・・・ どうしてもテーブルの上にくるのが嫌なのでしたら、テーブルと重なっている間だけ、selectBoxを非表示にしてみては如何でしょうか? [ スクリプト部 ] Btype = "NN"; if (navigator.appName.toUpperCase().indexOf("EXPLORER") >= 0) Btype = "IE"; if (navigator.userAgent.toUpperCase().indexOf("OPERA") >= 0) Btype = "OP"; function keepMessage() { var LH = document.all["sampleTable"].offsetHeight; var ST = document.all["sc"].offsetTop; var SH = document.all["sc"].offsetHeight - document.all["tb"].offsetTop; var T = document.body.scrollTop; if (T + LH >= ST && T <= ST + SH) document.all["sc"].style.visibility = "hidden"; else document.all["sc"].style.visibility = "visible"; document.all["sampleTable"].style.top = document.body.scrollTop; document.all["sampleTable"].style.left= document.body.scrollLeft; setTimeout("keepMessage()",1); } if (Btype == "IE") window.onload = keepMessage; [ HTML変更部分 ] <body> <div id="sampleTable" style="position : fixed; position : expression('absolute'); z-index : 2;"> <table border=1 bgcolor="white" id="tb"> <select name="出身" id="sc" style="position : relative;">

nxl
質問者

お礼

すばやい回答ありがとうございます。 さらに代案まで挙げていただいて大変助かりました。 ありがとうございました。

関連するQ&A