Avatar billede larz Nybegynder
11. oktober 2005 - 01:05 Der er 23 kommentarer og
1 løsning

Validering af XHTML dokument

Jeg er for sjovt begyndt at lave noget XHTML og noget CSS
har bare nogle problemer med at få valideret XHTML dokumentet (css'en er ikke så vigtig nu lige)

XHTML dokumentet ser sådan ud

<?xml version="1.0"?>
<!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" lang="da">

<head>

<title>links</title>
<link rel="stylesheet" href="bartel.css" type="text/css" />
</head>
<body>

<p>
<img src="top.jpg" alt="TOP BANNER" /><div id="boks1">    <div id="menu"><a href="">Forside</a><a href="">Mig</a><a href="">Uddannelse/jobs</a><a href="">Referencer</a></div></div><div id="boks2"><img src="menu.jpg" alt="TOP BANNER" />
</div>
<br />


</p>
</body>
</html>

CSS'en ser sådan her ud

body {

color: blue;
font-weight: bold;
background-color: #e9e9e9;
margin: 0px 0px 0px 0px;
}


#boks1 {
position:absolute;
top: 134px;
left:0px;
width: 1024px;
height:23px    ;
background-color:#e9e9e9;
}

#boks2 {
position:absolute;
top: 134px;
left:636px;
width: 500px;
height:23px    ;
background-color:#e9e9e9;
}

#menu a {
text-align:center;
padding: 2px;
width:159px;
Height:23px;
color:red;
font-family: verdana;
font-size: 12;
background: url("1.jpg");
text-decoration: none;}


#menu a:hover {
width:159px;
Height:23px;       
background: url("2.jpg") ;
font-family: verdana;
font-size: 12;
color: white;
text-decoration: none;
}


De fejl jeg får ser sådan her ud

1. # Error  Line 14 column 53: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag.

...g" alt="TOP BANNER" /><div id="boks1"><div id="menu"><a href="">Forside</a><a

2. # Error  Line 14 column 191: document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag.

...rencer</a></div></div><div id="boks2"><img src="menu.jpg" alt="TOP BANNER" />

Jeg er klar over at fejlen ligger ved at jeg smider to "DIV" ind i hinanden, hvad kan jeg gøre for at få det til at virke? uden at jeg at layoutet bliver lavet helt om?
Avatar billede roenving Novice
11. oktober 2005 - 01:14 #1
Næh, fejlen ligger i, at du har et p-tag rundt om !o]

-- iøvrigt betyder din xml-prolog, at du aldrig kan få den mest udbredte browser til at respektere nogle af de allermest grundlæggende regler i css, så det vil være et mirakel, hvis det ser bare nogenlunde ens ud i flere browsere ...

-- og da xhtml nærmest kan siges at være på et forsøgsstadie indtil videre er det ikke specielt hensigtsmæssigt at skrive den slags kode, som der ikke findes nogen browsere, der er i stand til at fortolke fuldt fornuftigt ...

(læs f.eks. oleboles artikler: http://exp.dk/artikler/537 og http://exp.dk/artikler/538 !-)

-- og så er jeg kun een gang stødt ind i, at det var fornuftigt, at en side grundlæggende kun var opbygget med absolut placerede elementer, men jeg kan zq ikke huske hvad det var ...

-- måske var det den styreside, jeg lavede til en kammerat ?-)
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:25 #2
På gyngende grund vil jeg lige tilføje at roenving's prolog betyder den første linie før din DTD: <?xml version="1.0"?>
Bare hvis du ikke vidste det.
/ahave
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:31 #3
Og du må ikke have et block element <div> i et andet block element <p>.
/ahave
Avatar billede roenving Novice
11. oktober 2005 - 01:35 #4
>>ahave

-- det er præcis forkert, men p-elementet har en helt speciel status, som gør, at du ikke må have andre block-elementer inde i, hvis ikke der foreligger specielle omstændigheder !-)

Normalt er det faktisk kun block-level-elementer, der må indeholde andre bolck-elementer, hvorimod ingen elementer, som ikke er block-level, må indeholde den slags !o]
Avatar billede roenving Novice
11. oktober 2005 - 01:36 #5
Hvis du nu havde skrevet:

"Og du må ikke have et element <div> i et element <p>."

-- havde det været helt korrekt !-)
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:43 #6
Jeg har bare fået problemer med block elementer i block elementer før i validering. Men når det gælder dig og olebole, kan jeg heldigvis bøje mig uden problemer, uden mere bavlen i denne kategori. Så må jeg prøve at finde ud af hvad du mener.

Men <p> med en <p> indeni, bryder w3c sig ikke om.

/ahave
Avatar billede roenving Novice
11. oktober 2005 - 01:47 #7
Nej, se kommentaren @01:35:35 !-)

-- et p-tag er et (tekst-) afsnit, som pr. definition kun bør indeholde inline-ting, da det ellers ikke mening at formattere med afsnit (paragraphs på engelsk !-)
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:47 #8
>>roenving 01:36:51 Så det er ikke fordi de begge er block elementer, som w3c brokker sig over.
/ahave??
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:49 #9
Men vi er vel enige om at p et er block element??? eller hvad??
/ahave
Avatar billede roenving Novice
11. oktober 2005 - 01:56 #10
Jo, men hvis du har prøvet at arbejde med en word-processor (også kaldet tekstbehandlingsprogram !-) vil du vide, at en paragraph (afsnit !-) ikke kan indeholde et block-level-tag uden at blive splittet ...

Faktisk plejer jeg at forklare forskellen på block-level og inline-elementer med at du midt i en tekst markerer tre ord, trykker du derefter på kursiv-knappen bliver ordene stående, hvor de hele tiden har stået (altså er kursiv et inline-tag !-), men trykker du på Indsæt tabel, vil hele afsnittet blive delt over, og der vil blive oprettet et nyt block-level-tag, nemlig tabellen mellem de to halvdele af afsnittet, som altså nu ikke mere er en blok, men er blevet splittet i to blokke på hver sin side af det nye block-level-tag, tabellen !-)
Avatar billede ahave Nybegynder
11. oktober 2005 - 01:59 #11
>>01:47:13, jeg var lige ved at komme i tvivl over din udtalelse, derfor min sidste kommentar, men efter nærmere gennemlæsning(af en linie) kan jeg godt se hvad du mener. Block elementer hører ikke til i i hvad der skal være inline.

Din og oleboles mening er jo store autoriteter i denne kategori.
/ahave
Avatar billede ahave Nybegynder
11. oktober 2005 - 02:00 #12
God sammenligning men jeg blev helt i tvivl.
/ahave
Avatar billede roenving Novice
11. oktober 2005 - 02:02 #13
*lol*

-- hvilket jo absolut ikke altid betyder, at vi har ret, men i denne sag (at et p-tag ikke må indeholde block-elementer, kan du overbevise dig om ved at kigge i dtd-en, som der jo er et link til:

<!--=================== Paragraphs =======================================-->

<!ELEMENT p %Inline;>
<!ATTLIST p
  %attrs;
  >
Avatar billede roenving Novice
11. oktober 2005 - 02:09 #14
-- hvilket skal oversættes til menneskesprog på denne måde:

Der findes et html-element, der har navnet p, som må indeholde elementer, som er defineret under entiteten %Inline (findes tidligere i dtd-filen og indeholder selvfølgelig alle inline-elementer,

<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">

-- hvilket yderligere heviser til andre entiteter !o]

Tilladte attributter er de, der findes defineret i entiteten %attrs; som også er defineret tidligere !-)

-- håber det kan give dig en ide om læsning af en dtd (DocType Definition !-)
Avatar billede ahave Nybegynder
11. oktober 2005 - 02:10 #15
Min grundvold var bare lige ved at være rystet.

Det var netop grunden til min kommentar, da hans DTD ødelagde hans eget arbejde med hjemmesiden. Quirks mode, er frygteligt svært at arbejde med. Medmindre man kun designer for IE.
/ahave
Avatar billede ahave Nybegynder
11. oktober 2005 - 02:13 #16
Ikke at det gjorde det nemmere at forstå... Men en af de gode ting ved at læse alle ekspertens spørsmål, man lære noget nyt hver gang.
/ahave
Avatar billede ahave Nybegynder
11. oktober 2005 - 02:15 #17
Har iøvrigt engang for mange år siden været momsregistreret med et firma der hed PCDATA.
Avatar billede roenving Novice
11. oktober 2005 - 02:16 #18
*lol*

-- det stiller W3C sig næppe i vejen for, at du bliver igen !-)
Avatar billede larz Nybegynder
11. oktober 2005 - 11:07 #19
Jeg har lige et spørgsmål mere, designet ser udemærket ud i Internet Explorer http://img439.imageshack.us/my.php?image=layei9le.jpg

Men i firefox ser det helt forkert ud
http://img439.imageshack.us/my.php?image=layfirefox6lm.jpg

Er det overhovedet muligt at lave det så den billede hover effect kommer til at virke ordenligt i både IE og firefox?

Det skal lige siges at det er en opgave til min skole, så jeg er bundet op af XHTML og CSS (må ikke bruge andet)
Avatar billede keysersoze Ekspert
11. oktober 2005 - 17:49 #20
elementer kan i FF ikke være højere/breddere end hvad indhold presser det ud til - dvs at hvis dine elementer skal have en bestemt bredde skal du indsætte fx et billede (transperent gif) som sætter højden/bredden.

... og mens jeg skriver bliver jeg pludselig i tvivl om det kun gælder højden eller gælder begge dele - men at bedømme ud fra din eksempel er det nok begge dele.
Avatar billede keysersoze Ekspert
06. februar 2006 - 16:18 #21
lukketid?
Avatar billede larz Nybegynder
29. april 2006 - 01:06 #22
sorry havde helt glemt dette post... hvis der er nogen der vil ha' point så lav et svar !
Avatar billede roenving Novice
02. maj 2006 - 00:15 #23
Oki '-)
Avatar billede roenving Novice
08. januar 2007 - 13:26 #24
-- og tak for point ;~}
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