Avatar billede phliplip Nybegynder
20. juli 2008 - 18:23 Der er 24 kommentarer og
2 løsninger

z-index i Internet Explorer og UL LI menu

Hej Experter,

Er igang med at lave et website der ligger på http://www.kliniksante.dk/index.php (Bemærk: i får en anden side hvis i bare går til kliniksante.dk - Det skal være den URL, da siden ikke er offentlig endnu)

Mit problem er menuen, det er en multilevel UL LI menu

Level 1: Forside, Om.., Behandlinger, Kontakt

Level 2: Vises når et punkt i level 1 er valgt eller ved :hover. Her vises en sort bjælke med links, og er der for mange ift. breden, kommer der en 50% transparent bjælke nedenunder som ligger sig oven på content delen.

Level 3: Vises med en lille pil ved hvert level 2 punkt og ved :hover laves der en drop down.

Level 4: Ikke aktuelt på siden, men også en drop down.

Mit problem er at i IE ligges content oven på de transparente level 2 punkter og Level 3+.

Hår prøvet at sætte z-index på Content layeren til noget lavere end menu'en men uden held. Det virker perfekt i FireFox.

Nogen der har en forklaring og evt. en løsning på dette problem?
Avatar billede zips Juniormester
20. juli 2008 - 23:14 #1
Blot til info, din menu virker slet ikke i IE6
Avatar billede phliplip Nybegynder
20. juli 2008 - 23:25 #2
Nå.. det var nyt.. skal ærligt indrømme at det er et stykke tid siden jeg checkede den i IE6. Men jeg kan da godt se at den ikke virker, og at der kommer en eller anden JS fejl i IE6. Nå, det må jeg finde ud af, men kan ovenstående problem løses i IE7 ?
Avatar billede phliplip Nybegynder
20. juli 2008 - 23:26 #3
Jeg testede med IE6 fra MultipleIEs..
Avatar billede zips Juniormester
20. juli 2008 - 23:48 #4
Hvis det kun skal være kunder med IE7 og FF, det bestemmer du jo, men helt klart ville jeg ikke syndes det er god ide, sådan noget skal virke på så mange browser som muligt.
Avatar billede olebole Juniormester
21. juli 2008 - 00:44 #5
<ole>

I koden skriver du flere steder:
    <!--[if gte IE 7]><!--></a><!--<![endif]-->

Prøv i stedet at skrive:
    <!--[if gte IE 6]></a><![endif]-->

Så kunne den formodes at virke i IE6+  =)

/mvh
</bole>
Avatar billede olebole Juniormester
21. juli 2008 - 00:47 #6
- men burde teksten forøvrigt ikke være nogle få pixels længere nede i FF?
Avatar billede phliplip Nybegynder
21. juli 2008 - 01:04 #7
Zips: vi er helt på bølgelængde med at den selvfølgelig skal virke i IE6 og hvilken som helst anden browser for den sags skyld ;)

olebole: Jeg har napset menuens kildekode herfra; http://www.cssplay.co.uk/menus/pro_line_down_fly.html - Den er dog mod'et lidt. Men det er derfra de der IE 7 / 6 conditions stammer fra.

Hvad mener du med teksten?
Avatar billede phliplip Nybegynder
21. juli 2008 - 01:05 #8
olebole: Jeg har prøvet det du foreslog uden held.
Avatar billede olebole Juniormester
21. juli 2008 - 01:33 #9
Hmmm ... du skal under alle omstændigheder lave betingelsen anderledes. Efter lidt mere granskning mener jeg, den skal se sådan ud:
    <!--[if gte IE 7]></a><![endif]-->

Menuen påstås at virke i IE6, så noget tyder på, du laver en anden fejl et sted, men jeg orker ikke at kikke det hele igennem. Er der evt. noget, du float'er, som ikke float'es på cssplay?
Avatar billede phliplip Nybegynder
21. juli 2008 - 09:16 #10
olebole: Det er muligt at jeg floater noget forkert, men iht. mit egentlige spørgsmål, så forstår jeg ikke hvorfor den placeres bag content. Jeg mener da at hvis et div har z-index: 500, så burde det og dettes child-elements blive placeret oven på et div med z-index: 499 og dettes child-elements.
Avatar billede phliplip Nybegynder
21. juli 2008 - 09:17 #11
Det jeg mener er at child-elements burde arve z-index, men jeg har måske misforstået noget?
Avatar billede w13 Novice
21. juli 2008 - 12:04 #12
Er z-index overhovedet nødvendigt?

Hvis du har koden:

<elementA></elementA>

<elementB></elementB>

så vil elementB ligge øverst, fordi det er længere nede i koden og derved også bliver lavet efter elementA og lagt oven på.
Avatar billede olebole Juniormester
21. juli 2008 - 13:45 #13
"Det jeg mener er ... men jeg har måske misforstået noget?" >> Ja, det tror jeg  =)

Reglerne for stacking order er ikke helt lige til. Man skal holde tungen lige i munden, da både rækkefølgen i markup'en, z-index og float har indvirkning på elementernes stacking order:
    http://www.w3.org/TR/CSS21/visuren.html#layers

- og mere indgående:
    http://www.w3.org/TR/CSS21/zindex.html
Avatar billede olebole Juniormester
21. juli 2008 - 13:46 #14
- og hov ... jeg glemte, at position også har indflydelse  ;o)
Avatar billede phliplip Nybegynder
21. juli 2008 - 14:04 #15
w13: Lige præcis derfor jeg bruger z-index :)

olebole: Der er lige lidt at læse op på kan jeg se ;) Det må jeg så hellere lige gøre, især den mere indgående ser interessant ud.
Avatar billede w13 Novice
21. juli 2008 - 14:06 #16
phliplip>> Så du kan ikke placere dine elementer anderledes altså?
Avatar billede phliplip Nybegynder
21. juli 2008 - 21:34 #17
Jo jeg kunne måske godt placere dem anderledes i markupen, men så skulle menuen måske ligge efter content? Det syntes jeg ikke lyder hensigts mæssigt eller som god kodestil.
Avatar billede w13 Novice
22. juli 2008 - 00:10 #18
Menuen ligger da til højre før content, ikke?
Så på sin vis kommer den da også efter. Men det er jo en smagssag.
Avatar billede olebole Juniormester
22. juli 2008 - 01:09 #19
Det ville være endog rigtig god og hensigtsmæssig kodestil at anbringe en menu efter sidens indhold. I forhold til søgemaskiners indeksering af siderne er det indholdet, der er interessant og skal så højt op, som muligt - menuen skal de såmænd nok finde  ;o)
Avatar billede phliplip Nybegynder
22. juli 2008 - 08:36 #20
Det lader til at der er blevet talt, jeg forsøger senere i dag at placere menuen efter content i markup.
Avatar billede phliplip Nybegynder
22. juli 2008 - 09:43 #21
Nå det lader til at virke nu i IE7, og IE6 virker "lidt" bedre nu :) Der er lige nogen ting der skal tweakes ind.

Men anyways jeg er happy :)

Hvem skal have points? Jeg foreslår w13 får 150 da det var ham der indledningsvis foreslog at flytte menuen i markupen, og olebole 50, for hans helt eminente viden om standarder ;o)

Hvad siger i? Lig svar!
Avatar billede w13 Novice
22. juli 2008 - 09:54 #22
:)
Avatar billede phliplip Nybegynder
31. juli 2008 - 13:05 #23
Ole?
Avatar billede phliplip Nybegynder
02. august 2008 - 15:53 #24
Nå.. hvis du vil have dine 50p ole, så sig lige til.
Avatar billede w13 Novice
02. august 2008 - 16:40 #25
Tak for point :)
Avatar billede olebole Juniormester
02. august 2008 - 21:26 #26
Jeg fik vist aldrig mail herfra. Pyt, de falder et godt sted - og jeg har rigelig i forvejen  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester