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是不管用的,盒模型的宽高计算也是错误的。