【问题标题】:Chrome table css glitch using border-color使用边框颜色的 Chrome 表格 css 故障
【发布时间】:2016-12-12 00:46:04
【问题描述】:

我为选定元素定义了如下表格样式:

tr[selected] {
    background: #FFF;
    border-color: #000000;
    color: #000000;
}

我使用 javascript 应用这种样式:

$this.unbind().change(function () {
        element = $(this).parents('tr');
        if ($(this).is(':selected')) element.attr('selected', '');
        else element.removeAttr('selected')
    });
$this.checkbox();

它的工作原理,我在使用 chrome 时遇到了一个奇怪的故障(例如,firefox 不会发生),有时,在选择和取消选择元素后,仍然应用了边框颜色属性的一部分:

预期:

有时:

这是众所周知的吗? 这种行为有解决方法吗?

【问题讨论】:

  • 你能在 codepen 上展示一个工作示例吗?
  • 代码不足以重现问题。但是,为了符合标准,在设置选定属性时,您可以使用element.attr('selected', 'selected')

标签: javascript jquery css google-chrome


【解决方案1】:

tr 行的样式设置为display: block;,否则表格元素在其他类型的容器中可能无法按预期运行。这对我有用:

tr {
  display: block;
  background: #fff;
  color: #000;
  border: solid 1px #fff;
}
tr[selected] {border: solid 1px #000;}
tr:not([selected]) {border: solid 1px #fff;}

【讨论】:

  • 我不太喜欢那样。我更愿意了解为什么会这样
  • 我改变了答案。我认为这与表格行的默认显示模式有关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2011-12-18
  • 2011-05-05
  • 2018-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多