2 contenedores posicionados con "relative" nunca se podrán superponer. Ocuparan dos líneas horizontales diferentes.
Si un elemento lo posiciona sobre otro también lo hará todo lo contenido en él. A no ser que...
Código HTML:
Ver original<!DOCTYPE html>
.div1 {
background: red;
height: 148px;
width: 174px;
z-index: 2;
position: absolute;
top: 0;
left: 0;
}
.div2 {
background: blue;
height: 288px;
width: 174px;
position: relative;
}
span {
text-align: center;
position: relative;
z-index: 3;
}