White_Mink
2017-02-21 21:35
是不是pic的div是多余的呢!一个box的div就可以添加class=pic的div样式呢?
不建议这样,你看到的效果图,图片边框与边框的距离,看起来像margin,可以用className为box直接实现,但是老师没有这样做,而是加了className为pic的div,然后在box里面设置padding来实现的,因为后面需要通过实际宽度来计算列数,用box的padding实现的话,box的宽度就是offsetWidth,或者jq的outerWidth(),计算列数直接用clientWidth/offsetWidth就可以了(当然取整要的);如果用margin来设置这个隔开的间距,那么后面就不能直接用offsetWidth,或者jq的outerWidth(),因为他们的计算方法不包括margin的值,而包括padding的值,所以老师在box里面又加了pic,通过padding制造了一个margin的效果。红线的边框是我后来加的,方便看:其实box与box之间没有margin,而是通过padding实现的看似margin的效果。如果要去掉pic,通过box的margin实现,计算列数就要clientWidth/(offsetWidth+两个margin),然而用js获取这个margin值我不会,,,你会么?我要先定义下,answer.style.marginLeft ="200px";然后通过parseInt(answer.style.marginLeft)才能取出来
瀑布流布局
97751 学习 · 757 问题
相似问题