gpt4 book ai didi

javascript - hr 在表格内但全宽

转载 作者:行者123 更新时间:2023-11-28 17:20:47 25 4
gpt4 key购买 nike

这段代码是我做的

  <table>
{item.awards.map((obj,i) =>
<tbody>
<tr>
<td>Name</td>
<td>:</td>
<td>{obj.title}</td>
</tr>
<tr>
<td>Date</td>
<td>:</td>
<td>{obj.award}</td>
</tr>
{i !== item.awards.length-1 ? <hr /> : ''}
</tbody>
)}
</table>

它起作用了,每个 block 都有一个分隔符 ( <hr/> ) 但现在的问题是 hr 长度不是全宽。我无法将表格制作成 100%,因为它会影响 td。

最佳答案

hr 作为 tbody 的直接子代是无效的。 tbodycontent model只允许 tr 元素(和脚本)。即使它似乎在一个浏览器中工作,也不能保证它在另一个浏览器中,甚至在它曾经工作的那个浏览器的下一个圆点版本中。

所以你需要把hr放在一个tr中,也就是说把它放在一个td或者th中>:

{i !== item.awards.length-1 ? <tr><td colspan="3"><hr /></td></tr> : null}

然后您可以根据需要使用 CSS 设置 hr 的样式,使其尽可能宽。例如(注意分隔行上的 sep 类及其应用于行和 hr 的 CSS):

table {
border: 1px solid #ddd;
}
.sep hr {
position: absolute;
width: 100%;
margin-top: -0.1em;
}
.sep {
position: relative;
overflow: hidden;
height: 1em;
}
<table>
<tbody>
<tr>
<td>Name</td>
<td>:</td>
<td>{obj.title}</td>
</tr>
<tr>
<td>Date</td>
<td>:</td>
<td>{obj.award}</td>
</tr>
<tr class="sep">
<td colspan="3">
<hr />
</td>
</tr>
</tbody>
<tbody>
<tr>
<td>Name</td>
<td>:</td>
<td>{obj.title}</td>
</tr>
<tr>
<td>Date</td>
<td>:</td>
<td>{obj.award}</td>
</tr>
<tr class="sep">
<td colspan="3">
<hr />
</td>
</tr>
</tbody>
<tbody>
<tr>
<td>Name</td>
<td>:</td>
<td>{obj.title}</td>
</tr>
<tr>
<td>Date</td>
<td>:</td>
<td>{obj.award}</td>
</tr>
</tbody>
</table>


(旁注:对于该条件运算符的第三个操作数,null 是比 '' 更好的选择。)

关于javascript - hr 在表格内但全宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42201157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com