Javascript DOM元素垂直对齐JS算法

Javascript DOM元素垂直对齐JS算法,javascript,html,css,Javascript,Html,Css,我已经编写了下面的脚本,它使用CSS将元素的子元素垂直对齐。 该脚本在我测试过的所有主要浏览器中都运行良好,IE除外 因为我正在更改元素的位置值,所以我将容器对象的宽度和高度以及子对象的顶部和左侧设置为,一旦脚本完成,它们将显示在相同的位置。IE不能很好地处理偏移/偏移 保持容器的大小: element.style.width = element.offsetWidth + 'px'; element.style.height = element.offsetHeight + 'px'; 保持

我已经编写了下面的脚本,它使用CSS将元素的子元素垂直对齐。 该脚本在我测试过的所有主要浏览器中都运行良好,IE除外

因为我正在更改元素的位置值,所以我将容器对象的宽度和高度以及子对象的顶部和左侧设置为,一旦脚本完成,它们将显示在相同的位置。IE不能很好地处理偏移/偏移

保持容器的大小:

element.style.width = element.offsetWidth + 'px';
element.style.height = element.offsetHeight + 'px';
保持孩子的姿势:

child.style.top = child.offsetTop + 'px';
child.style.left = child.offsetLeft + 'px';
child.style.top = parent.offsetHeight / 2 - child.offsetHeight / 2 + 'px';
儿童的排列:

child.style.top = child.offsetTop + 'px';
child.style.left = child.offsetLeft + 'px';
child.style.top = parent.offsetHeight / 2 - child.offsetHeight / 2 + 'px';
有什么想法吗

对算法的改进也将被欣然接受


你为什么不使用CSS呢?这是因为IE讨厌网络,它让我哭泣。对不起,这没有意义。我看不出为什么元素的简单垂直对齐应该是一个需要JS解决的问题。它与IE无关,您可以在IE中垂直对齐。
top:50%
margin top:
的一半containerswidth
在IE中工作,AFAIK(使用
位置:绝对值