<style>
*{
padding:0;
margin:0;
}
#main{
position:relative;
}
.box{
padding:15px 0 0 15px;
float:left;
}
.pic{
padding:10px;
border:1px solid #ccc;
border-radius:5px;
box-shadow:0 0 5px #ccc;
}
.pic img{
width:165px;
height:auto;
}
</style>
<script>
window.onload=function(){
waterfall('main','box');
}
function waterfall(parent,box){
//将main下的所有class为box的元素取出来
var oParent = document.getElementById(parent);
var oBoxs=getByClass(oParent,box);
//计算整个页面显示的列数(页面宽/box的宽度)
var oBoxW=oBoxs[0].offserWidth; //202=165+2*10+1*2+15
var cols=Math.floor(document.documentElement.clientWidth/oBoxW);
//设置main的宽、居中
oParent.style.csstText='width:'+oBoxW*cols+'px;margin:0 auto';
}
//根据class获取元素
function getByClass(parent,clsName){
var boxArr=new Array;
var oElements = parent.getElementsByTagName('*');
for(var i=0;i<oElements.length;i++){
if(oElements[i].className==clsName){;
boxArr.push(oElements[i]);
}
}
return boxArr;
}
</script>
我也遇到了这样的问题,我是这样解决的:可以学完之后再回过头看看自己哪里不行,再巩固一下,或者把你的问题说出来,我们可以帮助你的
我的margin加上和不加没啥区别
如果你是下载的老师的源代码的话,源代码里面的magin中间多了个空格键,删去就可以居中了
我也是,现在你的问题解决了么?
这边是有效果,但是不居中
撤掉margin:0 auto 结果会更加偏左
但加上后,稍微向右移,但不居中
oParent.style.csstText发现这里刚写错了,但是改成 oParent.style.cssText也不能居中