首页 > 代码库 > 元素水平垂直居中
元素水平垂直居中
1.第一种情况,宽度固定,高度auto情况下
js判断,水平居中margin:0 auto;垂直居中用js判断元素相对于浏览器可视区域的高度
<style type="text/css">
*{
padding: 0;
margin: 0;
}
#news{
width: 400px;
border: 4px solid blue;
padding: 30px;
/*margin: 0 auto;*/
}
</style>
<script type="text/javascript" src="http://www.mamicode.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){
function juzhong(){
// 获得可视区域高度
var window_height = $(window).height();
// 获得元素本身的高度
var news_height = $(‘#news‘).outerHeight();
// 计算margin-top值
var mtop = (window_height - news_height)/2;
// 给box赋值
$(‘#news‘).css(‘margin-top‘, mtop+‘px‘);
}
juzhong();
// 给浏览器加resize事件
$(window).resize(function() {
juzhong();
});
})
</script>
<body><div id="news"></div></body>
或者:(有父级元素的情况下)
div{
width: 200px; height: 200px;
margin:auto;
position: absolute;
left: 0; top: 0; right: 0; bottom: 0;
}
2.第二种情况,宽高固定情况下,(加上元素float浮动)
如果有父元素,则父元素需要相对定位,子元素绝对定位
div{
width:500px;height:300px;
(float:left;)
position: relative;
left:50%;right:50%;
margin:-150px 0 0 -250px;
}
元素水平垂直居中