Reemplace el estilo principal si existe un elemento secundario

Quiero sobrescribir el z-index los padres para cada elemento hijo que contenga una clase específica.

Hay dos clases diferentes de hijos (w / c no puedo cambiar ya que está generado por API).

El primero es un .pop-up y el segundo es un .label . Ambos serán añadidos bajo #info .

Estructura HTML

 
...
...

Debido a las diferentes acciones de la API, .label a veces estará en la parte superior cuando se procesa recientemente. El z-index #info s es siempre 110 .

Por lo tanto, quise comprobar si existe un elemento secundario (por ejemplo, .label ) y actualizar el z-index los padres a 109 .

¿Es esto posible con css3 ? No puedo hacer un hackeo a través de JS debido a un “acuerdo”.

Esto es lo que he intentado, pero no podré actualizar el z-index los padres

 div#info > div.label { z-index: 109 !important; } 

No, lamentablemente esto no es posible con CSS3. Esto se debe a que CSS3 carece de un selector padre .

Debe tenerse en cuenta que esto será posible en CSS4 , a través de :has pseudo-class , donde podrá apuntar a #info cuando contenga una etiqueta con:

 div#info:has(div.label)