跨表的梯度

时间:2017-10-20 15:46:00

标签: css

我有一个表,用户可以单击该表以选择特定单元格以进行选择。点击我将css类应用于<td>,例如clicked

现在它看起来像这样:

.clicked {
    background: #43C6AC;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to left, #F8FFAE, #43C6AC);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to left, #F8FFAE, #43C6AC); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}

返回的内容如下:

enter image description here

我想在附近的细胞上制作渐变均匀,所以如果选择4个细胞,那么第一个应该是绿色,最后一个是黄色。

我该怎么做?我想,也许最好的方法是让表格全部以渐变为准,如果没有选择应用白色背景。

这是最好的方法吗? 感谢

1 个答案:

答案 0 :(得分:1)

我同意这是你最好的方法。最简洁的方法是将渐变应用于整个表或行,如上所述,并对所有应用纯白色的非单击元素使用选择器。 CSS会看起来像这样:

tr {
    background: #43C6AC;  /* fallback for old browsers */
    background: -webkit-linear-gradient(to left, #F8FFAE, #43C6AC);  /* Chrome 10-25, Safari 5.1-6 */
    background: linear-gradient(to left, #F8FFAE, #43C6AC); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}

td:not(.clicked) { background: #fff; }

JSFiddle