Firefox相对父级内部的CSS绝对div

Firefox相对父级内部的CSS绝对div,css,firefox,Css,Firefox,我想在桌子里放一个div。父级具有位置:相对,而我的div las具有位置:绝对。我通常在chrome上开发,它在那里工作得很好,但当我打开firefox时,我的绝对div忽略了它的父项,占据了整个页面 下面是一个在chrome中工作但在firefox中不工作的示例: 有什么想法吗?我通过在表tr#body tdCSS中添加以下内容解决了这个问题: float: left; width: 100%; 您现在必须注意边距和填充错误,但是可以通过更改元素上的选项来避免这些错误 进一步注意,你应该

我想在桌子里放一个div。父级具有
位置:相对
,而我的div las具有
位置:绝对
。我通常在chrome上开发,它在那里工作得很好,但当我打开firefox时,我的绝对div忽略了它的父项,占据了整个页面

下面是一个在chrome中工作但在firefox中不工作的示例:


有什么想法吗?

我通过在
表tr#body td
CSS中添加以下内容解决了这个问题:

float: left;
width: 100%;
您现在必须注意边距和填充错误,但是可以通过更改元素上的选项来避免这些错误

进一步注意,你应该养成总是放分号的习惯,
,位于CSS样式的每一行的末尾


编辑:添加
display:block
也可以按发布的方式工作您需要更改
#absolute
的父项的
显示值:

table tr#body td { display: block; }

它是(自Firefox 31以来修复的)。在修复之前,常见的解决方法是将div嵌套在表格单元格中并设置位置:相对于它,或者将单元格本身的显示更改为display:block(将单元格转换为嵌套在匿名表格单元格框中的类似div的块框)。第二种方法似乎适用于这种情况,因为单元格的高度是固定的。

相关:
在任何表标记内都不会传递到W3验证器,如果您关心的话。哈哈!我现在想说:)@gustavohenke在HTML4/XHTML1和HTML5中都完全有效,的内容模型允许所有这些标准中的任何块元素。这些属性是不必要的。它们之所以有效,是因为
float:left
设置
display:block
。只需设置
display:block
就足够了。您可以回答这个问题,但您可以解释它的工作原理……当然可以。默认情况下,表格单元格的
显示
表格单元格
。Firefox(-感谢Ilya Streltsyn)以不同的方式对待表格单元格。设置
display:block
指示Firefox不再将
td
元素视为表格单元格,而是将其视为块级元素<代码>显示:内联块
也可以。将父项设置为
显示:块
解决了类似的问题。