【发布时间】:2018-11-28 18:55:47
【问题描述】:
如何在不占用额外空间的情况下最好地突出显示表格中的单元格。仅仅设置背景颜色是不够的。 (因为它必须是浅色才能使数字/文本可读)。
如果 CSS Outline 可以有圆角就可以了,但是没有圆角它就没有与文档其余部分相同的外观/样式。 到目前为止,我最好的方法是在位于单元格上方的绝对元素周围设置边框。但这需要额外的元素,并且它位于 OVER,而不是 UNDER,因此颜色需要具有不透明度,以防它位于相邻单元格中的文本之上。
<style>
td {
vertical-align:top; position:relative; text-align:right;
}
.bordered {
position: absolute;width:calc(100% + 20px)!important;left:-10px;top:-5px;border:6px rgba(255,0,0,0.7)solid;border-radius:8px;width:200%;
}
</style>
<body>
<table style="width: 100%">
<tr>
<td><span class="bordered"> </span>1 </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td>12</td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><span class="bordered"> </span>123</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td>1234</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td><span class="bordered"> </span>123456789</td>
</tr>
</table>
a) Outline 可以有圆角吗?
b) 上面没有额外的元素可以完成吗?
c) above 可以定位在单元格下方而不是单元格上方吗?
背景: 我有一个 html 应用程序。生成一个“拣货清单”(供操作人员为订单选择正确的产品。它有一个“数量”字段,当它大于 ONE 时,css 会突出显示黄色(但操作人员不会注意到它 - 只是发送一个(其中是通常的数量)。 带有黄色背景的 CSS 突出显示 - 如果我们使用红色 - 很难读取数字(黑色)。
没有跨浏览器问题,因为操作人员只是在内部使用 Chrome。
【问题讨论】:
标签: html css html-table background outline