longmeifeng 2014-04-17
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>JS实现div居中</title>
<style>
/*外层div居中*/
#main {
position: absolute; /*极为重要*/
background-color: blue;
width:400px;
height:200px;
/*left:50%;
top:50%;
margin-left:-200px;
margin-top:-100px;*/
border:1px solid #00F;
}
#content {
position: absolute; /*极为重要*/
background-color: yellow;
width: 200px;
height: 100px;
/*left:50%;
top:50%;
margin-left:-100px;
margin-top:-50px;*/
/*div内部文字居中*/
text-align: center;
line-height:100px; /*行间距和div宽度相同*/
}
</style>
<body>
<div id="main">
<div id="content">
Sun
</div>
</div>
<script type="text/javascript">
window.onload = function() {
// 获取浏览器窗口
var windowScreen = document.documentElement;
// 获取main的div元素
var main_div = document.getElementById("main");
// 通过窗口宽高和div宽高计算位置
var main_left = (windowScreen.clientWidth - main_div.clientWidth)/2 + "px";
var main_top = (windowScreen.clientHeight - main_div.clientHeight)/2 + "px";
// 位置赋值
main_div.style.left = main_left;
main_div.style.top = main_top;
// 获取mcontent的div元素
var content_div = document.getElementById("content");
var content_left = (main_div.clientWidth - content_div.clientWidth)/2 + "px";
var content_top = (main_div.clientHeight - content_div.clientHeight)/2 + "px";
content_div.style.left = content_left;
content_div.style.top = content_top;
}
</script>
</body>
</html> <divid="cnbruce">margin:0auto看看内容居中否</div>. 然后,单个div的CSS居中,非要扯上<body>?其实原理都知道,就是因为用这个“懒人”的HTML调试框,懒得
<div id="wrap"> 在所有浏览器中都有效的方法: <pre> 在所有浏览器中都有效的方法: 在所有浏览器中都有效的方法: 在所有浏览器中都有效的方法:. </div>太烂了这种方案!这样定
doctype html>如果不添加这段,ie没有找到合适的解析标准就会以默认的ie5.5的方式来解析页面,在ie5.5里边,css写margin:0 auto是不管用的,盒模型的宽高计算也是错误的。