jQuery制作元素在屏幕中水平垂直居中效果

zhangyang0 2016-06-14

jQuery.fn.center = function () {
    this.css("position","absolute");
    this.css("top", ( $(window).height() - this.height() ) / 2+$(window).scrollTop() + "px");
    this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");
    return this;
}

//Use the above function as:
$(element).center();

另外还有一些其他的实现方法

< !-- html -->
<div id="outer">
  <div id="middle">
    <div id="inner">
    any text <br>
    <b>any height </b><br>
    any content, for example generated from DB <br>
    everything is vertically centered <br>
     </div>
   </div>
</div>

< !-- CSS -->
html{height: 100%;}
body {height: 100%;}
#outer {height: 600px; overflow: visible;width: 100%;position: relative;} /* or without overflow */
#outer[id] {display: table; position: static;}
#middle {position: absolute; top: 50%;} /* for explorer only*/
#middle[id] {display: table-cell; vertical-align: middle; width: 100%;position:static;}
#inner {position: relative; top: -50%} /* for explorer only */
/* optional: #inner[id] {position: static;} */

转载自:http://www.9958.pw/post/jquery_center

相关推荐

Enjoyendless / 0评论 2020-06-11

CoderChang / 0评论 2014-06-04