【发布时间】:2012-11-04 01:31:08
【问题描述】:
我正在尝试创建这样的表:
{| class="wikitable" style="background:#F00;"
|-
! colspan="3" | Title
|-
! style="border-width:1px 0px; width:20px" | A
! style="border-width:1px 0px;" | [[A]]
! style="border-left-width:0px; width:20px" | A
|-
| colspan="3" | Text
|}
但是,红色背景“流血”到右侧。即,在表格右边框的右侧,有一条红色的垂直条带。
使用开发人员工具仔细检查后,这是由于单元格的填充设置为 0.2em,并且(奇怪地)没有四舍五入为整数像素,填充为 2.54999 像素。然后浏览器将表格框呈现在右边框之外。
这可以通过单独为单元格提供基于 px 的填充来解决。但这会使代码复杂化,因此我正在寻找更简洁的解决方案。
编辑:还需要注意的是,“未舍入”行为是由“wikitable”类引起的。我尝试删除类并且填充是四舍五入的。
EDIT2:进一步的实验表明,这很可能是因为 MediaWiki 使用 jQuery 的 .css() 方法(或其他等效方法,它不围绕基于 em 的测量值)设置 wikitables 的填充。任何想法如何克服这个问题?
【问题讨论】:
-
您想要的解决方案是什么?只有一排背景为红色?
-
是的。准确地说,我只是不想流血。我正在制作的表格使用默认的灰色背景,但这些单元格是 5 倍,产生非常明显的出血。我在这里只用红色来演示流血
-
好的,谢谢你的回复,这需要更多的思考...... :)
-
我无法重现该错误。我们可以提供屏幕截图或现场示例吗?