以下是 jQuery实现上下左右垂直居中js代码 的示例演示效果:
部分效果截图:

HTML代码(index.html):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>jQuery实现上下左右垂直居中</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        /* 文字案例css样式 */
        .main {
            width: 300px;
            height: 200px;
            text-align: center;
            border: 1px solid #ccc;
            margin: 10px auto;
        }
        .main span {
            display: block;
        }
        /* 图片案例css样式 */
        .main2 {
            width: 300px;
            height: 200px;
            text-align: center;
            border: 1px solid #ccc;
            margin: 10px auto;
        }
        .main2 span {
            display: block;
        }
    </style>
    <script src="js/jquery.min.js"></script>
    <script src="js/jquery.valign-0.0.2.min.js"></script>
    <script>
        $(function () {
            $('.main span').valign({ 'unit': 'px', 'valignTo': 'middle' });
            $('.main2 span').valign({ 'unit': 'px', 'valignTo': 'middle' });
        });
    </script>
</head>
<body>
    <div class="main">
        <span>网页特效</span>
    </div>
    <div class="main2">
        <span><img src="logo.png" width="183" height="52" /></span>
    </div>
</body>
</html>
JS代码(jquery.valign-0.0.2.min.js):
/* This valing jQuery plug-in is dual licensed under the MIT and GPL licenses. @link - @docs - @version Version 0.0.2*/
(function(c){
	function e(b){
	var a=c('<div style="float:none;
	display:none;
	font-size:1em;
	margin:0em;
	padding:0em;
	height:auto;
	line-height:1em;
	border:0em none;
	">a</div>').appendTo(c(b));
	b=a.height();
	a.remove();
	return b}
function f(b,a){
	var d;
	switch(b.valignTo){
	case "middle":d=Math.ceil((c(a).parent().height()-c(a).outerHeight())/2);
	break;
	case "bottom":d=Math.ceil(c(a).parent().height()-c(a).outerHeight())}
"em"==b.unit&&(d=(d/e(a)).toFixed(4)+"em");
	return d}
c.fn.valign=function(b){
	var a=this.selector;
	b=c.extend({
	unit:"px",valignTo:"middle"}
,b);
	this.each(function(){
	var d=b;
	c(a).css({
	"margin-top":f(d,a)}
)}
);
	return this}
}
)(jQuery);
	 
             
        