为什么我的右边距在IE的左边缘重叠?

为什么我的右边距在IE的左边缘重叠?

问题描述:

一切工作在FF或Safari罚款,但IE是创建重叠的问题,我的利润,我无法弄清楚如何解决CSS来解释它。我试图使用一个CSS重置文件,它实际上让事情变得更糟。有什么我可以改变我的原始CSS来解决这个问题?为什么我的右边距在IE的左边缘重叠?

Website page

CSS Stylesheet

+0

的问题是不明确的。该网站改变,CSS不见了。 – djjeck 2016-12-28 01:09:41

你也会希望把一个浏览器检查中说,如果该浏览器是IE使用不同的CSS文件。如果你有很多事情需要改变,这是有效的。您也可以将这些条件注释用于内联CSS。

<!--[if !IE]--> 
    <link type="text/css" rel="stylesheet" href="/css/StandardsCompliant.css" /> 
<!--[endif]--> 
<!--[if IE]> 
    <link type="text/css" rel="stylesheet" href="/css/ie.css" /> 
<![endif]--> 

退房此链接了解更多信息 http://www.quirksmode.org/css/condcom.html

+0

谢谢你的回复Brian。这似乎是一个好主意,但我真的不知道如何制作特定于IE的样式表。 – user1187043 2012-02-03 15:27:55

+0

它没有真正的诀窍。您只需制作样式,以便它们能够正确显示,例如通过试验和错误,以及何时正确保存文件,然后在链接中引用它,如图所示。在没有看到代码的情况下,您可以尝试在左侧元素上添加一个边距,并使用它来为IE定位事物。 – Brian 2012-02-03 15:54:46

+0

我想我明白你的意思了。我会试一试。 – user1187043 2012-02-03 16:02:26

从你的描述,很难准确地了解发生了什么。这可能是由于利润率崩溃(见http://complexspiral.com/publications/uncollapsing-margins/),由于IE漏洞保证金或其他原因。对于IE

最简单的解决是作出具体样式表的IE有条件的意见。例如,

<!--[if IE 8]> 
    <link rel="stylesheet" type="text/css" href="ie8.css"> 
<![endif]--> 

这是一个干净的解决方案也是在这个意义上性能损失仅适用于具有问题的浏览器,而主样式没有得到过于复杂。

了解更多关于有条件的意见,从http://www.quirksmode.org/css/condcom.html

用于靶向特定的浏览器另一个常见的策略是使用JS来检测浏览器,附上相关类将HTML或DOM体元素(当然,称为类IE7,IE8,chrome11,...),然后使用在像这样的css:

.button {width: 100px; padding: 10px;} 
.ie7 .button {width: 120px; padding: 10px;} 

这使得对版本的浏览器编写简单的修复。

+0

谢谢你的回复。我真的不知道如何精确地为IE做一个样式表。我只是修改了我正在使用的当前CSS样式表。有没有一个简单的教程,我可以尝试遵循特定与IE浏览器的CSS的交易? – user1187043 2012-02-03 15:27:08

+0

例如,我想,我的问题之一是标签:} #pichead { \t保证金左:170像素; \t边距:70像素;我需要改变在IE浏览器的CSS?更改散列符号或将边距更改为绝对值? – user1187043 2012-02-03 15:43:44

+0

在我链接的页面上有一个quirksmode的解释。 http://www.quirksmode.org/css/condcom.html - 我在回答中添加了一些更多的方法。 – Marcus 2012-02-03 15:45:29