Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 表格单元格的内容是否可以垂直溢出?_Css_Firefox_Overflow_Language Lawyer_Css Tables - Fatal编程技术网

Css 表格单元格的内容是否可以垂直溢出?

Css 表格单元格的内容是否可以垂直溢出?,css,firefox,overflow,language-lawyer,css-tables,Css,Firefox,Overflow,Language Lawyer,Css Tables,表单元格可能有溢出的内容,如中所述: 任何包含溢出内容的单元格都使用 属性确定是否剪辑溢出内容 但这种溢出会是垂直的吗?警察说 在CSS 2.1中,单元格框的高度是 内容 所以如果我理解正确的话,这是不可能的。但我可以在Firefox上实现: 表格{ 身高:0; 边框:5px纯蓝色; } 运输署{ 宽度:100px; 身高:100%; 边框:5px纯红; } div{ 身高:100%; 边框:1px实心; 背景颜色:黄色; } 福 酒吧 还说 CSS 2.1没有定义当使用百分比值指定表格单元

表单元格可能有溢出的内容,如中所述:

任何包含溢出内容的单元格都使用 属性确定是否剪辑溢出内容

但这种溢出会是垂直的吗?警察说

在CSS 2.1中,单元格框的高度是 内容

所以如果我理解正确的话,这是不可能的。但我可以在Firefox上实现:

表格{
身高:0;
边框:5px纯蓝色;
}
运输署{
宽度:100px;
身高:100%;
边框:5px纯红;
}
div{
身高:100%;
边框:1px实心;
背景颜色:黄色;
}

福
酒吧
还说

CSS 2.1没有定义当使用百分比值指定表格单元格和表格行的高度时,如何计算表格单元格和表格行的高度

它真的显示了——在不同的浏览器中,你会得到完全不同的结果

以下是IE上的外观:

在Chrome上:

据我所知:

  • Chrome通过将两个
    div
    元素置于其内容所需的最小高度来计算所需的最小高度,相应地调整表格大小,并忽略
    div
    元素上的
    height:100%
    声明

  • IE和Firefox以与Chrome大致相同的方式调整表的大小,但是他们选择在
    div
    元素上应用
    height:100%
    。这会导致您描述的溢出

  • IE做了一些奇怪的事情,它向上扩展了第一个
    div
    ,似乎完全忽略了基线,尽管
    div
    元素是块级的,而不是内联级的


由于这是一种未定义的行为,特别是处理百分比高度的行为,因此很难说在这种特定情况下浏览器是正确的还是错误的。我怀疑您更有可能(尽管仍然无法保证)通过在表格单元格上指定固定高度来获得原始问题的满意答案。

为什么要为
表格
td
元素指定
显示
属性?因为首先它们不是表格元素,只是样式为表格。然后我使用了表格元素,但忘了删除样式。谢谢。如果您愿意,请随意修改您问题中的原始代码,我会相应地更新我的答案。我知道只有计算的
高度
未定义,但单元格所需的最小高度(MIN)定义良好,因此,表行的高度取决于实现,但仍然足够大,可以包装内容。我想他们应该澄清什么是未定义的。@Oriol:在这种情况下,表格单元格和div都有百分比高度-这是一种循环依赖关系,除非忽略或不更新其中一个值,否则无法解决。Chrome选择在div上忽略它,IE和Firefox选择扩展div以匹配td的高度,而不是td以匹配div的高度,因为如果他们更新了td,则div必须再次更新。。。纳修姆广告。