2011-02-08 99 views
0

我有IE 8填充设置的问题。如果你看看我的网站mywebsite,你会看到中间部分(从菜单栏的下面开始)比其他部分更宽,并使网站不成比例。这是由于我适用于此div元素的填充设置。您可以在h2元素中看到同样的问题 - 例如“Flat share”:栗色背景扩展到元素区域,该区域以右侧白色三角形的边缘结束。有谁知道如何解决这个问题?它只发生在IE 8中;在IE 7和Firefox中运行良好。 这里是我的CSSIE 8和填充问题

#page { 
width: 1000px; 
margin: 0px auto; 
padding: 20px 5px; 
background: #FFFFFF; 
} 

.sidebar li h2 { 
height: 40px; 
width: 220px; 
margin: 0 0 0 0; 
padding: 10px 15px 0px 15px; 
background: #890208 url('../images/img05.jpg') no-repeat left top; 
letter-spacing: -1px; 
font-size: 16px; 
color: #FFFFFF; 
} 

更新的摘录:我跟马修的建议,并决定不来定义宽度和高度明确。瞧,问题解决了。感谢球员的所有答复。

回答

0

问题是你在主div上有一个内联样式,它保存着所有1000px的内容。它内部的每个元素都具有相同的宽度。这在您遇到的所有浏览器中都不起作用。尝试使用百分比宽度在内部divs像95%(这个数字只是一个猜测......它将取决于你的边距/填充是多大)。

这是这种情况的原因是利润率和填充因素正在考虑到所有的div和主div。您正试图在宽度相同的div内适合div。这两个div都有默认的边距/填充。另外,你已经明确声明了一些有意想不到的应用行为的填充。

+0

当我取出宽度和高度的定义后,它的作用就像魅力。谢谢。 – Andrew 2011-02-10 18:45:36

0

您可能必须使用条件语句来弥补填充问题,而不会影响其他浏览器。这是使用reset.css文件的主要原因,但在此阶段后期执行重置操作无疑会带来更多麻烦。

<!--[if IE]> 
    link a stylesheet that deals with the offset 
<![endif]--> 

这是一个很多可能的解决方案,但它会工作。

0

你可以使用不同的样式表来处理这个问题,就像Daniel说的,尽管你会指定“If IE 8”。喜欢这样

<!--[if IE8]> 
    use a different style sheet for IE 8 here.css 
<![endif]--> 

或者,你可以做,当我遇到这个问题,只是减去股利的总宽度填充什么我总是这样。 (它一直是我的作弊工具)。因此,例如,如果DIV宽度为200px,并且内容需要左侧填充20px。我会为左侧和右侧设置填充。所以可以说你有20px左右,20px右边。总数为40.所以设置你的DIV宽度160px.Hope这有帮助!