webForumDet fria alternativet

Problem med htmlkod

14 svar · 418 visningar · startad av AndreasC

AndreasCMedlem sedan mars 20011 964 inlägg
#1

Har skrivit följande för att infoga ett textfält och en knapp för att söka:

<form onSubmit="SearchText(q.value); return false;">
<input type="text" name="q" style="background-color:#cfcece; border:solid; border-width:1px; border-color:#707070; color:#707070; width:100px; height:13px; font-family:Arial; font-size:11px; padding-left:3px;">
<input type="image" name="submit" src="search2.gif" align="absmiddle" border="0" width="38" height="17">
</form>

Vad som inte verkar vara korrekt är storleken i pixlar på textfältet. Bilden är angiven till rätt storlek och storleken på textfältet är angiven med css. Om man ser det logiskt så ska ju textfältet vara 17px hög om den ska ha samma höjd som bilden vilket den ska. Utan doctype så ser det aldeles korrekt ut men med doctypen så blir textfältet aningens högre än bilden. Om jag ändrar höjden på textfältet till 13px så blir det rätt, sedan när jag tar bort doctypen så innebär ju detta att med en inställning på 13 px så kommer höjden på textfältet bli aldeles för liten.

Vad har jag skrivit fel?

InsiderMedlem sedan jan. 2000978 inlägg
#2

Har du testat att validera koden med doctypen infogad?

AndreasCMedlem sedan mars 20011 964 inlägg
#3

Fattar inte hur valideringen funkar. När jag ska validera med den så kommer det bara upp en massa konstiga fel som inte alls är fel. Exempel är:

Line 85, column 40: there is no attribute "LANGUAGE"

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

You have used the attribute named above in your document, but the document type you are using does not support that attribute for this element. This error is often caused by incorrect use of the "Strict" document type with a document that uses frames (e.g. you must use the "Transitional" document type to get the "target" attribute), or by using vendor proprietary extensions such as "marginheight" (this is usually fixed by using CSS to achieve the desired effect instead).

This error may also result if the element itself is not supported in the document type you are using, as an undefined element will have no supported attributes; in this case, see the element-undefined error message for further information.

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case) and/or check that they are both allowed in the chosen document type, and/or use CSS instead of this attribute.

Line 124, column 14: there is no attribute "BGCOLOR"

<body bgcolor="#000000" leftmargin="0" topmargin="0">

Line 124, column 33: there is no attribute "LEFTMARGIN"

<body bgcolor=#000000 leftmargin="0" topmargin="0">

Line 124, column 47: there is no attribute "TOPMARGIN"

<body bgcolor=#000000 leftmargin="0" topmargin="0">

Line 126, column 29: required attribute "TYPE" not specified

<script language="JavaScript">

The attribute given above is required for an element that you've used, but you have omitted it. For instance, in most HTML and XHTML document types the "type" attribute is required on the "script" element and the "alt" attribute is required for the "img" element.

Typical values for type are type="text/css" for <style> and type="text/javascript" for <script>.

Line 157, column 42: there is no attribute "WIDTH"

<td valign="top" align="center" width="100%">

Jag får över 650 fel i ett och samma dokument. Omöjligt att hitta några fel att rätta till om valideringen påstår att varenda argument i dokumentet är felaktigt.

AndreasCMedlem sedan mars 20011 964 inlägg
#4

möjligt att type saknas för javascript-delen. Men det andra kan jag inte se någåt fel på. Ska man inte kunna skriva så i HTML 4.01?

InsiderMedlem sedan jan. 2000978 inlägg
#5

Du använder en Strict doctype va?
Tanken är att man ska tvingas använda CSS för att ställa in utseenden. Byt doctype till transitional så kanske du får mindre fel...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
m_soderlundMedlem sedan sep. 20026 425 inlägg
#6

Till att börja med kan du skriva

body { margin: 0; background: #000; }

i din CSS i stället för

<body bgcolor=#000000 leftmargin="0" topmargin="0">

Lägg till type="text/javascript" i varje <script>-element som du använder javascript i. Sen ska vi se hur många error du får. :)

AndreasCMedlem sedan mars 20011 964 inlägg
#7

Det var bara ett exempel, det är 663 fel.

AndreasCMedlem sedan mars 20011 964 inlägg
#8

Fick 155 fel när jag bytte doctype. Kommer få ett helvete att gå igenom varenda sida för att rätta till alla fel.

InsiderMedlem sedan jan. 2000978 inlägg
#9

Det är ju ingen mening med att ha nån doctype om dokumentet ändå inte uppfyller den.
Kör utan då, men kolla så det ser OK ut i FireFox åtminstonde.

zcorpanMedlem sedan dec. 20042 245 inlägg
#10

Jag vet ett smidigt verktyg som kan hjälpa dig på traven! :) http://cgi.w3.org/cgi-bin/tidy

AndreasCMedlem sedan mars 20011 964 inlägg
#11

tack :)

AndreasCMedlem sedan mars 20011 964 inlägg
#12

Tycker det verkar knepigt att man inte ska kunna använda vanliga html-taggar. De är ju rätt och man ska väl kunna använda dem utan att någon validator säger ifrån. Bara för att css finns så borde de gamla taggarna fortfarande kunna användas. Det kan de ju också men jag tycker inte att validatorn bara ska märka på om det är css eller inte. Det är ju HTML 4.01 det hanlar om och bgcolor="" är väl mer html än vad background: #fff; är iallafall??

InsiderMedlem sedan jan. 2000978 inlägg
#13

Det är skillnad på Strict och Transitional. Just bgcolor är bortplockad i den strikta varianten. Eller vad var det som var knepigt?

zcorpanMedlem sedan dec. 20042 245 inlägg
#14

HTML handlar inte om hur saker ska se ut. Att presentationsattribut och -element krypit sig in i HTML är Netscapes resp. Microsofts fel.

AndreasCMedlem sedan mars 20011 964 inlägg
#15

Ok då förstår jag. Trodde det var ren html det också.

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