我有一个没有设置宽度的div,所以它是0.在我附加另一个带文本的div。一切都是绝对的,我无法改变。会发生什么:在safari中我得到30和30,在Firefox中我得到0和30。 有什么方法可以解决这个问题吗?我需要我的父div宽度来获得孩子的宽度+它的x位置。
var d = document.createElement("d");
d.style.position = "absolute";
document.body.appendChild ( d );
var c = document.createElement("s");
c.style.position = "absolute";
c.innerHTML = "Blah";
d.appendChild ( c );
console.log ( d.scrollWidth );
console.log ( c.scrollWidth );
答案 0 :(得分:2)
如果两个元素必须设置为position:absolute,那么你几乎没有运气。
使用绝对定位会从文档流中删除元素,这意味着父div没有子div宽度的概念。如果你将孩子改为亲戚而将父母保持为绝对,那么你将看到你想要的正确拉伸(因为父母将能够“看到”孩子,即使文件的其余部分不能“看到” “父母”