2011-07-06 76 views
5

我的网站有一个相当常见的IE8问题。 IE8呈现我的页面不同于其他浏览器,这是非常烦人的。如果有人能帮忙,我很乐意!IE8 CSS渲染问题(表格)

我试图给IE8自己的样式表,但它似乎并没有工作。

这里有问题的网页:

http://www.routeqr.com/toimex/tuotteet

向下滚动到照片部分,你会看到第一个科拉姆和第二列他们之间有太多的空间。

TH标签也呈现错误。

IE浏览器不会正确显示边距,只需使用Firefox或其他浏览器检查相同的页面,您应该看到区别。

如果有人能帮助我,我会非常感激,我自己也迷失了。

HTML代码

<table class="tuotekuvat"> 
<tbody> 
<tr> 
<th><a name="kannakkeet">&raquo; Kannakkeet</a></th> 
</tr> 

CSS

.custom .tuotekuvat th { 
float: left; 
margin-top: 15px; 
margin-bottom: 15px; 
padding: 10px; 
background-color: #333333; 
} 
+2

如果您发布的代码代替,仅仅指向你的网站,并要求我们找出什么地方错了一个问题,你会得到更多的帮助。看到这个问题,已关闭:http://stackoverflow.com/questions/6596603/my-layout-is-not-working-properly – Slick23

+0

你可以张贴一些代码来展示你是如何想给IE自己的样式表?当你说它不起作用时,你是什么意思?样式表未加载,或样式不符合您的期望? – Ben

+0

尝试在IE8或IE9中打开网页,问题就变得清晰。第一列的表格单元格正在变大。 –

回答

2

表没有被正确编码,则有一个th指定(细胞),没有colspans,并在table本身某些行有6个细胞(列)和一些具有5.任何浏览器可能有麻烦晚上,多达; )

然后,你是浮动的单th - IE 7和下面不理解表格单元格/报头元件上浮动和将迫使整个第1列到宽是作为标题链接

如果我可以建议你坚持一种方法,或者在表格外部悬浮一个头部,或者甚至将它放在它自己的<thead>元素 - 然后在整个表格上使用table-layout: fixed,以便强制列的宽度相等。这应该有助于它..但主要是如果你决定该表是有六列(是否所有人都使用或不),那么例如,该单th应该是<th colspan="6">

获取表HTML右第一其余的应该完全可以通过浏览器,如果你想让它看起来像是表格行和表格标题之间的空白,你可以填充th ..但我真的不需要它漂浮在表格结构之外

+0

感谢clairesuzy,我表真的搞砸了:)顺便说是有效编码,如果有一个表是空​​细胞? –

+0

@Juuso - 别担心!你拿到了跨浏览器呈现类似的是,重新发布代码(编辑了问题补充吧)如果你仍然有问题,目前 - 是的,空的细胞是有效的:) – clairesuzy

+0

要知道,真正的空表格单元格经常赢得”在IE中正确渲染,特别是如果你在单元格上有样式(例如,与行相对)。尝试在单元格中放入一个非破坏空间( )以解决该问题。 –

0

取下左右填充:
padding: 10px;
成为
padding: 10px 0px 10px 0px;

希望这有助于!

N.S.

+1

嗨Nathan,那也将是一个解决方案,谢谢你的见解:)我改变了TH colspan =“6”,这似乎是相当好的方式来做到这一点。 –

0

关于空<td>单元格。它曾经是你需要至少一个&nbsp;才能在浏览器中正确渲染。我认为目前的版本可能不再是这种情况。

顺便说一句,我会建议使用的工具,如firefox webdeveloperfirebug。 Webdeveloper有很多不错的功能,以及链接到w3c Validator,这帮助我找到格式不正确的html。