Anonim

Pred niekoľkými mesiacmi som spustil nový web a dostal som sťažnosť, že nad rozbaľovacou ponukou, ktorú som mal na stránke, sa zobrazila reklama vo formáte leaderboard. Jednoducho som skontroloval css reklamy, videl som, že má z-index 999 a zvýšil z-index v ponuke na 1 000. Problém je vyriešený. Rovnaký problém znova o niekoľko týždňov neskôr, zvýšil na 10 000. Dnes som musel znova skontrolovať ďalšiu reklamu, ktorá spôsobovala rovnaký problém. Mala index 1 milión. Ako otravné.

To ma však zaujímalo, aká je maximálna hodnota, na ktorú by som mohol nastaviť z-index. Pri pohľade na rôzne dokumenty CSS sa nezdala maximálna zadaná hodnota. Odpoveď v prehliadačoch Firefox, IE a Chrome je:

2147483647

Toto je maximálna podpísaná hodnota 32 bitového celého čísla. Technicky by som si predstavoval, že toto obmedzenie pochádza z programovacieho jazyka, v ktorom bol prehliadač vyrobený. Som si istý, že existujú niektoré staršie prehliadače, v ktorých by nastavenie tejto hodnoty mohlo niečo zlomiť. Zaujímavé veci hoci. Ak sa teda chcete ubezpečiť, že je váš prvok úplne stopercentne istý, nastavte ho na 2147483647. Problém bol vyriešený. V skutočnosti som však zistil, že je veľmi nepríjemné, že reklama ho nastavila na také vysoké číslo. Vzhľadom na ktorúkoľvek danú stránku bude existovať veľmi obmedzené množstvo vrstiev. Trik by sa mal nastaviť na oveľa menší počet vrstiev.

Maximálna hodnota css z-indexu