-1

我已经阅读了关于这个主题的几篇文章,并且我已经尝试了很多,但我无法让我的网站以 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。我以前从未读过。这有什么道理吗?我正在使用过渡。

4

2 回答 2

1

DOCTYPE应该是页面上的第一个标签。因为它不是 IE 以所谓的怪癖模式呈现您的页面。DOCTYPE 本身不需要是严格的,但是会发生的是使用正确的 DOCTYPE,页面将以严格模式呈现。

什么是怪癖模式?

因为某些旧浏览器不符合 W3C 标准,开发人员不得不编写不符合标准的代码,以确保他们的页面在这些浏览器中看起来正确。随着浏览器越来越接近标准,问题在于以旧样式开发的页面将不再正确呈现。所以他们实现了两种渲染模式,quirksstrict

如果网站提供 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>
于 2013-03-09T16:37:27.743 回答
1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">触发怪癖模式。

如果你想使用 HTML 4 过渡然后使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

如果您未绑定到 HTML 4,请使用<!DOCTYPE html>

您的页面显示都很好。

于 2013-03-09T17:52:42.980 回答