Domanda

Ho un caso in cui un annuncio di terze parti sta sanguinando attraverso l'implementazione della finestra modale. Vorrei aumentare l'indice z dell'overlay modale il più in alto possibile in modo che l'annuncio non venga visualizzato sopra di esso. Esiste un limite ai valori di z-index? Sono sicuro che se esiste varia in base al browser. Qualcuno lo sa?

È stato utile?

Soluzione

Tieni presente che z-index non funziona a livello globale, ma solo all'interno di un "contesto di impilamento" (che ha difficoltà a digerire definizione nei CSS) e se l'annuncio stabilisce il proprio contesto di sovrapposizione, quindi z-index i valori impostati altrove potrebbero non influire affatto.

Comunque più probabilmente è un problema di " windowed " Flash (oggetto senza l'attributo wmode = transparent ), che i browser visualizzano sopra ogni cosa, come se fosse una finestra sopra la finestra del browser . In tal caso z-index non aiuta affatto. Dovrai forzare l'annuncio [-provider] per usare wmode = transparent o usare alcuni hack pazzi con iframe.

Altri suggerimenti

Il valore zIndex massimo supportato dalla maggior parte dei browser è 2147483647 (2 ^ 31-1), ma Opera 9.2 non accetta valori superiori a 2147483583; L'hanno risolto nella versione 9.5.

Non proprio, ma potresti considerare i limiti naturali di un sistema, come un intervallo int. probabilmente lo terrei sotto 32.767 . L'ho superato sicuramente in javascript mentre lavoravo su un problema simile e non ho riscontrato problemi sui principali browser e piattaforme di cui ero preoccupato in quel momento.

Nel caso di annunci e overlay di terze parti, assicurarsi che wmode = " transparent " sull'incorporamento flash sia un problema comune lungo le stesse linee. Vale anche la pena notare che IE ha un bug con l'accumulo di indici z, quindi se non vedi il successo, assicurati di non colpire la testa contro il muro con quello *.

Mi piace sempre seguire una sorta di convenzione e non usare figure arbitrarie. Ad esempio, forse tutto nel mio css è compreso tra 0 e 10 . Forse roba dhtml accade nei valori di posizionamento del 100, con un indice z significativo per ogni dato modulo.

* Sidenote: Il bug di IE, per essere specifico, è che IE considera una nuova istanza del flusso di documenti come un nuovo contesto di impilamento per z-index. Devi assicurarti che i tuoi indici z non vengano persi nella gerarchia DOM quando un nodo figlio che normalmente erediterebbe il tuo indice z viene reso il suo contesto di posizionamento.

Citazione da http: // techtrouts.com/is-there-a-limit-to-the-css-z-index-property/ :

Teoricamente la proprietà z-index dovrebbe essere illimitata, o almeno entro un intervallo di tipo int, a seconda del sistema operativo e del browser. Tuttavia, per evitare i bug del browser è necessario limitare i valori dell'indice z a +/- 32767.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top