【发布时间】:2019-06-03 21:20:22
【问题描述】:
我尝试在表格的上方和下方使用尽可能少的文本单元格填充。
下面的 sn-p 显示了我到目前为止所做的事情。但是,它仍然包含单元格文本的可见顶部和底部“填充”。
还有哪些其他 CSS 选项可以减少文本上方的空白,从而使文本呈现在顶线下方,而底线则在文本下方无间隙地绘制?
td {
border: 1px solid silver;
line-height: 1;
}
table {
border-collapse: collapse;
}
<!DOCTYPE html>
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Table Test</title>
</head>
<body>
<table>
<tr>
<td>
First row
</td>
</tr>
<tr>
<td>
Second row
</td>
</tr>
</table>
</body>
</html>
非常感谢到目前为止的回答!
在我的例子中,实际的字体系列和字体大小是未知的,这意味着 CSS 不能使用任何固定的行高值,因为这有截断字符的风险。所以我正在寻找一个“规范”且安全的解决方案。
理想情况下,只有一个 CSS 设置会导致文本和边框之间的“间隙”消失,并且适用于所有字体系列和字体大小(单个单元格中可能使用不止一种字体)。
【问题讨论】:
-
更改文本的行高可能会有所帮助
-
padding:0 到 td?
-
@AndreF 是的,这影响很小。但是仍然有一个可见的填充左侧
-
不要在
td中使用p...除非您真的表示您有一段文字。见Is it good to put<p>inside<td>to put content text? -
@HereticMonkey 我删除了 p(使示例更具可读性)
标签: html css html-table cellpadding