IE在不同页面上以不同方式处理CSS

时间:2012-10-24 20:57:52

标签: html css internet-explorer cross-browser

我在IE浏览器上没有阅读我正在编辑的网站主页上的所有CSS时遇到了一些麻烦。我已经检查过它是否有效(它仍然显示某些标签没有关闭,即使这不是真的,但无论如何)。我无法专门删除内联样式,因为内容管理系统(Volusion)会覆盖我编写的大部分代码,因此我不得不编写大量内联代码。加载CSS页面,以便标题区域具有样式:

#header{ z-index:1; 
         width:100%; 
         opacity:.85; 
         background:rgba(200,200,200,.85); 

         /*For IE*/ 
         background-color: rgb(200, 200, 200); 
         opacity(0.85); }

我最初没有“背景颜色”运行它,因为rgba(200,200,200,.85)应该与IE一起使用,但在这种情况下它不适用。事实上,甚至在我更改它以添加“背景颜色”之前,其他页面都完全从这个CSS中提取。然而,主页读取背景颜色,但这是它唯一需要的东西。它显然是从Template.CSS文件中读取的,因为它引用了它,但是不使用不透明度并且标题被放置在“固定”的图像之后,因此应该悬停在这些图像之上。标题中的其他元素也是如此。我有btn-group:第一个孩子有:

.btn-group a:first-child{ 
       border-radius: 4px 0 0 4px; 
       text-decoration:none; 
       font-weight:bold; } 

但这些样式都不适用于主页。实际上.btn-group在样式列表中根本不显示。我知道它可以读取这个,因为如果你去网站的任何其他页面,你会看到它应该是什么样子(它几乎是完美的)。然而,主页不起作用。

有问题的页面可在www.giftonline.us找到,任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:1)

IE被迫进入Quirks模式,因为您的无效doctype与其他页面不匹配。您需要使用有效的doctype,以便IE将以标准模式显示。

目前你有:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

尝试将主页的doctype更改为与其他网页相同:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

一旦您为页面指定了正确的doctype,CSS规则应该像在其他页面上一样工作。

你使用无效的html链接到你的CSS:

<link href="v/vspfiles/templates/tempTemplate/css/Imports.css" rel="stylesheet" type="text/css"></link>

应该改为:

<link href="v/vspfiles/templates/tempTemplate/css/Imports.css" rel="stylesheet" type="text/css" />