• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Z-index nie przynosi żadnego rezultatu

Object Storage Arubacloud
0 głosów
709 wizyt
pytanie zadane 30 sierpnia 2019 w HTML i CSS przez Krzysiek_34 Mądrala (6,050 p.)
zamknięte 1 września 2019 przez Krzysiek_34

Witam.

Najeżdżam kursorem na obrazek i prawidłowo wyskakuje tooltip (chmurka) z podanymi informacjami. Niestety, gdy najadę kursorem na obrazek znajdujący sie akurat na górze po prawej, to tooltip częściowo chowa sie, nawet gdy nadam mu z-index: 9999.

<body>

	<div class="header-nav-container">
	</div>
	
	<div class="header-container">
	
		<div class="header-left">
		</div>
		
		<div class="header-right">
		</div>
		
		<div class="header">
			<div class="text">
				<span>Sport</span>
			</div>
		</div>
		
	</div>
	
	<div class="content">
	
		<ul>
			<li style="position: absolute; left: 616px; top: 10px">
				<a href="sport/football.php" class="Football">
					<img src="obrazki/sport/football.jpg" />
				</a>
				<div class="tooltip">
					<p class="data-tooltip1" style="color: yellow">Info 1</p>
					<p class="data-tooltip3" style="color: red">Info 2:<span>Info 2</span></p>
					<p class="data-tooltip3" style="color: red">Info 3:<span>Info 3</span></p>
					<p class="data-tooltip4" style="color: red">Info 4:<span>Info 4</span></p>
				</div>
			</li>
		</ul>
		
	</div>
	
</body>
*
{
	box-sizing: border-box;
}

body
{
	background-color: #363636;
	background-attachment: fixed;
	font-family: Verdana;
	margin: 0;
	position: relative;
	height: 222vh;
	z-index: -100;
}

.header-nav-container
{
	background-color: #C0C0C0;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 90px;
	z-index: 3;
}

.header-container
{
	position: fixed;
	top: 90px;
	width: 100%;
	z-index: 2;
}

.header-left
{
	float: left;
	width: 22.6%;
	height: 43px;
	background-color: #808080;
}

.header-right
{
	float: right;
	width: 22.6%;
	height: 43px;
	background-color: #808080;
}

.header
{
	border-left: 1px solid #A29672;
	border-top: 1px solid #A29672;
	border-right: 1px solid #A29672;
	width: 54.8%;
	line-height: 41px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(0,0,0,0.75);
}

.header .text span
{
	font-size: 24px;
	font-family: Ek Mukta;
	color: #76DAFF;
	text-decoration: none;
}

.content
{
	background-color: #3D4958;
	border-left: 1px solid #A29672;
	border-right: 1px solid #A29672;
	border-bottom: 1px solid #A29672;
	width: 54.8%;
	height: 200vh;
	position: relative;
	margin-left: auto;
	margin-top: 160px;
	margin-right: auto;
	z-index: 1;
}

ul li
{
	display: block;
}

ul li:hover > .tooltip
{
	display: block;
}

span
{
	margin-left: 5px;
	color: white;
	font-family: Oxygen;
}

.Football
{
	outline: none;
}

.Football img
{
	border: 2px solid #000000;
	width: 100px;
	height: 143px;
}

.Football img:hover
{
	border: 2px solid #32CD32;
	cursor: pointer;
}

.tooltip
{
	display: none;
	width: 304px;
	height: 119px;
	border-radius: 5px;
	background-color: #000000;
	position: absolute;
	z-index: 9999;
	top: 12px;
	left: 108px;
}

.data-tooltip1
{
	margin-left: 8px;
	margin-top: 12px;
	font-size: 12px;
	font-weight: bold;
}

.data-tooltip2
{
	margin-left: 8px;
	font-size: 11px;
}

.data-tooltip3
{
	margin-left: 8px;
	font-size: 11px;
}

.data-tooltip4
{
	margin-left: 8px;
	font-size: 11px;
}

Gdy najedzie sie kursorem na obrazek znajdujący sie na górze po prawej, to widać, że tooltip nie jest wyświetlany w całości. Widać to wtedy, gdy obrazek przesunie sie do góry i następnie najedzie kursorem na ten obrazek - wtedy górna część tooltipa chowa się.

To nie pomaga, a powinno:

.tooltip
{
	z-index: 9999;
}

Teoretycznie ten tooltip powinien działać prawidłowo, gdy nadam mu z-index: 4 albo wyższy, ale nawet wartość 9999 nie przynosi zamierzonego rezultatu.

Co muszę zrobić, aby ten tooltip był wyświetlany w całości przy tym obrazku?

Będę bardzo wdzięczny za skuteczną pomoc.

komentarz zamknięcia: Problem został rozwiązany

2 odpowiedzi

0 głosów
odpowiedź 30 sierpnia 2019 przez Majonez.exe Gaduła (3,490 p.)
z-index: 9999;

Albo większe powinno pomóc
komentarz 30 sierpnia 2019 przez Majonez.exe Gaduła (3,490 p.)
YYY czy ja dobrze zrozumiałem "Przez górną partię strony?" czy chodzi ci o kant strony? o koniec? jeżeli tak to nie da się musisz dać np. Margin?
komentarz 30 sierpnia 2019 przez Krzysiek_34 Mądrala (6,050 p.)

Na samej górze strony jest:

.header-nav-container
{
	background-color: #C0C0C0;
	z-index: 3;
}

Poniżej tego jest:

.header-container
{
	top: 90px;
	width: 100%;
	z-index: 2;
}

.header-left
{
	float: left;
	width: 22.6%;
	height: 43px;
	background-color: #808080;
}

.header-right
{
	float: right;
	width: 22.6%;
	height: 43px;
	background-color: #808080;
}

.header
{
	border-left: 1px solid #A29672;
	border-top: 1px solid #A29672;
	border-right: 1px solid #A29672;
	width: 54.8%;
	line-height: 41px;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	background-color: rgba(0,0,0,0.75);
}

.header .text span
{
	font-size: 24px;
	color: #76DAFF;
}

Na samej górze strony nadany jest z-index: 3 i kolor tła - srebrny.

Poniżej tego fragmentu nadany jest z-index: 2 i kolor tła - szary (także po lewej i po prawej stronie).

Specjalnie podałem teraz inne kolory, aby na górze strony można było odróżnić te 2 fragmenty. Te 2 fragmenty (w tle srebrnym i szarym) zasłaniają tooltip.

Rozumiesz? :)

Jeszcze poniżej znajduje sie "content" - posiada z-index: 1 i tutaj tooltip wyświetlany jest prawidłowo.

Nie potrafię już lepiej tego wytłumaczyć. :)

komentarz 30 sierpnia 2019 przez pablop76 VIP (123,120 p.)

Nie mogę teraz zajrzeć do kodu, ale jeżeli z-index nie działa może to oznaczać niepoprawna strukturę HTML. Zagnieżdżanie odgrywa dużą rolę. Jeśli element B znajduje się nad elementem A, element potomny elementu A nigdy nie może być wyższy niż element B

komentarz 30 sierpnia 2019 przez Krzysiek_34 Mądrala (6,050 p.)
Tu jest podany ciekawy przykład:

http://www.kurshtml.edu.pl/css/nakladanie,pozycjonowanie.html

czyli w moim przypadku tooltip powinien mieć nadany z-index: 4 albo powyżej czwórki, aby zakrywał te górne fragmenty strony. Niestety tooltip chowa sie pod te górne fragmenty przy z-index: 4 i nawet przy 9999.

Pytanie tylko czy przykład z tej powyższej strony zawsze sprawdza sie w praktyce?

Bo coś mi tu nie pasuje...
komentarz 30 sierpnia 2019 przez pablop76 VIP (123,120 p.)
I tu jest właśnie opisana pojęcie stosu, czyli to co napisałem wcześniej.
0 głosów
odpowiedź 30 sierpnia 2019 przez pablop76 VIP (123,120 p.)
Nie bardzo rozumiem w czym problem. Z tego co widzę to toltip wychodzi poza okno przeglądarki i z-index nie ma nic do tego. Wyodrębnij tylko ten fragment kodu, który pokazuje problem i pokaż na forum.
komentarz 30 sierpnia 2019 przez Krzysiek_34 Mądrala (6,050 p.)
To sprawdź jak wygląda tooltip gdy obrazek dasz do połowy (lekko użyj scrolla w dół) i najedź kursorem na ten obrazek, wtedy górna część tooltipa będzie zasłonięta.

A w tym przypadku tooltip ma być pokazany w całości.
komentarz 30 sierpnia 2019 przez Krzysiek_34 Mądrala (6,050 p.)

@pablop76,

Zrobiłem taki test.

Usunąłem z .tooltip:

z-index: 9999;

i gdy najeżdżam na inny obrazek z lewej strony, to tooltip chowa sie za obrazkiem z prawej strony. Czyli .tooltip bez zapisu: z-index: ??? ---> daje powyższy rezultat.

Natomiast gdy dopiszę do .tooltip:

z-index: 1;

albo powyżej tej jedynki ---> 2, 3, 4, 5, 9999, to tooltip nie chowa sie już za obrazkiem z prawej strony i jest ok. Ale niestety te górne fragmenty strony zakrywają tooltip. Obrazek przesuń lekko do góry i najedź na ten obrazek - wtedy górna część tooltipa będzie zasłonięta.

Jak zrobić, aby ten tooltip był pokazany w całości, gdy obrazek będzie przesunięty lekko do góry?

komentarz 30 sierpnia 2019 przez pablop76 VIP (123,120 p.)
Wklejam kod z pierwszego posta na codepen  i nie mam skrola, toltip wychodzi poza okno przeglądarki w prawo, po najechaniu na obraz
komentarz 30 sierpnia 2019 przez pablop76 VIP (123,120 p.)
Daj zrzut ekranu z problemem, bo wydaje mi się, że piszesz o innym szablonie :)
komentarz 31 sierpnia 2019 przez pablop76 VIP (123,120 p.)
Chodzi o to, ze twój szablon na małych ekranach jest inny niż pokazuje twój screen. Obrazek jest poza content. I toltip wychodzi poza ekran i wcale go nie widać.
komentarz 31 sierpnia 2019 przez pablop76 VIP (123,120 p.)
Wydaje mi się, że bez JS się nie obejdzie.  Wykrycie momentu gdy obrazek chowa się pod belkę i wtedy ustawienie toltip jako fixed. A w momencie schowania obrazka wyłączenie fixed toltip
komentarz 31 sierpnia 2019 przez Krzysiek_34 Mądrala (6,050 p.)
Pytanie tylko jak to ogarnąć w tym JS ?

To nie jest takie proste.

Podobne pytania

+1 głos
2 odpowiedzi 1,196 wizyt
–1 głos
0 odpowiedzi 658 wizyt
pytanie zadane 18 czerwca 2016 w C i C++ przez davidfx Nowicjusz (120 p.)
+1 głos
1 odpowiedź 279 wizyt
pytanie zadane 12 września 2020 w HTML i CSS przez Dylekter Użytkownik (670 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...