Во многих случаях элемент должен располагаться для работы z-index
.
Действительно, применение position: relative
к элементам в вопросе, скорее всего, решит проблему (но кода недостаточно, чтобы знаю наверняка).
На самом деле, position: fixed
, position: absolute
и position: sticky
также активируют z-index
, но эти значения также изменяют макет. С position: relative
макет не нарушен.
По сути, пока элемент не position: static
(значение по умолчанию), он считается позиционированным и z-index
будет работать.
Многие ответы на «Почему z-index не работает?» утверждают, что z-index
работает только на позиционированных элементах. Начиная с CSS3, это уже не так.
Элементы, которые являются элементами flex items или grid , могут использовать z-index
, даже если position
static
.
Из спецификаций:
4.3. Элемент Flex Item Z-Ordering
Элементы Flex представляют собой то же самое, что и встроенные блоки, за исключением того, что порядок ортогонального заказа используется вместо необработанного порядка документа и
z-index
значения, отличные отauto
создать контекст стекирования, даже еслиposition
-static
.5.4. Z-axis Ordering: свойство
z-index
Порядок окраски элементов сетки точно такой же, как и встроенные блоки, за исключением того, что порядок ортогонального заказа используется вместо необработанного порядка документа , и
blockquote>z-index
, отличные отauto
, создают контекст стекирования, даже еслиposition
равенstatic
.Вот демонстрация работы
z-index
, работающей с непозиционированными элементами гибкости: https://jsfiddle.net/m0wddwxs/
Байт-код является двоичным форматом. работа блоков.NET, довольно отличающаяся с точки зрения того, как они хранят инструкции по выполнению.
Вместо того, чтобы компилировать вниз в подобную байт-коду структуру, языки.NET компилируются на Промежуточный язык (на самом деле, это назвало просто это - IL).
Это - человекочитаемый язык, который смотрит вид подобных объектно-ориентированная версия ассемблера.
Таким образом с точки зрения исследования или управления IL для отдельных блоков, инструменты как Отражатель и ILDASM позволяют Вам удобно просматривать IL для любого блока.
Управление несколько отличается, я предложил бы смотреть на некоторые инструменты AOP в пространстве.NET. Я также предложил бы смотреть на Финикс, который является проектом компилятора, который MS имеет в работах. Это имеет некоторые действительно прохладные функции управления посткомпиляции.
Если бы Вы хотите знать больше об инструментах AOP.NET, я предложил бы открыть другой вопрос (это - целая другая куча проблем).
Существует также несколько книг, которые будут преподавать Вам входы и выходы IL. Это не очень сложный язык для изучения.
Отражатель всегда хорош, но Моно. Cecil является лучшим инструментом, который можно возможно попросить в целом. Это неоценимо для управления CIL всегда.
Моно. Cecil является большим инструментом как ASM. Это - подпроект Моно, и полностью с открытым исходным кодом. Это даже обеспечивает лучшую функцию, чем Система. Отражение.
NDepend позволяет проводить статический анализ сборок .NET (метрики кода, анализ зависимостей и т.д.). NDepend очень полезен для получения представления о структуре ваших сборок .NET с помощью матрицы зависимостей, графов зависимостей и метрик treemap визуализации.
Он также интегрирован с Reflector: например, вы можете определить важные типы и методы в ваших сборках, используя соответственно метрику Type/Method Rank (метрика кода, аналогичная Google Page Rank), и перейти непосредственно из NDepend в Reflector, чтобы получить дизассемблированный код на C#, VB.NET и т. д.