郑州网站建设业务咨询热线:0371-65349913 / 15333818157
当前位置:网站首页 >> 建站知识 >>

要注意未声明DOCTYPE引起的浏览器兼容问题


发布人:郑州网站建设公司(郑州凯讯)    发布日期:2015-03-11

在网站制作的时候,不应忘记加上DOCTYPE声明,经过我们郑州网站建设公司的测试,这条声明虽然仅仅一行,但却对于浏览器的兼容性起着巨大的作用,尤其是在IE浏览器上,经常会发现缺少了这条声明,网页显示就会存在误差和错位的感觉。因此,请各位在自己网页的第一行应该写上DOCTYPE声明:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">,加上了这条声明,网页在IE里显示就应该正常了,经过测试,这一行声明也可以简写为<!DOCTYPE html>。下面我们郑州网站建设公司根据日常工作经验总结了两个未声明DOCTYPE所引起的显示误差,可供各位编码时参考。

一、在DIV嵌套时,内层DIV宽度之和与外层DIV宽度相同时可能引起错位:

在存在DIV嵌套时,如果内层DIV超过1个,则我们在编码时应计算一下内层DIV总宽度之和是否小于外层DIV宽度。一般来说,在内层DIV宽度之和与外层DIV宽度之和相同时,如果未声明DOCTYPE,经过测试,在360浏览器和Chrome浏览器上显示都正常,但在IE浏览器上显示则不正常,这一点应该引起注意,否则可能会带来不同浏览器显示不正常的情况。下面我们郑州网站建设公司就写了一个实例,来说明这一问题。下面是实例运行时在不同浏览器上显示的效果。

未声明DOCTYPE引起的错位图片一

下面是测试的实例代码,实例代码中未声明DOCTYPE:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>未声明DOCTYPE的测试(本实例由郑州网站建设公司--郑州凯讯公司提供)</title>
<style type="text/css">
.divclass{ margin:0 auto; width:300px; height:210px; border:1px solid #00F}
.divclass_l{float:left; width:100px; height:100px; background-color:#CCCCCC; text-align:center; line-height:100px;}
.divclass_m{float:left; width:100px; height:100px; background-color:#99CCFF; text-align:center; line-height:100px;}
.divclass_r{float:left; width:100px; height:100px; background-color:#FFCCCC; text-align:center; line-height:100px;}
</style>
</head>
<body>
<div class="divclass">
<div class="divclass_l">左边box</div>
<div class="divclass_m">中间box</div>
<div class="divclass_r">右边box</div>
</div>
</body>
</html>

以上是一个例子,从这个例子中我们可以发现例子中的代码在IE里显示错位了,如果加上DOCTYPE声明后,网页在IE下即显示正常。

二、对DIV属性margin:0 auto;居中代码的错位现象:

如果不加上DOCTYPE声明,网页在IE下显示不正常的地方还有 margin:0 auto;的属性设置也失效了,这个属性是让DIV横向居中的作用,然而在360浏览器和Chrome浏览器里都可以居中显示,但是在IE里则失效了,成了居左显示了,这就是这条声明引起的bug,当然由于缺少这条声明引起的误差还有很多,我们在制作网页的时候一定要注意。下图是我们郑州网站建设公司在IE中测试时未声明DOCTYPE的显示结果:

未声明DOCTYPE引起的错位图片二

以下是测试代码,代码中未声明DOCTYPE:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>未声明DOCTYPE的测试(本实例由郑州网站建设公司--郑州凯讯公司提供)</title>
<style type="text/css">
.divclass{ margin:0 auto; width:300px; height:100px; background-color:#CCCCCC;}
</style>
</head>
<body>
<div class="divclass">未声明DOCTYPE的测试,是否居中</div>
</body>
</html>

郑州网站建设优惠活动图片
网站页脚banner图片

版权所有:郑州凯讯