webForumDet fria alternativet

Doctype?

26 svar · 741 visningar · startad av KoTTeN

KoTTeNMedlem sedan sep. 20011 722 inlägg
#1

Hallå!
Testade å göra en validering (heter det så föresten?) på w3c, då kom detta fel:

Fatal Error: no document type declaration; will parse without validation

Som exempel ville den att man skulle lägga till detta:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Men vad betyder det?
Något som ska ändras?

GunnarDMedlem sedan juni 20014 290 inlägg
#2

Dina html dokument skall börja med DOCTYPE raden, altså på första raden.

Det raden kör är att tala om vär validatorn (eg. parsern) att resten av dokumentet är ett HTML ver 4.01 Transitional. I princip följer HTML4 specifikationen.

KoTTeNMedlem sedan sep. 20011 722 inlägg
#3

Ok, ska man ändra Transitional till //Sv eller nå? Då siten ä på svenska?!

GunnarDMedlem sedan juni 20014 290 inlägg
#4

Nej,

det gör du med meta taggen i head'ern:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

SuPeR_ToBBeMedlem sedan mars 2001185 inlägg
#5

ehh... hur menar du GunnarD ? fattade hur du menade nu, men jag håller kvar resten av inlägget ändå.. :h

språk säger man i den taggen som det är språk i ( :) )

ex. <html lang="sv"> (för svenska i hela dokumentet)

ex. <span lang="en">My computer is large</span> (för engelska i en del av dokumentet)

GunnarDMedlem sedan juni 20014 290 inlägg
#6

Ok!
Det jag visade var hur man angav teckenuppsättningen inte vilket språk, sorry! :)

jarvkloMedlem sedan juli 20013 378 inlägg
#7

KoTTen:
I <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> står "EN" för att taggarna i märkspråket HTML är på engelska (alltså "P" för "Paragraph" osv), det säger som sagt inget om innehållets språk ;)

En annan sak att tänka på:
Valet av <!DOCTYPE styr numera också i praktiken hur de senare webbläsarna (typ IE5+ och NN6/Moz1) hanterar vissa detaljer för hur sidkoden skall tolkas. Har man otur, kan "fel" doctype ge mycket skumma effekter på hur en sida visas upp av vissa versioner av vissa webbläsare... Man pratar om två "moder" -
"Standard" - som numera skall vara "strikt enligt W3C"
och
"Quirks" - vilket är en "bakåtkompatibel" emulering av beteendet_som_varit_sedan_hedenhös_med_alla_klassiska_buggar_och_feltolkningar_av_standard ;)

Här är en översikt på hur man kan välja mellan "standard"- och "quirks" mode i t.ex. NN6, Moz1 och MSIE5+ och här är en intressant artikel i ämnet <!DOCTYPE och varför man skall/bör ha dem

pakmannenMedlem sedan dec. 2002227 inlägg
#8

Alltså, jag fattar ingenting av det här, när jag använder mig av:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

och sedan:
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

följt av:
<html lang="sv">

följande fel:
character data is not allowed here (i meta taggen)

antog då att meta taggen skulle ligga i head, men det verkar inte funka. sedan säger den att jag inte avslutat head, och inte avslutat html heller..

finns det något ställe där man kan läsa om sånt här? det verkar lite konstigt tycker jag.

tacksam för svar..

sabbacusMedlem sedan juli 2002630 inlägg
#9

<meta http-equiv="Content-Language" content="sv">
inom <head>-taggarna funkar jättebäst också

elvelindMedlem sedan juli 2002167 inlägg
#10

visa hela filen pakmannen så ska vi nog kunna hjälpa dig

pakmannenMedlem sedan dec. 2002227 inlägg
#11

Okej, här kommer koden (utan några !doctype)
Vilken doctype skall man använda?

<html>
<head>
<title>Sondera Design AB</title>

<style type="text/css">

body {
background: #aabbcc;
margin: 0px;

scrollbar-face-color: #9BB6D2;
scrollbar-shadow-color: #9BB6D2;
scrollbar-highlight-color: #9BB6D2;
scrollbar-darkshadow-color: #9BB6D2;
scrollbar-track-color: #F5F5FF;
scrollbar-arrow-color: #FFFFFF;
}

.ruta {
position: absolute;
border: solid 1px;
border-color: #445566;
padding: 0px;
}

.textbox {
padding: 20px;
font-family: verdana;
font-size: 10px;
color: #000000;
overflow: auto;
}

.image {
position: absolute;
}

</style>

<script language="javascript" type="text/javascript">

function grodan() {
adress.style.filter = "alpha(opacity=60)";
}
function boll() {
adress.style.filter = "alpha(opacity=30)";
}

function center() {

if (navigator.appName == "Netscape") {
TopPos = (window.innerHeight - 500) / 2;
LeftPos = (window.innerWidth - 709) / 2;
}
else {
TopPos = (document.body.clientHeight - 500) / 2;
LeftPos = (document.body.clientWidth - 709) / 2;
}

sondera.style.top = TopPos;
sondera.style.left = LeftPos;
}

</script>

</head>

<body onLoad="center()" onResize="center()">
<div id="sondera" style="position: absolute; width: 709px; height: 500px;">

<!-- Vänster ruta -->
<div class="ruta" style="width: 272px; height: 500px; top: 0px; left: 0px; background: #ffffff;">
<img src="bilder/logo.gif">

<div class="textbox" style="padding-top: 10px; width: 260px; height: 350px;">
<p><b>Välkommen till Sondera Design AB</b></br>
Vi har mångårig erfarenhet i branschen presentreklam och företagsprofilering.
Sondera Design finns i Värnamo med såväl kontor, lager och utställning.</p>

<p>I vår utställning visar vi flera av världens ledande
leverantörer när det gäller presentreklam.</p>

<p>Vårt breda sortiment gör att det alltid
finns något för alla, såväl stora som mindre kunder.</p>

<p>Vi jobbar mycket med import av intressanta
artiklar från vår omvärld.</p>

<p>Vi har bra globala kontakter och kan erbjuda direktimport
av i stort set vilken vara som helst och till högsta kvalitet.</p>
</div>

</div>
<!-- /Vänster ruta -->

<!-- Höger ruta -->
<div class="ruta" style="width: 419px; height: 500px; top: 0px; left: 290px; background: #ffffff;">

<img src="bilder/bluepic.jpg" class="image" style="top: 238px; left: 111px;">

<!-- Adress -->
<div id="adress" class="ruta"
style="width: 419px; height: 85px; top: 400px; left: -1px; background: #A9AAD0; filter: alpha(opacity=30);"
onMouseOver="grodan()" onMouseOut="boll()">

<div class="textbox" style="padding-top: 5px; padding-bottom: 0px;">
<b>Sondera Design AB</b><br>
Postgatan 8<br>
Box 516<br>
331 25 Värnamo<br>
Tel. 0370-195 50<br>
Fax 0370-156 65<br>
</div>

</div>
<!-- /Adress -->

</div>
<!-- /Höger ruta -->

</div>
</body>
</html>

sabbacusMedlem sedan juli 2002630 inlägg
#12

Jag skulle köra XHTML strict, men då du verkar vilja ha alla javascriptfunktioner och stilmallar inuti HTML-koden är det ingen hit för din del.
Testa med XHTML 1.0 transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Kom ihåg att du måste ha en annan doctype på de sidor du har frameset i.

Här kan du läsa lite om doctypes och vad de nyttjas till
http://www.alistapart.com/stories/doctype/

Dr-manMedlem sedan juli 2002732 inlägg
#13

SuPeR_ToBBe skrev

<html lang="sv"> (för svenska i hela dokumentet)

Betyder detta att jag kan skriva å, ä ,ö tecknen utan att behöva
ge speciella tecknen för dem?

jarvkloMedlem sedan juli 20013 378 inlägg
#14

Nej. Det funkar bara om du har

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

och skriver in åäö kodat i ISO-8859-1 (dvs det beror på vad din webbeditor sparar tecknen i för teckenkodning ;) - i Windows brukar man inte behöva fundera så mycket på det iallafall )

lang="sv" är mest till för att sökmotorer och andra programvaror som kan tänkas vilja läsa din sida skall veta att innehållet är på svenska, och ger alltså ingen information om hur åäö är kodat - tyvärr.

jarvkloMedlem sedan juli 20013 378 inlägg
#15

pakmannen - kör du HTML4.01 (som du gör enligt doctype-taggen i din fråga) måste du skriva

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

som är HTML och inte

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

som är xhtml !
Validatorn tycker alltså att ditt "/" är "character data" som inte får finnas där ;) !

pakmannenMedlem sedan dec. 2002227 inlägg
#16

Alltså, stilmallarna ligger bara där temporärt, och javascript funktionerna kan man ju lägga i enskilda filer också. Men när jag prövade att köra som xhtml tyckte den att onLoad och onResize inte skall finnas. Hur gör man för att få samma effekt? (Kan man skriva in nåt i scriptfilen då eller?)

Det där "/" var ju lite löjligt.. :)

En annan fråga ang xhtml. Hur gör man när det gäller typ <br> ?
Jag prövade att skriva </br> men då sa den att taggen inte var påbörjad.. ?

Någon som vet någon bra sida om skillnader mellan strict/transitional etc?

jarvkloMedlem sedan juli 20013 378 inlägg
#17

Hmm... Håller inte med om att det är löjligt...
Har du inte kört xhtml förut så är det inte konstigt att du råkar missa sådana smådetaljer (och du var ju inte ensam om att missa det - eller hur ;) )

Nu över till dina andra funderingar...

Alla namn skall skrivas med små bokstäver i xhtml.
Alltså onload istället för onLoad och onresize istället för onResize.

<br> skrivs som <br/> i xhtml. Liksom t.ex. man skriver <hr/>, <link/> och (som du redan snubblat på) <meta ... /> ;)

Zvon.org har en komplett men kanske lite akademisk referens över skillnaderna mellan Strict och Transitional.

Det finns fler också - men det var den jag kom på direkt - kolla på http://xhtml.nu om några dagar när jag fått igång allt där igen ;)

mikkeXMedlem sedan aug. 2002477 inlägg
#18

pakmannen skrev:

Men när jag prövade att köra som xhtml tyckte den att onLoad och onResize inte skall finnas. Hur gör man för att få samma effekt? (Kan man skriva in nåt i scriptfilen då eller?)

I xhtml så skriver du onresize, onload och så vidare.

Personligen tycker jag att xhtml är ett väldigt stort steg framåt för html.

pakmannenMedlem sedan dec. 2002227 inlägg
#19

Okej, jag har nästan lyckats få den xhtml transitional. Ett fel kvarstår dock, och det är onresize som den hävdar inte finns. Varför?

PS, jag testade precis att använda strict istället, och då sa den inte ifrån att stilmallen ligger i samma fil. Så det går nog bra att ha det så också.

pakmannenMedlem sedan dec. 2002227 inlägg
#20

En konstig grej till: Positioneringen blir helt konstig när man har en !doctype, men om jag lägger en kommentar ovanför, såhär:
<!-- tjo -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

så fungerar allt. Ska det vara så?

141 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)