Rumah  >  Artikel  >  hujung hadapan web  >  Mengapa z-index tidak berfungsi dengan PDF dalam iFrames dalam Internet Explorer?

Mengapa z-index tidak berfungsi dengan PDF dalam iFrames dalam Internet Explorer?

Linda Hamilton
Linda Hamiltonasal
2024-10-28 02:16:02729semak imbas

Why Doesn't z-index Work with PDFs in iFrames in Internet Explorer?

z-index Tidak Berfungsi dalam IE dengan PDF dalam iFrame

Dalam Internet Explorer (IE), cuba menggunakan z- indeks pada iFrame yang mengandungi PDF boleh mengakibatkan tingkah laku yang tidak dijangka. Walaupun berfungsi dengan lancar dalam penyemak imbas lain seperti Chrome, pengguna IE menghadapi kesukaran.

Untuk memahami isu ini, kita perlu menyelidiki konsep elemen "bertingkap" dan "tanpa tingkap" dalam IE. Elemen bertingkap, seperti kawalan ActiveX dan pilihan jatuh turun, dipaparkan di luar satah MSHTML utama penyemak imbas. Sebaliknya, elemen tanpa tetingkap, seperti div dan medan input, dipaparkan dalam satah ini.

Interaksi Elemen Tanpa Tetingkap lwn. Tanpa Tetingkap

Yang penting, elemen bertingkap sentiasa diutamakan elemen tanpa tingkap, tanpa mengira z-index. Di sinilah masalah dengan iFrames yang mengandungi PDF timbul. Dalam IE, PDF dianggap sebagai elemen bertingkap, bermakna ia akan sentiasa muncul di atas elemen tanpa tetingkap, walaupun jika yang kedua mempunyai indeks z yang lebih tinggi.

Penyelesaian: Penyelesaian Menggunakan iFrame Lain

Malangnya, tiada penyelesaian yang mudah untuk isu ini. Walau bagaimanapun, penyelesaian boleh dicapai dengan memperkenalkan iFrame lain antara PDF dan kandungan halaman. iFrame "penutup" ini mempunyai indeks z negatif, memastikan ia kekal tersembunyi daripada pandangan. Dengan menyekat limpahan PDF, ia membenarkan gelagat z-index biasa digunakan pada kandungan halaman utama, membenarkan teks atau elemen lain muncul di atas PDF.

Butiran Pelaksanaan

Kod berikut menggariskan penyelesaian:

HTML:

<code class="html"><div id="outer">
  <div id="inner">my text that should be on top</div>
  <iframe class="cover" src="about:blank"></iframe>
</div>

<iframe id="pdf" src="http://legallo1.free.fr/french/CV_JLG.pdf" width="200" height="200"></iframe></code>

CSS:

<code class="css">#outer {
  position: relative;
  left: 150px;
  top: 20px;
  width: 100px;
  z-index: 2;
}

#inner {
  background: red;
}

.cover {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

#pdf {
  position: relative;
  z-index: 1;
}</code>

Kesimpulan

Dengan menggunakan iFrame lain dengan indeks-z negatif, kami mewujudkan penghalang antara PDF dan kandungan halaman dengan berkesan. Penyelesaian ini membolehkan tingkah laku indeks z yang dijangka, membolehkan teks atau elemen lain muncul di atas PDF dalam IE. Walaupun penyelesaian ini tidak sesuai, ia menyediakan cara untuk menangani isu indeks-z dalam IE.

Atas ialah kandungan terperinci Mengapa z-index tidak berfungsi dengan PDF dalam iFrames dalam Internet Explorer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn