先把代码贴出来(同时实现了改变浏览器大小<div>能响应上下左右居中的效果):
css部分:
*{
margin: 0;
padding: 0;
}
#content{
width: 100px;
height: 100px;
background: red;
margin: 0 auto;
float: left;
}
html部分:
<div id="content"></div>
js部分:
var content = document.getElementById("content");
content.style.position="relative";
//document.documentElement 返回的是文档的根结点
content.style.left=(document.documentElement.clientWidth - content.offsetWidth)/2+"px";
content.style.top=(document.documentElement.clientHeight - content.offsetHeight)/2+"px";
//onresize事件会在窗口或框架被调整大小时发生
window.onresize=function(){
content.style.left=(document.documentElement.clientWidth - content.offsetWidth)/2+"px";
content.style.top=(document.documentElement.clientHeight - content.offsetHeight)/2+"px";
}
在做响应式开发的时候发现<div>在被float以后div脱离了文档流无法使用margin:0 auto来实现左右居中,于是使用了javascript来进行解决这个问题。