我正在使用Django建立一个网站,我的模板使用CSS并使用firefox在本地进行测试,但是当我正在向我的好友“展示它”时,我会针对IE运行它,并且该网站是都坏了!标题都搞砸了似乎没有什么似乎在一起,空间都搞砸了!它不好。
有什么东西不见了!像一些标题声明? DOCTYPE还是什么?
注意:我从互联网上的一些网站上抓取了css am,当我在IE上运行该网站时,它看起来都很棒!
帮助
这是令人讨厌的CSS,使用此css的 h1 部分是破解的,有任何线索吗?
div#header
{
margin-left: auto;
margin-right: auto;
margin-bottom: 10px;
text-align: left;
width: 780px;
height: 102px;
background: url(/site_media/header_background.gif) no-repeat top left;
}
div#header h1
{
padding: 30px;
font-family: Verdana, sans-serif;
font-size: 17px;
font-weight: bold;
color: #c8c8c8;
letter-spacing: -1px;
}
div#header h1 strong
{
color: #999;
width: 810px;
}
答案 0 :(得分:3)
首先,确保您使用的文档类型声明不会触发Quirks Mode。我建议HTML 4.01 Strict, or XHTML 1.0 Strict。
其次,请确保您的网站根据W3C validator进行验证。
最后,发布有问题的网站或错误的片段,以便我们进一步建议您。您可能需要conditional CSS专门用于IE的版本。
编辑:现在看到您的更新,您是否可以发布您认为“已损坏”的屏幕截图,并且可以确保该页面不使用该过渡文档类型和它验证了。随附的HTML也会有所帮助。
答案 1 :(得分:1)
这次对您没有帮助,但下次您“从头开始”开发网站时,请尝试每天至少在IE中测试一次网站。这样你最终不会得到这种惊喜。
如果您想要更准确的答案,请发布网址,有人会在IE和Firefox中指出它看起来不同的原因
答案 2 :(得分:1)
你没有遗漏任何东西。欢迎来到IE ...
大多数问题可能是由IE渲染引擎中的错误引起的。这些链接可能有所帮助:
您可以在HTML中使用conditional comments为IE添加替代版本的样式表。
史蒂夫
答案 3 :(得分:1)
尝试使用reset.css文件进行更“快乐”的交叉浏览。您可以从Eric Meyer's site查看有关reset.css的详细信息。另外还有另一个由aahoo的开发者开发的reset.css文件。但是reset.css的结果是一样的。你可以尝试其中任何一个。
答案 4 :(得分:1)
然后一旦你的网站在IE7上满意,你可能需要面对IE6仍然存在的所有附加问题。 IE6仍然运行在大约15%的PC上,所以你必须决定你想做些什么......
哦,不要忘记你的Safari,Chrome和FF2测试。 :)
答案 5 :(得分:1)
对于doctype,主要目的是让浏览器退出quirksmode。
你可以使用他们的
<!DOCTYPE XHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
甚至只是
<!doctype>
哪个是HTML5 doctype,并且更简单:) [虽然如果使用w3c验证器来检查代码,它会给出不同的错误。]
最让你烦恼的是填充:
div#header h1 { 填充:30px; ...
IE有一个与其他浏览器不同的盒子模型,首先要显示的是边框和填充。 (在IE中宽度包括填充,在其他浏览器中它不包括)
要解决此问题,您可以使用IE条件或hacks为IE提供自己的样式,或者您可以使用嵌套的div和边距,这些更加一致。 您也可以使用Dean Edwards IE7或类似方法使用Javascript修复它。
答案 6 :(得分:0)
这是我用来确定合适样式表的PHP函数:
function stylesheet() {
$ua = $_SERVER["HTTP_USER_AGENT"];
$iepos = strpos($ua,"MSIE");
if ($iepos) {
$vers = substr($ua,$iepos+5,1);
if ($vers >= 8) return "style.css";
else return "iestyle.css";
}
else return "style.css";
}
我有一个非常奇怪的问题,我需要IE8才能成为“好”版本,因此大多数人都可能会改变......
if ($vers >= 8)
为...
if ($vers >= 7)
然后我只是代替普通的CSS链接:
<?php echo "<link rel=\"stylesheet\" href=\"".stylesheet()."\" />"; ?>
祝你好运。