Rumah > hujung hadapan web > tutorial css > Mengapa Gelagat Z-Index Berbeza dalam Internet Explorer 7?

Mengapa Gelagat Z-Index Berbeza dalam Internet Explorer 7?

Mary-Kate Olsen
Lepaskan: 2024-12-17 18:33:14
asal
554 orang telah melayarinya

Why Does Z-Index Behavior Differ in Internet Explorer 7?

Isu Lapisan Indeks Z-IE7: Pemahaman Komprehensif

Internet Explorer 7 (IE7) mempunyai gelagat pelik berkenaan sifat indeks-z , yang bertanggungjawab untuk menentukan susunan susunan elemen pada halaman web. Tingkah laku ini boleh membawa kepada isu pelapisan yang tidak dijangka, terutamanya apabila bekerja dengan berbilang elemen bertindih.

Apakah Masalah dengan Indeks-Z dalam IE7?

Dalam IE7, z -harta indeks adalah relatif kepada elemen dalam konteks susunan yang sama. Walau bagaimanapun, tidak seperti kebanyakan penyemak imbas, IE7 mencipta konteks tindanan baharu untuk mana-mana elemen diposisikan tanpa nilai indeks z yang ditetapkan secara eksplisit. Ini bermakna elemen dengan indeks z yang lebih rendah boleh bertindih dengan elemen dengan indeks z yang lebih tinggi jika ia tergolong dalam konteks tindanan yang berbeza.

Contoh Praktikal

Pertimbangkan contoh kod HTML dan CSS berikut:

<form>
  <label>Input #1:</label>
  <span>
Salin selepas log masuk
input {
    border: 1px solid #000;
}

div {
    border: 1px solid #00f;
}

ul {
    border: 1px solid #f00;
    background-color: #f00;
    list-style-type: none;
    margin: 0;
    padding-left: 0;
    z-index: 1000;
}

li {
    color: #fff;
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

span.envelope {
    position: relative;
}

span.envelope ul {
    position: absolute;
    top: 20px;
    left: 0;
    width: 150px;
}
Salin selepas log masuk

Dalam contoh ini, kami bertujuan menu (

    elemen) sampul pertama untuk bertindih dengan sampul kedua. Walau bagaimanapun, dalam IE7, sampul kedua bertindih dengan menu kerana kedudukan tanpa z-indeks yang jelas mewujudkan konteks tindanan baharu.

    Penyelesaian Kemungkinan

    Untuk menangani isu ini, terdapat dua pendekatan utama:

    1. Tambahkan Indeks Z Eksplisit pada Induk Elemen:

      • Ini memaksa semua kanak-kanak (termasuk menu) elemen induk untuk bertindih dengan semua adik-beradik elemen induk. Dalam contoh kami, CSS berikut akan membetulkan isu:
      #envelope-1 {
          position: relative;
          z-index: 1;
      }
      Salin selepas log masuk
    2. Alih keluar kedudukan: relatif daripada Elemen Induk:

      • Jika boleh, alih keluar kedudukan: sifat relatif daripada elemen induk ( dalam contoh kami) untuk mengelak daripada mencipta yang baharu konteks susun. Dengan cara ini, menu akan bertindih dengan sampul surat kedua secara semula jadi. Kod HTML yang diubah suai akan kelihatan seperti ini:
      <html>
      <head>
          <title>Z-Index IE7 Test</title>
          <style type="text/css">
              ul {
                  background-color: #f00;
                  z-index: 1000;
                  position: absolute;
                  width: 150px;
              }
          </style>
      </head>
      <body>
          <div>
              <label>Input #1:</label> <input><br>
              <ul>
                  <li>item</li>
                  <li>item</li>
                  <li>item</li>
                  <li>item</li>
              </ul>
          </div>
      
          <div>
              <label>Input #2:</label> <input>
          </div>
      </body>
      </html>
      Salin selepas log masuk

    Atas ialah kandungan terperinci Mengapa Gelagat Z-Index Berbeza dalam Internet Explorer 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan