我已经阅读了几个关于这个主题的帖子,我已经尝试了很多这些帖子,但我不能让我的网站集中在IE中 - 特别是IE 8(我目前的浏览器)。它适用于FF,Safari和Chrome。 www.hscassociates.net是网站。
在我的CSS中我正在这样做:
div#section {
width:960px;
margin:0 auto 0 auto;
border: 2px solid #b31b1b;
border-top:none;
}
另外,我在#section div中需要一个背景图片,但是当我将它放在div#section块的css文件中时它不会显示。为了让它显示,我把它放在我的包含文件中我显示#section div标签:
<div id="section" style="background-image:url('graphics/section-bg.gif');
background-repeat:repeat-y;">
我读过的一篇帖子说html doctype需要使用strict。我以前从未读过这篇文章。这有什么道理吗?我正在使用过渡性的。
答案 0 :(得分:1)
您的DOCTYPE
应该是您网页上的第一个标记。因为不是IE正在以quirks mode的形式呈现您的页面。 DOCTYPE本身并不需要严格,但是如果使用正确的DOCTYPE,页面将以严格模式呈现。
什么是怪癖模式?
由于某些旧浏览器不符合W3C标准,因此开发人员必须编写符合非标准的代码,以确保其页面在这些浏览器中看起来正确。随着浏览器越来越接近标准,问题在于以旧样式开发的页面将无法再正确呈现。所以他们实现了两种渲染模式,怪癖和严格。
如果网站提供DOCTYPE作为第一个参数,则告诉浏览器该页面是用符合标准的代码编写的,以及要呈现的规范。因此浏览器可以使用严格模式来呈现页面。
但是,如果页面省略了DOCTYPE,那么浏览器不知道要呈现的规范,因此假定页面符合非标准(它自动用于省略DOCTYPE)并以怪异模式呈现它可能具有意想不到的结果。
以下是您需要做的事情:
更改
<html>
<head>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
到
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
答案 1 :(得分:1)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
触发怪癖模式。
如果您想使用HTML 4 Transitional,请使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
如果您不受HTML 4的约束,请使用<!DOCTYPE html>
您的页面显示两者都很好。