问答详情
源自:2-3 JavaScript实现瀑布流布局中图片定位

为什么我的代码居中不了?

     <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>


提问者:慕标6879688 2017-02-06 12:11

个回答

  • 慕移动9181930
    2022-03-24 13:43:45

    我也遇到了这样的问题,我是这样解决的:

  • 慕田峪6997291
    2017-04-08 18:00:44

    我的margin加上和不加没啥区别

  • 斌冰4421289
    2017-03-21 21:55:10

    如果你是下载的老师的源代码的话,源代码里面的magin中间多了个空格键,删去就可以居中了

  • 小明菌
    2017-02-19 18:09:31

    我也是,现在你的问题解决了么?

    这边是有效果,但是不居中

    撤掉margin:0 auto  结果会更加偏左

    但加上后,稍微向右移,但不居中

  • 慕标6879688
    2017-02-06 12:14:57

      oParent.style.csstText发现这里刚写错了,但是改成 oParent.style.cssText也不能居中