javascript - 表格覆盖标签

标签 javascript css html

我正在制作甘特图式应用程序,每天使用表格作为网格。当其中一天被分配时,td 将被分配一个类,该类将其颜色更改为正在使用的资源。我正在尝试在顶部放置一个标签,显示分配了哪个资源,如下例所示。

table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100px;
}

td {
  height: 20px;
  width: 20px;
  border: black solid 1px;
}

.green {
  background-color: green;
}

.red {
  background-color: red;
}
<table>
  <tbody>
    <tr>
      <td class="green">sdfsdfsfsdfs</td>
      <td class="green"></td>
      <td class="green"></td>
      <td class="green"></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="green">te</td>
      <td class="green"></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="red">longstring</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="red">longstring</td>
      <td class="red"></td>
      <td class="red"></td>
    </tr>
  </tbody>
</table>

绿色的前两行效果很好。标签溢出显示全名。我添加了第 4 行,它可以正确显示。然而,问题来自第三行。该名称比分配给它的所有天数都长,因此它溢出到空的 td 中。

所以唯一没有正确显示的是第 3 行。溢出应该被隐藏,所以它只显示“lon”。

是否有任何 CSS 技巧可以阻止溢出到具有不同背景/类的区域?或者也许是一个 javascript 解决方案来防止在最后一个 td 上溢出?

最佳答案

您可以在白色单元格上使用 z-index 并在彩色单元格上分配位置 static 以获得您想要的内容。

现场演示:

table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100px;
}


td {
  height: 20px;
  width: 20px;
  border: black solid 1px;
}

td {
  z-index: 9;
  background-color: white;
  position: relative;
}

.green {
  position: static;
  background-color: green;
}

.red {
  position: static;
  background-color: red;
}
<table>
  <tbody>
    <tr>
      <td class="green">sdfsdfsfsdfs</td>
      <td class="green"></td>
      <td class="green"></td>
      <td class="green"></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="green">te</td>
      <td class="green"></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="red">longstring</td>
      <td></td>
      <td></td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="red">longstring</td>
      <td class="red"></td>
      <td class="red"></td>
    </tr>
  </tbody>
</table>

注意:边框样式有一些问题

关于javascript - 表格覆盖标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54829731/

相关文章:

javascript - 不使用答案的外部 HTTP 请求

html - css 样式字段集

css - 如何使用 before 选择器 css 添加 li

javascript - 渲染集合时避免使用多个 javascript_include_tag

javascript - Highcharts : Two lines showing instead of one

javascript - Jquery 具有单个 hasclass 的多个元素

javascript - jTable 条件显示\隐藏基于数据所有者的编辑和删除按钮

jquery - 响应式弹出窗口

html - 开始和结束标签之间的文本术语?

html - Outlook 电子邮件签名 - 标题?