以下是 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);