Ik heb een héél raar probleem...

Status
Niet open voor verdere reacties.

Robbinski12

Gebruiker
Lid geworden
7 apr 2008
Berichten
248
Ik ben bezig met een website en ik heb echt een heel raar probleem...

Dit is mijn source (ik ben pas net begonnen):
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Untitled Document</title>
		<style type="type/css">
			html, body {
				background: red;
				margin: 0;
				width: 100%;
			}
			div {
				margin: auto 0;
				width: 852px;
			}
		</style>
	</head>
	<body>
		<div class="everythingcontainer">
			wertuk
		</div>
	</body>
</html>

De CSS wordt genegeerd :eek:
 
Tsja, op een gegeven moment kijk je over slordigheidsfoutjes heen. Ik ga niet zeggen wat je fout is, maar kijk eens goed naar regel 6, en dan vooral het woord voor /css .

Oh shoot, heb ik het toch gezegd :o
 
Oeps :P
Thanks ;)

Na een tijdje ga je er standaard vanuit dat je dat soort dingen goed doet ;)
 
Ik herken het. Ik zag het eerst ook niet, ik had je code al overgenomen, geopend in m'n browser, uiteraard hetzelfde resultaat als wat jij kreeg. Ook al zag de code er goed uit, toch maar eens door de W3 validator gehaald, daar kwam ie ongeschonden doorheen :shocked: en plots zag ik het ;)
 
Lekkende validators? ;)
Altijd een interessant gegeven, dus dat zoeken we op.

Eerst de html-validator
Even opslaan in de html-4.01 reglementen van w3.org:
14.2.3 Header style information: the STYLE element
type = content-type [CI]
This attribute specifies the style sheet language of the element's contents and overrides the default style sheet language. The style sheet language is specified as a content type (e.g., "text/css"). Authors must supply a value for this attribute; there is no default value for this attribute.
Als de code-intikker dus maar een StyleSheetTaal invult bij type="...", is het goed: dan is aan de verplichtingen voldaan, en de html-validator geeft groen af.
Dus als ik als taal voor mijn stylesheet het CSShunteriaans wil gebruiken, dan mag dat:
HTML:
<style type="CSShunteriaans/css">
     body { background: url(csshunter.com/images/mypainting.png; }
</style>
... is gewoon correct als html. Alleen jammer dat al mijn browsers deze taal niet verstaan, en mijn prachtige schilderij dus nooit te zien zal zijn. :D
Maar als ik zelf een browser zou kunnen bouwen die wèl CSShunteriaans verstaat, dan kan ik in die browser wel mijn kunstwerk aanschouwen. Dat wil w3c gelukkig niet verbieden!
Zo is ook Robbinski's tikfout vreselijk valid html.

Nu de css-validator
Die zegt: "Gefeliciteerd! Geen fouten gevonden." Meestal ben je dan heel blij, maar in dit geval moeten we eens naar beneden scrollen. En daar staat: "Geen stylesheet gevonden", in plaats van het overzicht van de aangetroffen en goedgekeurde styles, dat altijd onderaan staat (en waar je dus nooit naar hoeft te kijken).
Dat is dan eigenlijk het signaal voor het rode lampje!

Want er zaten wel styles in het document (was de bedoeling). Het "geen stylesheet gevonden" is wel waar, maar brengt ons hier op een dwaalspoor. Er hing inderdaad geen styleshiet aan dit document (geen los styles.css), maar ook een style-block in de head wordt normaal gesproken gevalideerd. Dat moet je even weten! ;)
De verklaring voor het css-validator gedrag is weer eenvoudig: de css-validator begrijpt de taal van de css niet, negeert daarom de style-regels in de onbegrijpelijke taal, vindt dus dat er helemaal geen styles worden gebezigd, en dus zijn er ook geen fouten in de css gemaakt. Nee, in de css zelf niet, het leed was al eerder geschied. :D

Conclusie: de 2 validators hebben hun huiswerk goed gedaan.
Alleen de CSS-validator zou wel wat rechtstreekser (en meteen bovenaan in de resultaat-pagina) kunnen laten weten: "Geen css-fouten gesignaleerd, want geen stylesheet of styleblock aangetroffen."

Gegroet!
CSShunter

PS: Met:
HTML:
   div {
      margin: auto 0;
      width: 852px;
   }
zal deze auto nog wel even links op het scherm geparkeerd blijven staan. :p
 
Laatst bewerkt:
Ik bouw mijn CSS altijd stap-voor-stap op, bij ong elke handeling sla ik op en test ik, maar omdat ik niks zag veranderen ben ik niet verder gegaan. Het staat inmiddels in het midden ;)

EDIT: Allebei bedankt voor de reacties :D

EDIT 2: Kijk :)
Code:
html, body {
	margin: 0;
	width: 100%;
}
#everythingcontainer {
	margin: 34px auto 0;
	width: 854px;
}
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan