¿El índice z especifica el nivel de pila de un elemento flexible no posicionado?

En CSS 2.1,z-index solo se aplica a elementos posicionados y especifica dos cosas diferentes:

El nivel de pila de la caja en el contexto de apilamiento actual.Si la caja establece un contexto de apilamiento.

PeroFlexbox dice esto:

Artículos flexibles pintar exactamente igual que los bloques en línea[CSS21], excepto esoorderorden de documento modificado se utiliza en lugar de orden de documento sin procesar, yz-index valores distintos deauto crear un contexto de apilamiento incluso siposition esstatic.

Luego, a diferencia de CSS2.1, la configuraciónz-index a algún número entero en un elemento flexible no posicionado crea un contexto de apilamiento.

Sin embargo, no veo definido en ningún lado cuál debería ser el nivel de pila de este contexto de apilamiento.

Un caso similar esopacity, que también puede crear contextos de apilamiento establecidos en elementos no posicionados. Pero en este caso, el nivel de pila se especifica correctamente como 0:

Si un elemento con una opacidad menor que 1 no está posicionado, las implementaciones deben pintar la capa que crea, dentro de su contexto de apilamiento primario, en el mismo orden de apilamiento que se usaría si fuera un elemento posicionado conz-index: 0 yopacity: 1.

En mi opinión, estas opciones son razonables:

El nivel de pila es el valor especificado eníndice zEl nivel de pila es 0El elemento flexible envuelve a sus descendientes en un contexto de apilamiento para que se pinten juntos, pero el elemento flexible en sí se pinta como elementos normales no posicionados en flujo (como si no estableciera un contexto de apilamiento).

Según la siguiente prueba, tanto Firefox como Chrome hacen la primera opción.

.container {
  display: flex;
  padding-left: 20px;
}
.item {
  padding: 20px;
  background: #ffa;
  align-self: flex-start;
  margin-left: -20px;
}
.item:nth-child(even) {
  background: #aff;
  margin-top: 40px;
}
.za::after{ content: 'z-index: auto'; }
.z0 { z-index: 0; } .z0::after{ content: 'z-index: 0'; }
.z1 { z-index: 1; } .z1::after{ content: 'z-index: 1'; }
.z-1 { z-index: -1; } .z-1::after{ content: 'z-index: -1'; }
<div class="container">
  <div class="item z1"></div>
  <div class="item z0"></div>
  <div class="item za"></div>
  <div class="item za"></div>
  <div class="item z-1"></div>
</div>

¿Este comportamiento está definido en alguna parte?

Respuestas a la pregunta(1)

Su respuesta a la pregunta