Otworzyłem konsolę (chrome \ firefox) i uruchomiłem następujące linie:
$("body").append("<div id=\"popupFrame\" style=\"width:100%;height:100%;background-color:black;opacity:0.5;position:absolute;top:0;left:0;z-index:1;\" />");
$("body").append("<div id=\"popupContent\" style=\"width:200px;height:200px;z-index:1000;background-color:white;\" >dasdasdsadasdasdasdasdasd</div>");
Element #popupContent powinien być najważniejszy, ale ma na niego wpływ krycie #popupFrame.
Treść nie jest zawarta w #popupFrame, co czyni to bardzo dziwnym.
Celem jest stworzenie pola ostrzegawczego przypominającego firefox
Stare pytanie, ale ta odpowiedź może komuś pomóc.
Jeśli próbujesz wyświetlić zawartość kontenera poza granicami kontenera, upewnij się, że nie ma
overflow:hidden
, w przeciwnym razie wszystko poza nim zostanie odcięte.źródło
z-index
dotyczy tylko elementów, którym nadano wyraźną pozycję. Dodajposition:relative
do #popupContent i powinieneś być gotowy.źródło
Często napotykałem ten problem podczas używania
position: absolute;
, napotkałem ten problem, używającposition: relative
w elemencie potomnym. nie trzeba zmieniaćposition: absolute
narelative
, wystarczy dodać element podrzędny, spójrz na poniższe dwa przykłady:Oto jak można to naprawić za pomocą pozycji względnej:
Tutaj piaskownica
źródło