2012-03-13 108 views
2

我有一个2格和两行的表格。 在这些细胞内有一个图像。 我有一个CSS规则为去除这些所有margin和padding:HTML表(tr,td)部分忽略CSS填充

table, tr, td, img { 
    margin:0; padding:0; /* adding !important won't change anything since no other css rules conflict with this one */ 
} 

不过,这并在实践中行不通。除了底部之外,所有的边缘都被正确地去除。问题的示例: Illustration

正如您所看到的,即使规则处于活动状态(插图左侧),td STILL也会在下面填充填充。我在这里挠我的头 - 有什么建议吗?谢谢!

编辑:Fiddle

+1

您可以使用小提琴复制此问题,以便我们可以看到它吗? HTML的外观如何? – Sethen 2012-03-13 22:30:12

+0

您是否在表标记中设置单元格填充和单元格间距?除非你发布更多的html/css,否则很难为你提供帮助。 – RobFos 2012-03-13 22:38:00

+0

@SethenMaleno当然可以; http://jsfiddle.net/QLfyD/请放大(很多)看问题。 – Zar 2012-03-13 22:38:03

回答

4

添加vertical-align:middle;

Demo

+1

现在我明白了为什么[html5reset](http://html5reset.org/)在其重置样式表中使用'td,td img {vertical-align:top;}':O(它实现了相同的功能) – Jeroen 2012-03-13 22:50:02

0

我有一个类似的问题,我有一个图像和链接同一个表格单元格,链接中的文字不断忽略填充和突破细胞。

原因是图像上存在最大宽度集,导致单元格宽度计算出现问题,删除图像上的最大宽度解决了我的问题。

希望这可能会在未来帮助其他人。