Avatar billede Slettet bruger
28. maj 2006 - 12:41 Der er 31 kommentarer og
1 løsning

Point til mclemens

Tak for hjælpen med drop-down menuen!
Avatar billede mclemens Nybegynder
28. maj 2006 - 12:54 #1
Det er da for mange ...
- behold lidt selv ;)
og tak for point :)

( http://www.eksperten.dk/spm/711783 )
Avatar billede Slettet bruger
28. maj 2006 - 12:59 #2
Jeg er ret opsat på at få den menu til at funke og du har sgu hjulpet mig meget.
Måske du så vil bistå mig med lidt ekstra hjælp hvis jeg ikke kan få de sidste ændringer til at virke?

;-)
Avatar billede mclemens Nybegynder
28. maj 2006 - 13:10 #3
Skal nok holde prøve at holde lidt øje med tråden engang imellem :)
- og tak for point igen :)
Avatar billede Slettet bruger
28. maj 2006 - 16:47 #4
Må hellere benytte den nye tråd.

Jeg har 2 spørgsmål som jeg håber du kan besvare.

1. Når jeg nu har lagt menuen ind i en div - kaldet menu, og denne menu har en baggrundsfarve. Så kan man se at mene-div'en strækker sig med så langt som der er elementer i undermenuen.
Hvordan gør jeg sådan at undermenuen bare kører ud over selve menu-div'en?

2. Jeg skulle gerne have lavet det sådan, at alle elementer, der benyttes til menuen - altså alle ul, li osv. Bliver erklæret i min .css-fil sådan at andre ul og li's ikke får samme formattering.
Normalt ville jeg gøre det således:

#nav ul

Men det kan jeg åbenbart ikke her fordi det er klasser.
Jeg får i hvert fald en underlig formattering hvis jeg prøver.

Jeg ville gerne kunne lave en "sektion" i min .css-fil hvor jeg erklærer alle menu-elementerne - ul.nav bla bla.

Revideret kode kan ses her: http://afterworld.dk/menutest.htm

:-)
Avatar billede Slettet bruger
28. maj 2006 - 16:55 #5
Overskriften og andet indhold bliver også rykket når menuen ekspanderer.
Jeg går ud fra at den skal ligges fri af det egentlige indhold på en eller anden måde?
Avatar billede mclemens Nybegynder
28. maj 2006 - 17:26 #6
- kigger på det tomasso ... det må være kunne løses på en
eller anden måde via. noget absolute vs. float og relative...
Avatar billede Slettet bruger
28. maj 2006 - 17:47 #7
Jeg fik klaret det med erklæringerne - i hvert fald på de fleste af dem, dog ikke dem med hover. De SKULLE være generelle tror jeg - det virkede i hvert fald ikke hvis jeg satte #menu foran dem. Men de andre virker nu fint med #menu direktiver foran og menuen virker nu fint med baggrundsfarve i menuen og det hele.

Jeg har lagt den reviderede udgave op: http://afterworld.dk/menutest.htm

Men der er stadig et problem med indholdet, ligesom at undermenuerne heller ikke vises på den rigtige side. Måske fordi de vises under en div under menuen?

Men jeg har ikke erklæret position på nogle af mine divs på siden.
Avatar billede mclemens Nybegynder
28. maj 2006 - 18:01 #8
- Er ikke helt sikker på om det er det her du mener?

#menu ul.nav ul {
    width: 100%;
    border: 1px solid #ccc;
}

- evt denne her også:
#menu a{text-align:center;}
Avatar billede Slettet bruger
28. maj 2006 - 18:05 #9
Jeg har netop lavet det sådan, at teksten i undermenuerne vises venstrestillet.
Det så lidt fjollet ud med centreret tekst i undermenuerne da teksten ikke er lige lang i dem alle sammen.

Men det med at menuen påvirker det underliggende indhold, kan det løses?
Avatar billede mclemens Nybegynder
28. maj 2006 - 18:12 #10
[ Men det med at menuen påvirker det underliggende indhold, kan det løses? ]
- Det er den del jeg ikke helt forstår, da jeg ikke synes at nedenstående indhold påvirkes af menuen? Prøv at indsætte dette i adresselinjen ... return og kør henover menu punkter...

java script:tmpapp=document.getElementsByTagName("body")[0];tmpnode=document.createTextNode("ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt");tmpapp.appendChild(tmpnode);void(0);
Avatar billede Slettet bruger
28. maj 2006 - 18:23 #11
Forresten så fremkommer der en sikkerhedsadvarsel når siden køres i IE.
Du ved den hvor man skal klikke i toppen af siden og acceptere usikkert indhold...
Avatar billede mclemens Nybegynder
28. maj 2006 - 18:31 #12
Får ingen sikkerhedsadvarsel her - men, jeg har så heller ikke de nyeste patches. Hvorfor den kommer op eller ej, kan jeg ikke hjælpe med, da jeg ikke ved hvorfor - der skulle ikke være noget sikkerheds mæssige problemer, i det script du har ... det kan dog være du har valgt et højt sikkerhedsniveau, der kun tillader javascript efter, at du har accepteret det ... hvis jeg sætter min til højeste sikkerhed, så virker det ikke... (kan godt ske jeg har valgt hvis ikke dette igen)...
Avatar billede mclemens Nybegynder
28. maj 2006 - 18:38 #13
m.h.t. scriptet er det måske værd af bruge en
.htc  fil til ie istedet ... se evt disse to links:
http://www.xs4all.nl/~peterned/examples/cssmenu.html
http://www.xs4all.nl/~peterned/csshover.html
Avatar billede Slettet bruger
28. maj 2006 - 20:34 #14
Ken jeg benytte det samme javascript i en .htc fil?

Jeg er ikke den store javascript-haj, så jeg tror ikke lige jeg kan lave en sådan fil fra bunden.
Avatar billede mclemens Nybegynder
28. maj 2006 - 20:57 #15
http://www.xs4all.nl/~peterned/examples/cssmenu.html <- gem denne fil
og denne her: http://www.xs4all.nl/~peterned/htc/csshover.htc

Denne css del aktiverer htc filen i IE ... Der er vist MS only dele i script - tror det kaldes for "jscript" eller sådan noget (meget af det ligner javascript) :/

body {
        behavior:url("../htc/csshover.htc");
    }

[ Jeg er ikke den store javascript-haj, så jeg tror ikke lige jeg kan lave en sådan fil fra bunden. ] ... nu er det jo også kun noget, der skal virke indtil IE understøtter hover på andet end a'tags. Så når det kan downloades fra en, der har brugt tid på at lave en css læser og class skifter - så er det jo nok det hurtigste :)
Avatar billede Slettet bruger
28. maj 2006 - 20:57 #16
Hejsa,

Jeg har taget .htc-filen fra http://www.xs4all.nl/~peterned/csshover.html og det virker umiddelbart fint.

Havde du et forslag til hvorfor menuen ligger bag indholdet (undermenuerne)? Og måske til hvorfor indholdet under menuen bliver rykket?
Avatar billede mclemens Nybegynder
28. maj 2006 - 21:02 #17
Havde du et forslag til hvorfor menuen ligger bag indholdet (undermenuerne)? ... er ikke sikker på hvad du mener du kan måske kaste z-index:99; i css på menuen og z-index: 2; på menuer (ikke testet) ... ved ikke om det er det du mener :/

[ Og måske til hvorfor indholdet under menuen bliver rykket? ] - Troede du mente den fra 28/05-2006 18:01:40:
#menu ul.nav ul {
    width: 100%;
    border: 1px solid #ccc;
}
- da jeg troede du mente det med at undermenuer var bredere end hovedmenu punktet ... når det ikke var tilfældet så ved jeg ikke helt hvad du mente...
Avatar billede Slettet bruger
28. maj 2006 - 21:17 #18
Hejsa.

Jeg fandt selv ud af det med z-index. Jeg gav menuen z-index : 1; og nu virker den.

Du kan se hvad jeg mener på http://afterworld.dk - her ligger siden jeg arbejder på.
På nogle af siderne rykkes indholdet for langt til højre og på andre rykkes teksten fuldstændig mød højre - fek,s. http://afterworld.dk/fysiurgisk.htm

Jeg har også et problem med andre ul'er på siden, der ikke har nmoget med selve menuen at gøre. Der er nogle af siderne der gør brug af punktlister og det var derfor jeg ønskede at kunne erklære menu-elementerne specifikt som fek,s. #menu ul osv.
Dette fik jeg gjort på nogle af elementerne, men kunne ikke gøre det på andre da menuen så ikke ville virke efter hensigten.
Avatar billede Slettet bruger
28. maj 2006 - 21:18 #19
Det med teksten sker sjovt nok kun i IE.

:-)
Avatar billede mclemens Nybegynder
28. maj 2006 - 21:20 #20
- Hvis du bare skal bruge en menu er det måske ligeså godt at bruge en dropdown javascript menu indtil IE understøtter :hover på alle elementer ... Der er mange gode menuer rundt på nettet - har dog ikke prøvet nogle af dem ... søg evt på dynamic dropdown javascript menu

- Her er en menu jeg selv har bygget op fra bunden p.gr.a. at IE har det med at misforstå onmouseout hvis der er flere objecter i en div'en man har onmouseout sat på ... hvis du roder med nedenstående så: Kør evt. en tekst erstatning på hidden -> none og visible -> block og visibility -> display... det samme gælder nye divs du opretter... (bemærk det er kun testet i et niveau så det understøtter nok ikke mere)

http://www.eksperten.dk/spm/702784 - nok den letteste at gå i flæsket med...

http://www.eksperten.dk/spm/700575 <- Dette spørgsmål gav det her:
http://www.copenhagentrading.dk/
Avatar billede mclemens Nybegynder
28. maj 2006 - 21:43 #21
Kan godt se fejlen ... kigger på det ...
Avatar billede Slettet bruger
28. maj 2006 - 21:44 #22
Jeg tror faktisk jeg er ved at være der mclemens.
Det eneste jeg umiddelbart mangler nu er at definere ul for menuen.

Mit problem er, at de sider hvor teksten bliver højrestillet også er tekst i <ul>.

Hvis jeg bare kunne sætte det hele til menu-ul'er osv i mit css, så ville det hele virke tror jeg.

/* Elementer til top-menuen starter */
/* -------------------------------- */
#menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    width: 123.3px;
    float : left;
}

#menu ul.nav ul {
    width: 160px;
    border: 1px solid #ccc;
}

#menu ul li {
    position: relative;
    border-bottom : solid 1px #ccc;
}

li ul {
    position : absolute;
    display: none;
}

li:hover ul, li.over ul {
    display: block;
    text-align : left;
}

ul li a {
    display: block;
    padding: 5px;
    text-decoration: none;
    font-weight : bold;
    color: #ffffff;
    background-color: #4682B4;
    border-bottom: 0;
}

ul li a:hover {
    color: #000000;
}

/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */
/* -------------------------------- */
/* Elementer til top-menuen slutter */

Som du kan se er der nogle elementer, der ikke har #menu foran.
Disse elementer virker ikke i menuen hvis jeg sætter #menu foran, men hvis jeg undlader det, bliver formatteringen til menuen overført til andre lister på siden, der ikke skal vises i en linie fremfor i en vertikal liste.
Avatar billede Slettet bruger
28. maj 2006 - 21:48 #23
Spørgsmålet er om det ikke er det her, der skaber problemet:

/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */

:-)
Avatar billede mclemens Nybegynder
28. maj 2006 - 21:53 #24
øv :D
Avatar billede mclemens Nybegynder
28. maj 2006 - 21:54 #25
hov, ikke helt den giver nogle andre problemer med menuen åbenbart ...
Avatar billede Slettet bruger
28. maj 2006 - 21:56 #26
Ja, hvis man fjerner * html og skriver #menu ul li { float: left; } vises undermenu-elementerne ikke som kasser, men kun med farve så langt som teksten rækker for det givne undermenu-punkt.

+ Det gav vidst også nogle problemer med bredden af elementerne i IE og FF.
Avatar billede Slettet bruger
28. maj 2006 - 22:01 #27
Jeg har ændret mine lister i selve indholdet til <ol>, ikke optimalt fra et vedligeholdelses-synspunkt, men gidder ikke rode mere med det :-)

Nu ser det hele ud til at blive præsenteret ordentligt og hvis så Microsoft får taget sig sammen til at lave et ordentligt stykke arbejde fremover slipper man vel for noget lignende dette i fremtiden :-)

Du skal have STOR tak for din hjælp!!!
Uden dig var jeg ikke kommet så langt indenfor denne og den næste måneds tid :-)
Avatar billede mclemens Nybegynder
28. maj 2006 - 22:01 #28
#menu ul li {float:left;}
#menu ul li a{width:113px;}
#menu ul ul li a{width:100%;}

sådan ?
Avatar billede mclemens Nybegynder
28. maj 2006 - 22:02 #29
( istedet for det hide noget )
Avatar billede mclemens Nybegynder
28. maj 2006 - 22:03 #30
ok, så lidt - ked af at jeg ikke kunne klare det sidste :)
Avatar billede mclemens Nybegynder
28. maj 2006 - 22:05 #31
#menu ul li {float:left;}
#menu ul li a{width:113px;}
#menu ul ul li a{width:150px;}
... det sidste jeg skrev skulle have været det
her... hjalp lidt på det tidligere problem...
Avatar billede Slettet bruger
28. maj 2006 - 22:41 #32
Hejsa,

Jeg forsøgte lige med den første, men det kiksede lidt for menuen efterfølgende.
Jeg skal være ærlig og sige at jeg ikke gidder rode mere med det nu. Nu virker det hele og det er perfekt. Det er et lille site og chancen for at der pludselig benyttes <ul>'er inde i selve content div'en er ret lille og dermed kan det sagtens ordnes med at listerne i indenfor indholdet holdes i ordnede lister med css-formattering som uordnede lister.

Men igen, du har været en ven i nøden :-)
Tak for det!
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