Entonces, si entiendo z-index
correctamente, sería perfecto en esta situación:
Quiero colocar la imagen inferior (la etiqueta / tarjeta) debajo del div encima de ella. Entonces no puedes ver los bordes afilados. ¿Cómo hago esto?
z-index:-1 // on the image tag/card
o
z-index:100 // on the div above
tampoco funciona Tampoco una combinación de algo como esto. ¿Cómo?
Stacking Context
.position: relative
para z-index para el trabajo, a pesar de los elementos comporta de otra manera en relación por defectostatic
Los elementos son estáticos y no pueden moversex, y or z planes
. No pueden mudarsex plane (left or right)
ni lesy plane (top or bottom)
gusta cuando trabajamos con ellosposition: absolute
. Y tampoco pueden moverse en elz plane i.e. with z-index
.z-index
en un elemento de cuadrícula?Si establece la posición en un valor diferente
static
pero el elementoz-index
todavía no parece funcionar, puede ser que algún elemento principal se hayaz-index
configurado.Los contextos de apilamiento tienen jerarquía, y cada contexto de apilamiento se considera en el orden de apilamiento del contexto de apilamiento primario.
Así que con el siguiente html
No importa cuán grande es el
z-index
deel3
se establecerá, siempre será bajoel1
, ya que de los padres tiene contexto de pila baja. Puede imaginar el orden de apilamiento como niveles en los que el orden de apilamientoel3
es en realidad 3.8, que es inferior a 5 .Si desea verificar los contextos de apilamiento de elementos primarios, puede usar esto:
Hay un gran artículo sobre contextos de apilamiento en MDN
fuente
Sus elementos necesitan tener un
position
atributo. (pabsolute
. ej .relative
,fixed
) oz-index
no funcionará.fuente
En muchos casos, un elemento debe estar posicionado para
z-index
trabajar.De hecho, la aplicación
position: relative
a los elementos en la pregunta probablemente resolvería el problema (pero no se proporciona suficiente código para saberlo con certeza).En realidad,
position: fixed
,position: absolute
yposition: sticky
permitirá tambiénz-index
, pero esos valores también cambiar el diseño. Conposition: relative
el diseño no se altera.Esencialmente, mientras el elemento no esté
position: static
(la configuración predeterminada) se considera posicionado yz-index
funcionará.Muchas respuestas a "¿Por qué no funciona el índice z?" las preguntas afirman que
z-index
solo funciona en elementos posicionados. A partir de CSS3, esto ya no es cierto.Los elementos que son elementos flexibles o elementos de cuadrícula se pueden usar
z-index
incluso cuandoposition
estánstatic
.De las especificaciones:
Aquí hay una demostración de cómo
z-index
trabajar en elementos flexibles no posicionados: https://jsfiddle.net/m0wddwxs/fuente
position: static
exactamente igual que trataría los elementosposition: relative
flexibles y de cuadrícula debido a la naturaleza dinámica de esos métodos de diseño. Entonces, quizás diría que no es que ya no sea cierto en CSS3 que un elemento necesita ser posicionado, sino que CSS3 trata los elementos flexibles y de cuadrícula como si estuvieran posicionados, independientemente. Sin embargo, probablemente solo dos formas de ver lo mismo.position:relative
. Los descendientes de elementos flexibles con posición absoluta no considerarán el elemento flexible como su bloque contenedor porque el elemento flexible no está posicionado. ( jsfiddle.net/0yo7utfL/2 )overflow-y: scroll
impide queoverflow-x: visible
funcione ... ¿puedes echar un vistazo?