ugrás a tartalomhoz

Trükkös z-index

hunkris · 2012. Júl. 30. (H), 00.20
Sziasztok!

Van egy érdekes problémám, mégpedig az, hogy mostanában sokat másolok weboldalakat, ilyen gyakorlás alapon (nem üzleti célokra). Ezekbe próbálom beépíteni a HTML5-öt és a CSS3-mat. Eljutottam a z-indexig, de van egy problémám.
 <header>
		     <aside id="menu">
			     <div class="kozep">
			         <img src="img/logo.png" id="logokep" alt="logo">
			         <nav id="menusav">
                         <a href="">Főoldal</a>
					     <a href="asdasd/">asdasd</a>
						 <a href="asdasd/">asdasd</a>
					     <a href="asdasd/">asdasd</a>
						 <a href="asdasd/">asdasd</a>
					     <a href="asdasd/">asdasd</a>
				     </nav>
			     </div>
			 </aside>
	     </header>
A CSS:
#galleriakep {
    margin: 0 auto;
	display: block;
	width: 1200px;
	height: 400px;
	z-index: 200;
}

#menu {
    height: 120px;
	text-align: left;
	opacity: 0.4;
    filter: alpha(opacity=40);
	background-color: #00b0d8;
	z-index: 300;
	font-size: 20px;
	word-spacing: 15px;
	font-weight: bold;
	position: relative;
	bottom: 420px;
	color: #FFFFFF;
}
Remélem ennyi kód elég lesz. Kicsit érdekesen húzza be a kódszínező a kódot, annyi baj legyen.

Úgy próbálom megcsinálni, hogy a menü átlátszó, és alá be van húzva a kép. Viszont a z indexet bárhogy is keverem, mindig a kép van feljebb. Ez csak akkor változik meg, mikor a kép van előbb a kódban és utána a menü, relatívan pozicionálva. Viszont akkor olyan nemkívánatos mellékhatások lesznek, amik engem zavarnak.

Ha az itt levő kód nem elég, itt az egész: wéwéwé(pont)66aaaa(pont)myds(pont)me/kk.
Kérlek nézzétek el, hogy ilyen rondán írtam le, de egy nasról megy a weboldal (ezen fejlesztek), jobb a biztonság.

Építő jellegű és egyéb kritikákat is szívesen veszek.
 
1

A z-index

Pepita · 2012. Júl. 30. (H), 05.32
- CSS2 része, nem csak CSS3;
- A HTML és a CSS (amit ideírtál) nem passzol össze, így nem lehet benne hibát keresni (CSS-ben van "galleriakep" id, míg HTML-ben nincs és HTML-ben "logokep" id, ami CSS-ben nincs, a nav elem azonosítója sem stimmel);
- Az 1200px szélességű elem XGA kijelzőn vízszintes gördítősávot fog jelenteni, amit a többség utál;
- HTML-ben mindig számít, hogy mi szerepel előbb;
- Ha egymásra akarsz pakolni elemeket és azt akarod, hogy kizárólag a z-index határozza meg a szinteket, akkor jobb abszolút pozicionálni;
- Háttérképnek használj background-... tulajdonságokat az img elem helyett. Hasonló (azonos) tulajdonságú dobozokkal kevesebb gondod lesz, mint különböző HTML elemekkel (ugye a képet szoktuk betenni egy konténerbe, nem fordítva).

mostanában sokat másolok weboldalakat
Ezt nem tartom jó ötletnek, gyakorlásképp sem.
Viszont akkor olyan nemkívánatos mellékhatások lesznek, amik engem zavarnak.
Pontosan mik? Jobb, ha konkrét kódot írsz le konkrét hibajelenséggel, így nem tudunk rá mit mondani.

Még egy apró észrevétel: mivel a nav elemet IE (8-ig) nem ismeri fel, felesleges a CSS-ben a filter: alpha(opacity=40); sor, az csak IE-nek "szól". Ha fontos, hogy IE is jól megjelenítse, akkor elég kevés HTML5-ös tag-et használhatsz, vagy különféle js-trükkökkel kell megjelenésre bírnod, amik meg elég memória- és procizabáló. (Lehet, hogy a <nav> még pont megjelenik, most - fejből - úgy emlékszem, hogy ez sem.)
2

Köszi az észrevételeket!

hunkris · 2012. Júl. 30. (H), 10.16
Köszi az észrevételeket!

Fú, tényleg, a kép lemaradt... De írtam, ha valami nem okés a kóddal, a teljes ott van a link alatt, firebug on (esetleg ctrl + u), nem akarom elrondítani az oldalt a teljes kóddal.

-Lehet, hogy nem passzol össze, mert nem a navhoz tartozik, hanem az asidehez. Eddig div volt, csak úgy átírtam.
-Az 1200px széles elemre mit javasolsz?
-Tisztában vagyok, hogy számít, mi van előbb.
-Ezt nem tudtam.
-Ööö ezt most nem értettem tisztán. Hol használok háttérnek img elemet? Ez egy képrotátor lesz, láthatod is az egyszerűsített kétgombos változatát az első postban levő linkben. Persze tied a tisztelet, félreérthető volt a szitu.

Csak azért szoktam weboldalakat másolni, mert nehezen jön az ihlet :)
A második idézésre meg az a válaszom, hogy ha a kép van előbb a kódban, aztán a menü, akkor a kép alatt levő dolgok mindig keverednek a menüvel. Elvileg egy div segíthetne, de valamiért nem tette. Most csak azon próbálkozok, hogy jó legyen úgy, hogy előbb a menü, aztán a kép van.

Még egy félreérthető rész, mivel nem a teljes kódot másoltam be, ezért nem látszik, hogy a fejlécben meghívom Remy Sharp (vagy ki) "HTML5 enabling scriptjét". Ha jól tudom, egy tömbbe teszi az új elemeket, végigmegy a tömbön és az elemeket megalkotja a createElement-tel. Tied a tisztelet. (Meg, manapság kinek nincs 4 giga RAM-ja?)

Ha valami nem érthető, szólj.
3

más eszköz

Poetro · 2012. Júl. 30. (H), 11.54
Meg, manapság kinek nincs 4 giga RAM-ja?

Mondjuk a telefonodnak, a tabletednek, a netbookodnak, a notebookodnak. És ezekből az eszközökből van egyre több, nem pedig asztali gépekből.
4

IE 8

hunkris · 2012. Júl. 30. (H), 12.28
És ezek az eszközök futtatnak IE 8-cat?
6

Újabbakon nem

Hidvégi Gábor · 2012. Júl. 30. (H), 13.01
De ha nem akarsz kétszer dolgozni (mobilra és asztalra), akkor célszerű IE8-hoz igazítani. Egy <nav> úgysem hordoz többlet információt egy <ul>-hez vagy <div>-hez képest.
5

Igen

Poetro · 2012. Júl. 30. (H), 12.50
Mobiltelefonon, netbookon és notebookon fut IE8. Mobilon a Windows Phone 7 és régebbi esetén IE 6-7-8 fut, valamint Windows XP-n eleve ez a maximum, a Windows Vista, és Windows 7 eredetileg pedig IE 8-cal került a piacra.
8

Zagyvaság némi nagyképűséggel

Pepita · 2012. Júl. 31. (K), 00.45
Ezt olvasom ki szavaidból. Ez nem nyerő.
De írtam, ha valami nem okés a kóddal, a teljes ott van a link alatt,...

1. Legyen okés. Azt írd ide, amivel problémád van, úgy, ahogy a problémát okozza. Így más is tanulhat belőle.
2. Nincs link. Értelmetlen katyvaszduma van helyette, nem bogozgatom. Ha linkelted volna, esetleg megnéztem volna. De jobban örülök (és mások is) az itt helyben színezett forráskódnak. Ha meg írsz be forráskódot, hagy ne töltsem azzal az időmet, hogy válogatom a különféle "verzióidat". Nem kell teljes kód, csak ami - szerinted - a problémát okozza, de az pontosan.

Amit alább válaszolgattál, kissé nehéz így beazonosítani, jobb ha néha idézel.
-Az 1200px széles elemre mit javasolsz?
Relatív méretezést elsősorban. Akkora a szórás manapság a megjelenítő kijelzők méretei között, hogy kb. el kell felejteni a pixelméretű dobozokat (majdnem).
Hol használok háttérnek img elemet? ... láthatod is az egyszerűsített kétgombos változatát...
Nem tudom, csak tippeltem (<img src="img/logo.png" id="logokep" alt="logo">), annyira pontatlan volt a kérdés... Láthatom, ha megnézném, de nem link, l. fentebb.
A második idézésre meg az a válaszom, hogy ha a kép van előbb a kódban, aztán a menü, akkor a kép alatt levő dolgok mindig keverednek a menüvel.
Na, ennek kéne a pontos kódja és a "keveredés" pontosabb megfogalmazása (esetleg képernyőkép), máris hatékonyabban tudnánk segíteni.
(Meg, manapság kinek nincs 4 giga RAM-ja?)
Úgy saccolom, kb. a magyar internetezők 90%-ának. És nem csak RAM és nem csak egy oldalt nyitnak meg, stb., stb...
Ha valami nem érthető, szólj.
Nos, ha te kérsz segítséget és még nekiállsz velem emberkedni, tedd már meg, hogy személyesen jössz el... Én könnyen megtalálható vagyok. Viccet félretéve: a stílusod kinyitotta a bicskám.
7

Egyrészt statikusan

tgr · 2012. Júl. 30. (H), 20.08
Egyrészt statikusan pozicionált elemre tett z-indexnek semmilyen hatása nem lesz. Másrészt a szülő alá/fölé kerülést az határozza meg, hogy a gyereknek pozitív vagy negatív a z-indexe, nem az, hogy a szülőénél nagyobb-e.