我有一堆我想要垂直居中的图标。这当然会有所不同,具体取决于屏幕分辨率等。我目前所做的是获得父 DIV 的高度,其大小为视口的 100%:
var pageHeight = $('#sidebar').height();
然后,我得到图标容器的高度,因为这在 CSS 中没有预先确定:
var socialDockHeight = (document.getElementById('social_dock_container').offsetHeight * numberOfIcons);
注意:这仅检索一个图标的高度,出于某种原因,可能是因为它们被编码在一个数组中?然后我计算新位置,并通过 jQuery 将其分配给元素:
var y = (pageHeight / 2) - (socialDockHeight / 2);
$("#social_dock_container").css({
top: y + "px"
}).show();
这适用于 Chrome,但不适用于 IE、FF 或 Safari。