6

Минимальное и максимальное значение z-index?

13

Я столкнулся с проблемой на своей HTML-странице. У меня есть div, который я отображаю в зависимости от определенного условия, но этот div появляется за другим HTML-элементом, когда курсор мыши наведён на него.

Я пробовал задавать z-index от 0 до 999999, но это не решает проблему. Может кто-то подсказать, почему это происходит?

Существует ли минимальное или максимальное значение для свойства Z-INDEX в CSS?

Вот фрагмент кода для наглядности:

.divClass {
  position: absolute; 
  left: 25px; 
  top: 25px; 
  width: 320px;
  height: 300px; 
  z-index: 1000; 
}
<table cellspacing="0" cellpadding="0" width="100%">
  <tr>
    <td>
      <asp:HyperLink ID="lnkProgram" runat="server"></asp:HyperLink>
    </td>
  </tr>
  <tr>
    <td>
      <div class="divClass">
        Some Data
      </div>
    </td>
  </tr> 
</table>

Я управляю отображением и скрытием div с классом .divClass по клику на <asp:hyperlink> с помощью jQuery.

Буду благодарен за любую помощь!

5 ответ(ов)

3

Свойство 'z-index' в CSS принимает следующие значения: auto, <integer> или inherit.

Значение:

  • auto — значение по умолчанию, используется для определения того, как элементы будут располагаться по оси Z.
  • <integer> — это целое число, которое может быть как положительным, так и отрицательным.
  • inherit — наследует значение родительского элемента.

Согласно стандарту CSS, для z-index нет жестких ограничений на значения. Тем не менее, на практике большинство браузеров ограничивают значение z-index до знаковых 32-битных чисел, что означает диапазон от -2147483648 до +2147483647. Использование значений выше этого диапазона нецелесообразно, а использование менее 32 бит становится устаревшим.

Также стоит отметить, что многие свойства, которые могут принимать целые или вещественные числа, могут ограничивать допустимый диапазон значений, часто до неотрицательных значений.

Таким образом, рекомендуется следовать этим ограничениям в реальных сценариях, чтобы избежать потенциальных проблем с отображением элементов.

1

Ваша проблема связана с тем, что значение z-index имеет ограничения по максимальному значению. Согласно вашим тестам, z-index: 2147483647 является максимальным значением, которое вы подтвердили в Firefox 3.0.1 на macOS.

При вводе значения z-index: 2147483648 (что на 1 больше максимального) возникает переполнение целого числа, и элемент оказывается за пределами всех других элементов, вместо того чтобы быть поверх них. К счастью, браузер не падает, что уже хорошо.

Урок, который следует извлечь из этого, заключается в том, что следует быть осторожным с вводом слишком больших значений для свойства z-index, так как они могут привести к неожиданным результатам из-за переполнения.

0

Согласно моему опыту, максимальное значение z-index должно составлять 2147483647. Это обусловлено тем, что z-index представляет собой 32-битное целое число, и 2147483647 — это его максимальное положительное значение. Использование значений выше этого предела может привести к непредсказуемым результатам, так как браузеры могут не корректно обрабатывать такие значения.

0

Максимальное значение 32-битного целого числа составляет 2147483647.

Также рекомендуем ознакомиться с документацией: https://www.w3.org/TR/CSS22/visuren.html#z-index (отрицательные числа также допустимы).

0

Заключение: Максимальное значение z-index составляет 2,147,483,647, и если значение превышает это, то оно конвертируется в 2,147,483,647.

Браузер Максимальное значение Значение больше максимума
Chrome >= 29 2,147,483,647 2,147,483,647
Opera >= 9 2,147,483,647 2,147,483,647
IE >= 6 2,147,483,647 2,147,483,647
Safari >= 4 2,147,483,647 2,147,483,647
Safari = 3 16,777,271 16,777,271
Firefox >= 4 2,147,483,647 2,147,483,647
Firefox = 3 2,147,483,647 0
Firefox = 2 2,147,483,647 Ошибка: тег скрыт

Все значения были протестированы в BrowserStack.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь