【问题标题】:CSS triangle under table row element表格行元素下的 CSS 三角形
【发布时间】:2016-11-04 22:07:13
【问题描述】:

我正在尝试在中心的第一个表格行下添加“CSS Triangle”,如下图所示:

如前面的示例所示,我尝试在第一行之后使用 ::after,但定位不正确。

这是没有三角形的表格

table {
    width: 100%;
}

td {
   border: 1px solid black;
}

td.content {
  height: 100px;
}
<table>
    <tr class="header">
        <td> # </td>
        <td> 1 </td>
        <td> 2 </td>
    </tr>
    <tr>
        <td colspan="3" class="content"> content </td>
    </tr>
</table>

【问题讨论】:

  • 请注意,不要使用&lt;tr class="header"&gt; - 它没有可用性功能。请改用&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Header content&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;。它实际上具有语义意义。

标签: html css


【解决方案1】:

您可能需要在 td 元素而不是行上执行 after。这是一种方法,如下所示。

https://css-tricks.com/snippets/css/css-triangle/

table {
    width: 100%;
}

td {
   border: 1px solid black;
}

td.content {
  height: 100px;
}

.red-triangle:after {
  content: '';
  position: absolute;
  top: 33px;
  left: calc(50% - 25px);
  width: 0px;
  height: 0;
  border-top: solid 25px red;
  border-left: solid 25px transparent;
  border-right: solid 25px transparent;
}
<table>
    <tr class="header">
        <td> # </td>
        <td class="red-triangle"> 1 </td>
        <td> 2 </td>
    </tr>
    <tr>
        <td colspan="3" class="content"> content </td>
    </tr>
</table>

【讨论】:

  • 要使三角形水平居中,请使用left: calc(50% - 25px);。另外,td 需要position: relative; 设置,三角形应该有top: 100%;
猜你喜欢
  • 2014-01-02
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
相关资源
最近更新 更多