Avatar billede augustjoergensen Nybegynder
14. september 2005 - 13:45 Der er 15 kommentarer

Problem med divs - en %menu (på langs)

Hej jeg har et problem med en divs menu lavet udfra en <ul> list.
Problemet kommer da jeg har fem menu elementer som står på langs der hver skal være 20% brede.
Hvis jeg i mit <ul> a element skriver 20% i breden virker dette fint i IE men ikke i firefox fordi den tæller min border på 1px med. Derfor prøvede jeg at udregne breeden for hvert element minus de to pixels (en pixel på hver side til en border). Herefter virker menuen perfekt i Firefox men ikke i IE!

Jeg har tænkt på en måde at fixe problemet - ved at lave et stylesheeet til IE og et til Firefox, men kan man ikke ordtne dette problem på en nemmere måde?
Avatar billede roenving Novice
14. september 2005 - 13:51 #1
Jo, du kan bare tvinge IE til at fortolke box-modellen korrekt ved at have en fuldt kvalificeret doctype som det allerførste i dokumentet:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>

...
Avatar billede augustjoergensen Nybegynder
14. september 2005 - 13:52 #2
Kan jeg ikke bruge strict?!? det kan da ikke passe jeg skal køre html, bruger normalt Xhtml strict.
Avatar billede roenving Novice
14. september 2005 - 13:59 #3
Det var bare et eksempel, så skal du bare sørge for, at du har det korrekte link til en xhtml-strict dtd !-)

-- men iøvrigt er det lidt for tidligt at gå over til xhtml, da ingen browser kan bruge den ekstra funktionalitet, og den første udgave, man kan forvente er rigtig brugbar er xhtml 2.0 ...

-- og hvis du sætter den totalt ubrugelige xml-prolog foran doctype, vil IE bruge den som undskyldning for ikke at fortolke _meget_ væsentlige dele af css korrekt, bl.a. box-modellen ...

-- altså _ingen_ xml-prolog, så dit dokument skal starte sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <!-- indsæt gerne xml-attributter her, men _ikke_ før doctype-tagget -->

eller:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html> <!-- indsæt gerne xml-attributter her, men _ikke_ før doctype-tagget -->
Avatar billede augustjoergensen Nybegynder
14. september 2005 - 14:01 #4
Jeg bruger:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Der skulle være intet problem her!

følgende css kode bruger jeg til min menu:

ul#menu {
    width:760px;
    margin:0;
    padding:0;
    list-style:none;
}
ul#menu li {
    display:inline;
    margin:0;
    padding:0;
}
ul#menu li a, ul#menu li.active {
    border:1px outset;
    float:left;
    width:150px;
    min-width:150px;
    text-decoration:none;
    text-align:center;
    font-size:12px;
    font-weight:bold;
    color:white;
    height:18px;
    background:#7898a4;
    padding-top:3px;
    margin-bottom:15px;
}
ul#menu li a:hover {
    border:1px #ffffff outset;
    background:black;
}
Avatar billede roenving Novice
14. september 2005 - 14:03 #5
Kan du linke til et eksempel ?-)
Avatar billede augustjoergensen Nybegynder
14. september 2005 - 14:04 #6
de 150 pixels i breden er fundet vha:

Breden er i alt 760/5 = 152 - 2 fordi der er en border på begge sider : 150px
Avatar billede augustjoergensen Nybegynder
14. september 2005 - 14:05 #7
Avatar billede roenving Novice
14. september 2005 - 14:20 #8
-- der må intet være foran doctype, selv din kommentar bruges af IE til at skide på css-rekommendationerne, så fjern eller flyt den !-)
Avatar billede augustjoergensen Nybegynder
14. september 2005 - 14:29 #9
hehe ;) seriøst hvis min kommentar gør det... er det lidt omg!
Avatar billede roenving Novice
14. september 2005 - 14:32 #10
Tjah, du kan jo bare prøve at fjerne den !o]

-- for sådan reagerer IE altså !-)
Avatar billede olebole Juniormester
14. september 2005 - 14:33 #11
<ole>

- og inden du spilder for megen tid på at skrive fejlfyldt HTML, du tror, er XHTML, skal du nok prøve at læse disse to:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538

Det, der lander i brugerens browser, har nemlig intet med XHTML at gøre, selvom dine sider validerer perfekt. Vær i øvrigt glad for det, da f.eks. dine scripts ville få enhver browser, der kun parser XHTML til at dø øjeblikkeligt.

Måske, du skulle sætte dig lidt bedre ind i webteknologierne, inden du tilbyder webløsninger i høj kvalitet  ;o)

/mvh
</bole>
Avatar billede augustjoergensen Nybegynder
16. september 2005 - 09:46 #12
roenving -- skriv et svar så får du points
Avatar billede olebole Juniormester
16. september 2005 - 13:45 #13
Fandt du så ud af, hvor ubrugelig XHTML-standarden er på WWW?  :)
Avatar billede roenving Novice
16. september 2005 - 14:44 #14
Velbekomme '-)
Avatar billede olebole Juniormester
21. september 2005 - 14:36 #15
... hmmm ....
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