【问题标题】:Wikitable background bleedingWikitable 背景出血
【发布时间】: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 倍,产生非常明显的出血。我在这里只用红色来演示流血
  • 好的,谢谢你的回复,这需要更多的思考...... :)
  • 我无法重现该错误。我们可以提供屏幕截图或现场示例吗?

标签: jquery css mediawiki


【解决方案1】:

如果你使用table { border-spacing: 0; },空格就消失了。在 border-spacing 最初设置为 2px 的 Chrome 上测试。

【讨论】:

    猜你喜欢
    • 2019-05-02
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2013-02-01
    相关资源
    最近更新 更多