Avatar billede eksplayer Nybegynder
17. juni 2004 - 21:31 Der er 38 kommentarer og
1 løsning

Doctype HTML?

Hvad betyder:

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

Det står i toppen af alle de hjemmesider jeg opretter i Dreamweaver. Jeg vil gerne vide det, for de påvirker på en eller anden måde noget af det jeg laver...

Gør det noget at man sletter dem?
Avatar billede rasmusbg Nybegynder
17. juni 2004 - 21:35 #1
Det gør ikke noget, hvis du sletter det.

Det bruges til at angive hvilken udgave af HTML, dokumentet er skrevet i, og hvis du vil have det valideret af W3C, skal det være der.
Avatar billede thedeathart Nybegynder
17. juni 2004 - 21:50 #2
du skal absolut lade det blive stående, da det bruges til at gøre så browserne ikke går i quirks-mode, hvis du fjerne det kommer det nemt til at se meget forskelligt ud afhænig af browsere.

Man bør altid følge standarterne, og validere sin kode hos w3c.
Avatar billede thedeathart Nybegynder
17. juni 2004 - 21:53 #3
se evt. denne diskussion: http://www.eksperten.dk/spm/493764

og læse mere på www.html.dk www.w3c.org
Avatar billede dorgbar Nybegynder
17. juni 2004 - 22:40 #4
det er kun idiot browsere der ikke selv kan tyde hvilken version det er, så hvis det er et problem kan du sagtens fjerne det.
men du kan jo eventuelt slette det og gå ind og indsætte det igen manuelt med notesblok bagefter.
Avatar billede steen_hansen Forsker
17. juni 2004 - 22:43 #5
Du bør absolut ikke fjerne dem, hvis du vil være bare nogenlunde sikker på, at det skal kunne ses i flest mulige browsere.

Gør som thedeathart, få dem valideret hos W3C.

thedeathart: Glædeligt at du har lært noget :o)
Avatar billede steen_hansen Forsker
17. juni 2004 - 22:44 #6
dorgbar, hvad er forskellen så? Hvorfor skal de slettes, og din bemærkning med idiot-browsere forstår jeg slet ikke? :o)
Avatar billede thedeathart Nybegynder
17. juni 2004 - 22:45 #7
dorgbar :

Den eneste idiot browser der findes er Internet Explorer.

Jeg kan sku godt kode noget css, som ikke virker i IE uden doctype, men sagtens virker i en rigtig browser som Mozilla Firefox.

Du skulle også tage at læse mine links.
Avatar billede osaka_san Nybegynder
17. juni 2004 - 22:54 #8
Dorgbar>
"det er kun idiot browsere der ikke selv kan tyde hvilken version det er, så hvis det er et problem kan du sagtens fjerne det."

Fortæl mig venligst hvilken HTMl version jeg benytter i nedenforstående kode:
----------------------------------------------
<html>
<head><title></title></head>
<body>
<p></p>
</body>
</html>
----------------------------------------------


rasmusbq>
"Det gør ikke noget, hvis du sletter det.
Det bruges til at angive hvilken udgave af HTML, dokumentet er skrevet i, og hvis du vil have det valideret af W3C, skal det være der."

Ja, eller hvis du vil kontrollere hvorvidt en browser skal rendere i Quirk-, eller standardmode. Forskellen er mildest tal enorm. Det drejer sig bl.a. om hvordan CSS boxmodellen udregnes, hvilket element i dokumentet der er sidste led og en række andre småting.

Så jo det gør faktisk noget hvis man sletter det. Det ændrer den motor som browseren benytter til at vise en side med.

eksplayer>
For lidt forklaringer omkring DOCYTPE vil jeg anbefale at du brygger en god kop kaffe (eller knapper en cola op) og pløjer dig igennem disse artikler

http://www.alistapart.com/articles/doctype

http://css-discuss.incutio.com/?page=RenderingMode

http://www.webstandards.org/learn/faq/

God fornøjelse ;)
Avatar billede steen_hansen Forsker
17. juni 2004 - 23:05 #9
thedeathart: "idiot browser" - "rigtig browser"? Hvad er det for noget vås? :o) Sørg for at validere din kode ordentligt, så vises siden rigtigt i både idiot-browsere og rigtige browsere.
Avatar billede thedeathart Nybegynder
17. juni 2004 - 23:07 #10
ved jeg godt, det var sarkastisk ment. Men selvom at man laver valid-kode, kan det godt forekomme at det ikke virker ordeligt i IE, da den ikke understøtter CSS2 ligså godt som Firefox.
Avatar billede osaka_san Nybegynder
17. juni 2004 - 23:10 #11
steen_hansen> Valid kode (jeg går ud fra at du mener efter W3C anbefalingerne) er ikke en garanti for entydig fremvisning.

f.eks indeholder IE en floating bug der gør at sætter du margin-left:5px på et element der har float:left; så bliver den reelle margin 10px, dvs den dobler op, pga en regnefejl. Ligeledes kan IE 5.x ikke tvinges over i "standardsmode", selv ikke med en rigtig doctype, så der har du stadigvæk css box model problematikken.

Dermed ikke sagt at det er ligegyldigt at validere sin kode. Men det er ikke løsningen på alt. Det er derimod et godt værktøj til at sikre konsekvens i sin kode og debugge en række klassiske fejl med.
Avatar billede steen_hansen Forsker
17. juni 2004 - 23:16 #12
thedeathart: Nej, ikke når man kommer lidt ud i hjørnerne, enig :o)

osaka_san: Så konsekvent var det nu heller ikke ment, men den bør valideres, hvis man vil sikre det bedste resultat i flest mulige browsere, og som du siger: konsekvens i koden.
Avatar billede eksplayer Nybegynder
18. juni 2004 - 09:30 #13
Tak for alle kommentarer. Jeg har været inde på w3c.org - her prøvede jeg at validere en hjemmeside uden DOCTYPE, for at se hvad resultatet blev. Jeg fik følgende meddelse:

The checked page did not contain a document type ("DOCTYPE") declaration. The Validator has tried to validate with the HTML 4.01 Transitional DTD, but this is quite likely to be incorrect and will generate a large number of incorrect error messages. It is highly recommended that you insert the proper DOCTYPE declaration in your document -- instructions for doing this are given above -- and it is necessary to have this declaration before the page can be declared to be valid.

Derfor lader jeg dem stå - og så må jeg finde en løsning på mit problem med at noget vises forkert.

steen_hansen, thedeathart, osaka_san smid et svar så deler jeg point mellem jer.
Avatar billede steen_hansen Forsker
18. juni 2004 - 13:44 #14
Takker :o)
Avatar billede steen_hansen Forsker
18. juni 2004 - 13:44 #15
Og svar
Avatar billede osaka_san Nybegynder
18. juni 2004 - 18:09 #16
Oint det bruger vi ikke der hvor jeg kommer fra.. der er viden gratis, hvis man selv spørger ;)
Avatar billede thedeathart Nybegynder
18. juni 2004 - 21:34 #17
ingen points til mig..

og btw. så er dit w3c problem, fordi at du har glemt at sætte doctypen på.
Men faktisk så laver dreamweaver så meget slamkode at det ikke er værd at validere, Men jeg vil alligvel anbefale dig at beholdet Doctype på siden, "just in case"
Avatar billede steen_hansen Forsker
18. juni 2004 - 22:12 #18
Hvis du prøver at lægge noget kode, kan vi se på det. Medmindre det fylder 500kb, altså :o)
Avatar billede eksplayer Nybegynder
18. juni 2004 - 22:54 #19
Det jeg gerne vil lave er en tabel der er centreret på siden, men når jeg sætter de to sætninger ind (dem med Doctype) så virker det ikke længere - så "hopper" tabellen helt op i toppen af skærmen :(

Koden ser sådan ud:

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

<html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #000000;
}
-->
</style></head>

<body>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" >
  <tr>
    <td align="center"><table width="100%" height="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#666666" >
      <tr>
        <td align="center"><table width="800" height="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
          <tr>
            <td>&nbsp;</td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>

Hvis jeg fjerner de to "Doctype-sætninger" så ser det ud som jeg gerne vil have det - men hvordan løser jeg problemet hvis jeg skal beholde sætningerne?
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:09 #20
Allerførst ville jeg ordne koden lidt, så indrykningerne står hensigtsmæsigt. Det giver et meget bedre overblik, og det er nemmere at overskue, hvis der skal fejlrettes:

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

<html>

<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #000000;
}
-->
</style>
</head>

<body>

<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" >
    <tr>
        <td align="center">
            <table width="100%" height="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#666666" >
                <tr>
                    <td align="center">
                        <table width="800" height="400" border="0" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
                            <tr>
                                <td>&nbsp;</td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>

</html>
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:11 #21
Derefter ville jeg sættes classes på tabellerne:

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

<html>

<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #000000;
}
.tablebg1 {
background-color: #666;
}
.tablebg2 {
background-color: #ccc;
}
-->
</style>
</head>

<body>

<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" >
    <tr>
        <td align="center">
            <table width="100%" height="400" border="0" cellpadding="0" cellspacing="0"  class="tablebg1">
                <tr>
                    <td align="center">
                        <table width="800" height="400" border="0" cellpadding="0" cellspacing="0" class="tablebg2">
                            <tr>
                                <td>&nbsp;</td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
</table>

</body>

</html>
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:12 #22
Og til sidst en kode, der er transitional:

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

<html>

<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #000;
}
.tablebg1 {
background-color: #666;
}
.tablebg2 {
background-color: #ccc;
}
-->
</style>
</head>

<body>

<table style="width: 100%; height: 100%; border; 0px;" cellpadding="0" cellspacing="0" >
    <tr>
        <td>
            <div align="center">
                <table style="width: 100%; height: 400px; border: 0px;" cellpadding="0" cellspacing="0" class="tablebg1">
                    <tr>
                        <td>
                            <div align="center">
                                <table style="width: 800px; height: 400px border: 0px;" cellpadding="0" cellspacing="0" class="tablebg2">
                                    <tr>
                                        <td>&nbsp;</td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>
                </table>
            </div>
        </td>
    </tr>
</table>

</body>

</html>
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:17 #23
Det løser imidlertid ikke dit problem; jeg kan forstå på dig, at tabellen skal centreres midt på siden og være 800 px bred (jeg ville give den en smule mindre, f.eks. 760 px) og 400 px høj.

Der er også mange tabeller, det kan sagtens kortes ned, så det bliver mere hensigtsmæssigt. Men det er noget jeg skal rode lidt med.

roenving, olebole, nute - hvem der nu måtte falde over dette: Har I en løsning, er I velkomne til at træde til. Jeg plejer ikke at sætte en tabel op på denne måde, og det kan godt tage lidt tid for mig :o)
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:19 #24
centreres midt på siden = centreres på siden. Du ved hvad jeg mener :o)
Avatar billede steen_hansen Forsker
19. juni 2004 - 09:22 #25
Jeg manglede et ;

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

<html>

<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #000;
}
.tablebg1 {
background-color: #666;
}
.tablebg2 {
background-color: #ccc;
}
-->
</style>
</head>

<body>

<table style="width: 100%; height: 100%; border; 0px;" cellpadding="0" cellspacing="0" >
    <tr>
        <td>
            <div align="center">
                <table style="width: 100%; height: 400px; border: 0px;" cellpadding="0" cellspacing="0" class="tablebg1">
                    <tr>
                        <td>
                            <div align="center">
                                <table style="width: 800px; height: 400px; border: 0px;" cellpadding="0" cellspacing="0" class="tablebg2">
                                    <tr>
                                        <td>&nbsp;</td>
                                    </tr>
                                </table>
                            </div>
                        </td>
                    </tr>
                </table>
            </div>
        </td>
    </tr>
</table>

</body>

</html>
Avatar billede eksplayer Nybegynder
19. juni 2004 - 09:37 #26
Jeg kan godt se det med indrykningerne er en god ide.
Hvad betyder det at koden er transitional?

Jeg har afprøvet den sidste kode som du har postet - men når jeg viser den i IE (6.0) så er der for mig og se ikke sket noget (udseende mæssigt) siden den kode jeg postet - resultet er det samme. Den tabel som jeg gerne vil have i center på siden både vertikal og horisontal "hopper" stadig op i toppen af siden...

Er det mig der gør noget forkert???
Avatar billede steen_hansen Forsker
19. juni 2004 - 10:59 #27
Undskyld, dumt ordvalg. Det betyder såmænd bare, at koden er ok.

Nej, du gør ikke noget forkert, men der stilles lidt anderledes krav til kodningen. Problemet er det samme, som jeg også skrev lidt længere oppe. Jeg søger efter noget, der kan centrere din tabel.

Hvis det er meningen, at den skal overholde dine mål (800 x 400), så skal den jo lægges i en iframe. Er det dét du ønsker?
Avatar billede eksplayer Nybegynder
19. juni 2004 - 12:18 #28
Det jeg gerne vil lave, er en side med samme opbygning som fx denne: http://www.garofaloengineering.com/

OG denne opbygning har jeg vel allerede i den kode som du har rettet til nå bare man ikke har Doctype-sætningen med.

Problemet er, at når Doctype-sætningen ER med så springer den tabel der skulle ligge midt på siden op i toppen af siden.
Avatar billede steen_hansen Forsker
19. juni 2004 - 13:35 #29
Det var jo så udfordringen :o)
Avatar billede osaka_san Nybegynder
20. juni 2004 - 04:40 #30
thedeathart>
"Men faktisk så laver dreamweaver så meget slamkode at det ikke er værd at validere..."

Fis i en hornlygte... Dreamweaver MX kan lave ganske ok validérbar kode... Faktisk har Macromedia en strategi på netop det område at deres produkter skal blive bedre til at overholde W3C's anbefalinger. Indtil videre er de kommet ganske langt med den.
Avatar billede eksplayer Nybegynder
20. juni 2004 - 10:21 #31
Er der nogen der har et forslag til hvordan jeg får centreret tabellerne? (i ovenstående kode)

Ellers siger jeg tak for hjælpen angående Doctype og giver point...
Avatar billede steen_hansen Forsker
20. juni 2004 - 10:33 #32
eksplayer, selvfølgelig kan det lade sig gøre. Må indrømme jeg ikke har kigget så meget på det, har været i byen i går. Vi har masser af eksperter, som jeg håber vil træde til. Jeg skal nok lede videre efter en løsning, for jeg ved det kan lade sig gøre.
Avatar billede eksplayer Nybegynder
20. juni 2004 - 11:21 #33
Det lyder godt - jeg kan ikke forstå hvorfor det skal være så svært - det er vel rimelig udbredt at lave hjemmesider med denne opbygning.
Avatar billede fangel Nybegynder
20. juni 2004 - 11:48 #34
vil gerne blande mig selvom denne debat snart et slut...

man BØR (læs: skal) altid angive DOCTYPE, for som dette spørgsmål viser så gør det faktisk en forskel om IE tolker som den nu gør (quirks-mode) eller som W3C gør (m. DOCTYPE)... hvis du laver det så det ser pænt ud m. DOCTYPE er chancen for at den også ser pæn ud i andre browsere væsenligt større... !

IE har rundt regner verdens dårligste rendering-engine når den kører i quirks-mode... du kan lave verdens dårligste kode og det ser stadig OK ud - dette for folk til at tro at de skriver ordenlig kode og beskylder fx Mozilla for at være en lorte browser fordi den rent faktisk bare render den som koden er skrevet - dårligt !

Prøv fx at tjekke HTML-kode genereret af FrontPage (dårligt) eller Word (værre end lort)... denne fortolker IE fint, selvom der er ~200 fejl på 20 liniers kode... !
DreamWeaver er væsenligt mere perfekt hvad dette angår, men der er intet der slår håndskreven kode...

Morten
Avatar billede steen_hansen Forsker
20. juni 2004 - 12:04 #35
Helt sikkert, man får den rene vare fra Notepad. Lidt mærkeligt, at der ikke findes editorer, som laver perfekt kode, og som kan opdateres i takt med udviklingen på området. Måske man skulle starte på at lave en i Visual Basic? :o)

Jeg er lidt on 'n off i dag, men skal nok kigge på det.
Avatar billede fangel Nybegynder
20. juni 2004 - 12:06 #36
(steen, hvis du skal lave en, så lav den cross-platform, ik...)

Ellers kan du jo hjælp til hos Nvu <www.nvu.com>... et OpenSource produkt baseret på Mozillas kode...

Kan også anbefale Kate hvis nogle her skulle bruge KDE/Linux

Morten
Avatar billede steen_hansen Forsker
20. juni 2004 - 12:40 #37
Hvis jeg overhovedet kunne magte sådan en opgave, skulle den nok blive crossbrowser-venlig. Men det er jo enormt, se bare hvor mange spørgsmål her på E, som omhandler emnet. Jeg tror jeg overlader det til software-husene eller frivillige på f.eks. www.nvu.com :o)
Avatar billede eksplayer Nybegynder
22. juni 2004 - 19:15 #38
Tak for hjælpen mht. Doctype
Avatar billede steen_hansen Forsker
22. juni 2004 - 22:56 #39
Takker for point :o)
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

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