【问题标题】:Repeating linear background displayed incorrectly重复线性背景显示不正确
【发布时间】:2013-07-14 08:55:43
【问题描述】:

我最近在 Chrome 中尝试在表格行上放置重复渐变时发现了一个奇怪的显示问题:

see the Demo

<table id="one">
    <tr><td>123</td><td>asd</td><td>brgfbb</td><td>sdf</td><td>bgfb</td></tr>
</table>

#one tr{
   background-image: repeating-linear-gradient(135deg, 
                     #bada55, #bada55 5px, 
                     transparent 5px, transparent 10px);
}

td 元素上放置这样的渐变当然是行不通的。然而, 当将渐变放在tr 上时,渐变会奇怪地被打乱,就好像它放在tds 上一样。休息点正是表格单元格接触的地方。而是将渐变放在桌子上时,条纹的大小不规则。

铬:

在 Firefox 中一切看起来都不错:

附: IE10在tr上的渐变也有同样的问题,直接在table元素上一切都很好。

您知道此问题的任何解决方法吗?

【问题讨论】:

  • 我真的很想知道投反对票的原因... ;)
  • 你能设置一个快速的小提琴吗?
  • @SpaceBeers 我有这种感觉,你没有读到我问题的第一句话...猜猜为什么;)我编辑了我的答案,使小提琴更加突出。
  • 有罪。完全略读它直到代码。我完全被难住了。

标签: css google-chrome html-table


【解决方案1】:

只需将 css 应用于您正在使用的 id - #one 或 #two 即可解决此问题。 jsfiddle 这里演示——你可以看到我是从

#one tr{
    background-image: repeating-linear-gradient(135deg, #bada55, #bada55 5px, transparent 5px, transparent 10px);
    padding:0;margin:0;
}

#one {
    background-image: repeating-linear-gradient(135deg, #bada55, #bada55 5px, transparent 5px, transparent 10px);
    padding:0;margin:0;
}

而且没有更多被破坏的背景图片:)

【讨论】:

  • 感谢您对此进行调查。但是,您的解决方案正是我在问题中提到的:When placing the gradient on the table instead [...],您可以在我的参考表#two 中看到。这也显着改变了选择器的语义,这并不总是可以做到的。此外,在这种情况下,条纹仍然具有不规则的大小。最后但并非最不重要的一点是,你的小提琴完全符合我的...
猜你喜欢
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 1970-01-01
相关资源
最近更新 更多