如何在反应的表格标题行之后和之前添加一条水平线?

Posted

技术标签:

【中文标题】如何在反应的表格标题行之后和之前添加一条水平线?【英文标题】:How to add a horizontal line after and before table headers row in react? 【发布时间】:2021-08-28 00:27:58 【问题描述】:

我正在制作一个反应应用程序,我必须在表格标题行之前和之前添加一条全宽水平线,如何在此处添加它?

 return (
    <div>
      <table >
       <tr>
          <th>Name</th>
          <th>Id</th>
          <th>Age</th>
          <th>Status</th>
          <th>Sem</th>
          <th>Time</th>
          <th></th>
          <th></th>
        </tr>
        tasks.map((task, index) => (
          <Task key=index task=task onDelete=onDelete />
        ))
        
      </table>
    </div>
  );
;

这里所有&lt;th&gt;字段都是标题,我必须在标题行之前添加一条水平线,在标题行之后添加一条。

有人可以帮忙吗? 谢谢

【问题讨论】:

嗨,在 tr 标签上使用border-top和border-bottom。 不工作,没有边界 【参考方案1】:

th上添加border-topbottom

tr th  
  border-top: 1px solid black; 
  border-bottom: 1px solid black;

table  
  border-collapse: collapse; 

tr th  
  border-top: 1px solid black; 
  border-bottom: 1px solid black;
<table >
    <tr>
      <th>Name</th>
      <th>Id</th>
      <th>Age</th>
      <th>Status</th>
      <th>Sem</th>
      <th>Time</th>
      <th></th>
      <th></th>
    </tr>
  </table>

【讨论】:

为什么上面的边框比下面的细?【参考方案2】:

您可以尝试在外部 div 元素上使用 ::before::after 选择器。我向div-元素添加了id 属性,以确保css 规则不会与其他元素冲突。

#table-container::after, #table-container::before 
  display: flex;
  content: "";
  height: 2px;
  background: black;
  width: 100%;
<div id="table-container">
   <table >
     <tr>
        <th>Name</th>
        <th>Id</th>
        <th>Age</th>
        <th>Status</th>
        <th>Sem</th>
        <th>Time</th>
        <th></th>
        <th></th>
      </tr>
  </table>
</div>

【讨论】:

【参考方案3】:

您可以简单地使用border-top 和border-bottom,但是根据this 帖子,简单地将其添加到&lt;tr&gt; 类将不起作用,&lt;tr&gt; 元素本身不会带边框。您需要在表格中添加边框折叠。

实现如下:

table  
  border-collapse: collapse; 

tr:nth-child(1)  
  border-top: 1px solid black; 
  border-bottom: 1px solid black;
  <table >
    <tr>
      <th>Name</th>
      <th>Id</th>
      <th>Age</th>
      <th>Status</th>
      <th>Sem</th>
      <th>Time</th>
      <th></th>
      <th></th>
    </tr>
  </table>

【讨论】:

我得到了边框,但宽度不同,顶部的更厚【参考方案4】:

您是否使用了&lt;hr&gt; 标签?或者你可以试试这个&lt;tr style="border-bottom: 1px solid #000;"&gt; 也在这里,你也可以试试border-topborder-bottom&lt;th&gt;&lt;tr&gt;

【讨论】:

以上是关于如何在反应的表格标题行之后和之前添加一条水平线?的主要内容,如果未能解决你的问题,请参考以下文章

如何像这样创建 iOS 表格视图?

jquery如何动态的添加一条html代码

如何在表格的特定位置添加一列? [复制]

如何用arp命令添加一项静态ARP缓存

如何在绘图快速条形图中添加一条线

如何添加一条最适合散点图的线