Css 使用百分比时溢出表单元格的内容

Css 使用百分比时溢出表单元格的内容,css,cross-browser,Css,Cross Browser,根据您使用的浏览器,以下内容将以不同方式显示: 。表1 td{ 填充:0.30%; 边框:1px实心; } .2表2 td{ 填充:0 30px; 边框:1px实心; } 文本 Text考虑以下简单表格。在前两种情况下,我将文本隔开,并分别添加30%和0%的填充 在.table1中,文本在两个字符后环绕,您可以看到左右两侧有30%的填充。注意桌子的宽度 现在,看看.table1a,在本例中为0%填充。请注意,表的宽度与第一个示例相同,正如预期的那样,表的宽度刚好足以在一行中包含文本 表格布局算

根据您使用的浏览器,以下内容将以不同方式显示:

。表1 td{
填充:0.30%;
边框:1px实心;
}
.2表2 td{
填充:0 30px;
边框:1px实心;
}
文本

Text
考虑以下简单表格。在前两种情况下,我将文本隔开,并分别添加30%和0%的填充

.table1
中,文本在两个字符后环绕,您可以看到左右两侧有30%的填充。注意桌子的宽度

现在,看看
.table1a
,在本例中为0%填充。请注意,表的宽度与第一个示例相同,正如预期的那样,表的宽度刚好足以在一行中包含文本

表格布局算法首先根据内容(在本例中为单行字符)确定表格的宽度。计算宽度后,将计算30%的填充并将其应用于表格单元格,这就是您在顶部示例中看到的

在最初的示例中,文本是一个单词,不能环绕第二行。这导致出现溢出情况,文本被放置在左侧,填充率为30%,但文本溢出到右侧,并突出到右侧填充和表格的右侧边缘/边框上

这是正确的表格布局行为,只是不太直观

在最后一种情况下,
.table2
,因为您指定了30px左/右填充,所以表格布局算法首先将左/右30px填充与文本的计算长度一起添加到单元格宽度中,这反过来决定了表格的总宽度

最后,前两种情况下的30%填充可能已经添加到表的总宽度中,但是决定将总宽度保持为所包含文本的计算宽度。对于CSS规范为什么沿着这条路线发展,我没有一个明确的答案

。表1 td{
填充:0.30%;
边框:1px实心;
}
.表1A td{
填充:0.0%;
边框:1px实心;
}
.2表2 td{
填充:0 30px;
边框:1px实心;
}
tex1
tex1
文本2
。表1 td{
宽度:100px;
填充:0.30%;
边框:1px实心;
}
.2表2 td{
填充:0 30px;
边框:1px实心;
}
Text1

Text
请设置表1的宽度,因为填充是包含元素宽度的百分比。