html文档中DOCTYPE的作用是什么?一般需要加还是不需要加啊?

在书上看到,html文档中,需要在最前面加上<!DOCTYPE ....>的说明,这个的最作用是什么啊?是需要加还是不需要加啊?因为有时候不加这个能出来想要的效果,加上这个反而出不来想要的效果,如下面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
directX = 1;
directY = 1;
sunX = 0;
sunY = 0;
function sunMove(){
sunX += directX;
sunY += directY;

document.getElementById("sun_div").style.top = sunY + "px";
document.getElementById("sun_div").style.left = sunX + "px";

if(sunX+document.getElementById("sun_div").offsetWidth >= document.body.clientWidth || sunX <= 0){
directX = -directX;
}

if(sunY+document.getElementById("sun_div").offsetHeight >= document.body.clientHeight || sunY <= 0){
directY = -directY;
}
}
setInterval("sunMove()",10);

</script>
</head>
<body style="background-image:url('boat.jpg')">
<div id="sun_div" style="position:absolute">
<img id="sun_img" src="sun.png" />
</div>
</script>
</body>
</html>
加上最上面的两行,实现不了想要的效果,但是去掉以后就能出来想要的效果,这是怎么回事啊?

DOCTYPE描述了html文档的类型,对不同的DOCTYPE类型,浏览器会使用不同的方法来解析。简单举个例子来说:
如果DOCTYPE中定义了XHTML那么浏览器解析时候对标签的写法要求比较高,每个标签必须关闭,如p标签一定要关闭,写成<p></p>,而不能写成<p>。css的简写也将不被允许(自己尚未验证过)。追问

为什么有时候加上这个就出不来结果呢,感觉写的代码都是符合规范的啊,这个文档头是否对其他方面还有影响呢?

追答

不知道你想要什么效果,你可以具体说说,代码在我这里貌似是正常的。
如何你的代码规范,上面的文档头一般不会有任何影响

温馨提示:答案为网友推荐,仅供参考