Avatar billede McFlynder Nybegynder
31. august 2010 - 13:46 Der er 8 kommentarer

Hjemmeside ser forkert ud i Chrome

Hej med jer.
Jeg har lavet en hjemmeside ud fra alt det HTML, jeg har lært på min uddannelse indtil videre.
Men siden det er en eksamensopgave, skal den gerne se ens ud i alle browsere, hvilket den ikke gør.
Hvis i ser på www.brandtportfolio.dk med IE, ser den ud som den skal, men i Chrome, Firefox o.l. er menuen i portfolio-området rykket 10 px. ned, så den ikke passer med skiltet.

Hvad har jeg lavet?

Her er hele css-delen i det område:

#ul {
    display: block;
    float: right;
    padding: 0px;
    margin-top: 220px;
    margin-bottom: 0px;
    margin-right: 210px;
}

#ul li {
    display: block;
    list-style-type: none;
    padding: 3px;
    margin-top: 11px;
}

#ul li  a {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    color: #CCC;
    text-decoration: none;
    font-weight: bold;
}
Avatar billede stenger Nybegynder
01. september 2010 - 11:45 #1
Hej,

Ved ikke om det virker, men prøv følgende:

Sæt float:left; og en relevant bredde på din #UL.

Smid derefter også float:left; på din #UL li, samt width:100%;.

Såfremt du har mulighed for det, så giv dine LI hver deres classes og tilret dem via margin-top.

Så snart et element har float-egenskaben på sig, opfører det sig som regel nogenlunde ens i browserene (og så er float også en ret meget nemmere måde at opbygge ens sider med, en eksempelvis position... efter min mening).

/Stenger
Avatar billede McFlynder Nybegynder
01. september 2010 - 14:45 #2
Float:left var det første, jeg prøvede, men fordi siden er bygget op som den er, smider menuen sig bare helt ovre i den modsatte side, og så skal jeg alligevel bruge margin til at styre positionen.

Float:left på en LI vil da gøre at menuen ligger vandret, og ikke lodret?

Jeg har classes på de to øverste i menuen, hvor jeg har brugt højden til at adskille dem lidt mere end resten.
Avatar billede stenger Nybegynder
01. september 2010 - 15:52 #3
Det du kan gøre er at smide float:right; display:inline; width: x antal pixels; og så margin-right:x antal pixels; på din UL. Få den placeret som den skal.

Derefter smider du float:left; width:100%; på dine LI´s. Så vil de fylde hele UL´en ud og altså stå nedenunder hinanden.

Derefter kan du, hvis hver LI har deres egen class, give dem seperat margin-top. Sådan ville jeg gøre det :)

/Stenger
Avatar billede McFlynder Nybegynder
01. september 2010 - 21:00 #4
Okay, har gjort alt hvad der stor i ovenstående indlæg, og alle mine menupunkter har fået hver deres classes, så de passer med skiltet.
Men nu er det Chrome, der gør det rigtige, og ikke IE.

Det er som om IE glemmer den første class, der skulle rykke 'Portfolio' ned hvor den hører til.

Linket i mit første indlæg er opdateret.
Avatar billede stenger Nybegynder
06. september 2010 - 11:11 #5
Har du "nulstillet" din UL?

Altså, givet den float left, padding:0; og margin:0;

UL´s opfører sig som standard nemlig også forskellige fra browser til browser.
Avatar billede McFlynder Nybegynder
06. september 2010 - 11:50 #6
Min ul er float right. Ved ikke om det påvirker browserne på forskellige måder end float left?

Har styret min ul med margin-right og top (kender ikke andre måder), og har tænkt at det sikkert ikke er den bedste måde at gøre det på.
Men som jeg læser ovenstående indlæg, skal jeg fjerne al margin og padding, og så derefter indsætte flere div's, der skal støtte op på min ul, så den ikke kan rykke sig?

Min opdaterede CSS:

#ul {
    display: inline;
    float: right;
    padding: 0px;
    margin-top: 179px;
    margin-bottom: 0px;
    margin-right: 200px;
    width: 100px;
    margin-left: 0px;
}

#ul li {
    display: block;
    list-style-type: none;
    padding: 3px;
    float: left;
    width: 100%;
}
Avatar billede stenger Nybegynder
06. september 2010 - 12:35 #7
Hej igen,

Har du mulighed for at sætte en class på din UL?

For så kan du lave en CSS, hvor du generelt sætter UL´s til padding:0; og margin:0;.

Derefter går du så bare ind og rammer din ul.classetellerandet og giver den korrekt margin. Så er den nulstillet fra starten i de forskellige browsere.
Avatar billede McFlynder Nybegynder
06. september 2010 - 13:33 #8
Den class, jeg skulle lave, virker kun på min den div, ul ligger i.
Det ser ud som om min ul stadig styrer sin egen position (altså ligger pludselig oppe i venstre hjørne, pga den manglende margin), hvis jeg sætter class ind i ul-taggen.
Er det vigtigt at den skal ligge i selve ul'en?

Ligger den i div, er der stadig samme forskel på browserne.

Jeg tænkte på noget helt andet.
Den eneste forskel, der er på portfolio-siderne og resten er den menu, der hedder "Design - Webdesign - Videoer". Det er kun portfolio-siderne, der driller, så det kunne måske være den, det var galt med i stedet.
Den ser bare ikke ud til at påvirke andet end min ul, så det ville være underligt hvis det var den..

Css for menuen:

#ul{
    display: block;
    float: left;
    margin-top: 90px;
    margin-left: 620px;
    list-style-type: none;
    padding: 0px;
}

#li{
    display: block;
    list-style-type: none;
    float: left;
    padding: 5px;
    margin-right: 20px;
}
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