将宽度未知的HTML元素居中到屏幕中间

时间:2012-06-17 09:39:27

标签: css positioning

如果我有一个宽度和高度未知的HTML元素,我怎样才能将它居中到屏幕中间?

如果无法用纯CSS完成,那么javascript就可以了。

2 个答案:

答案 0 :(得分:2)

你可以通过jquery来实现..

$(function () {
    var element=$("#elementid")
    element.css("position","absolute");
    element.css("top", Math.max(0, (($(window).height() - this.outerHeight()) / 2) + 
                                                $(window).scrollTop()) + "px");
    element.css("left", Math.max(0, (($(window).width() - this.outerWidth()) / 2) + 

});

答案 1 :(得分:2)

这个答案可能适合您的情况,也可能不适合您的情况,具体取决于如何确定未知的宽度/高度。如果完全维度未知,但它们是使用百分比设置的,那么您可以使用此技术:

#content {
    background-color: khaki; /* demo purposes */  
    position: absolute;   
    height: 20%;
    top: 50%;
    margin-top: -10%; /* half the height */   
    width: 30%;
    left: 50%;
    margin-left: -15%; /* half the width */
}

有关示例,请参阅this fiddle。总结一下:

  • Con :仅在确切尺寸未知时才适用,因为它们以%指定。
  • Pro :纯CSS解决方案。