Html 填充表格行 表行填充问题 tr{ 填充:20px; } 乱数假文
苏打粉发酵液。苏打鱼苗 内克·弗林吉亚·费吉亚特。这是一个很好的例子。在hac habitasse 台词。Nullam Elite enim,孕妇欧盟布朗迪特ut,佩伦茨克nec turpis。Proin faucibus,sem sed 临时拍卖人,佩伦茨克知识产权法,但所有知识产权法。我的乌尔纳万岁 马蒂斯·埃吉特,我是智者。维韦拉无侵权品库拉索酒店 亨德雷特。爱神之城。无舌。毛里斯·洛博蒂斯·坦帕斯·努拉 权杖 下面是填充物的外观。查看内部td如何不受影响。解决办法是什么?Html 填充表格行 表行填充问题 tr{ 填充:20px; } 乱数假文,html,css,html-table,row,padding,Html,Css,Html Table,Row,Padding,苏打粉发酵液。苏打鱼苗 内克·弗林吉亚·费吉亚特。这是一个很好的例子。在hac habitasse 台词。Nullam Elite enim,孕妇欧盟布朗迪特ut,佩伦茨克nec turpis。Proin faucibus,sem sed 临时拍卖人,佩伦茨克知识产权法,但所有知识产权法。我的乌尔纳万岁 马蒂斯·埃吉特,我是智者。维韦拉无侵权品库拉索酒店 亨德雷特。爱神之城。无舌。毛里斯·洛博蒂斯·坦帕斯·努拉 权杖 下面是填充物的外观。查看内部td如何不受影响。解决办法是什么? 使用td填充
使用td填充诀窍是在
td
元素上使用填充,但对第一个元素例外(是的,这很有黑客味,但有时你必须遵守浏览器的规则):
第一个孩子得到了较好的支持:
通过使用tr:first child td
,可以对水平填充使用相同的推理
或者,使用排除第一列。不过,目前对此的支持还没有那么好
td {
padding-top:20px;
padding-bottom:20px;
padding-right:20px;
}
td:first-child {
padding-left:20px;
padding-right:0;
}
在和规范中,填充可用于所有元素,包括
。然而,在和规范中,表行(
)的填充支持已被删除。我从来没有发现这个恼人的更改背后的原因,它也会影响页边距属性和其他一些表元素(页眉、页脚和列)
更新:2015年2月,在
www-style@w3c.org
邮件列表讨论了如何为表行添加填充和边框支持。这将标准的框模型也应用于表行和表列元素。这是允许的。该线程似乎暗示CSS标准中不存在表行填充支持,因为它会有复杂的布局引擎。在2014年9月30日的CSS基本框模型中,所有元素都存在填充和边框属性,包括表行和表列元素。如果它最终成为W3C推荐,您的html+css示例最终可能会在浏览器中正常工作。这是一篇非常古老的文章,但我认为我应该发布我最近遇到的类似问题的解决方案
回答:我解决了这个问题,将tr元素显示为块元素,即为tr元素指定display:block的CSS。您可以在下面的代码示例中看到这一点
tr{
显示:块;
垫底:20px;
}
桌子{
边框:1px纯红;
}
乱数假文
苏打粉发酵液。苏打水库拉比图尔·里苏斯坐在阿梅特·内克·弗林吉亚(amet neque fringilla feugiat)旁边。这是一个很好的例子。在hac habitasse Plateum,一句名言。孕妇
欧盟布朗迪特ut,佩伦茨克nec turpis。普罗恩·福西布斯,sem-sed-TEMPER-auctor,ipsum velit pellentesque lorem,ut semper lorem eros ac eros。我的生命,我的生命,我的智慧。维韦拉湖无侵权人酒店
luctus vitae euismod purus hendrerit。爱神之城。无舌。毛里斯·洛博蒂斯·坦普斯无节杖。
此文本位于TABLE元素的下方和外部。请注意,由于为tr元素指定了底部填充,红色表格边框是如何向下推到段落末尾下方的。这里的关键点是tr元素必须显示为块
以便在tr级别应用填充。
选项1
您还可以通过向行(tr)添加透明边框来解决此问题,如下所示
HTML
就像一个符咒,虽然如果你需要规则的边界,那么这种方法将不幸地不起作用
选项2
由于行作为单元分组的一种方式,正确的方法是使用
tr {
border-top: 12px solid transparent;
border-bottom: 12px solid transparent;
}
您可以简单地将此样式添加到表中
表格{
边界间距:15px;
}
在元素之前添加一个:
table {
border-collapse: inherit;
border-spacing: 0 10px;
}
在“响应”表格的上下文中,这对我来说很重要,即
td{display:table row;}
使用
和
而不是表格所显示的数据是表格,应该在表格中唯一的问题是,如果tr中有两个td,则两个td之间会有填充,我不想要。我会使用:not运算符排除单个项目。像tr:not(#first_row)@congizfrostclaw确实,那会更为体贴。但是支持没有那么好。哦,你可能是对的。我不知道,只是有理由相信:not运算符是一个更受支持的运算符,但再次强调,我只在Chrome中测试:D这不是“黑客”,这正是这些选择器的设计for@spinners这是哈奇。它不适用于RTL布局。创建dummy
s。我也会非常感兴趣的原因!这完全与表格布局通常的工作方式有关。如果您这样做,您不应该使用表格-使用常规的div
。这应该是基于问题的公认答案。向列(td)添加填充并不总是直接的(也可能是标题(th))。这更准确地回答了这个问题。通常的假设是OP可以修改HTM,但由于visual Builder和CMS具有如此突出的地位,情况往往并非如此。上伏通
<table>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
</table>
tr {
border-top: 12px solid transparent;
border-bottom: 12px solid transparent;
}
table {
border-collapse: inherit;
border-spacing: 0 10px;
}
tr::before {
content: "";
margin-left: 10px;
}