課程
/前端開(kāi)發(fā)
/JavaScript
/瀑布流布局
是不是pic的div是多余的呢!一個(gè)box的div就可以添加class=pic的div樣式呢?
2017-02-21
源自:瀑布流布局 2-1
正在回答
不建議這樣,你看到的效果圖,圖片邊框與邊框的距離,看起來(lái)像margin,可以用className為box直接實(shí)現(xiàn),但是老師沒(méi)有這樣做,而是加了className為pic的div,然后在box里面設(shè)置padding來(lái)實(shí)現(xiàn)的,因?yàn)楹竺嫘枰ㄟ^(guò)實(shí)際寬度來(lái)計(jì)算列數(shù),用box的padding實(shí)現(xiàn)的話,box的寬度就是offsetWidth,或者jq的outerWidth(),計(jì)算列數(shù)直接用clientWidth/offsetWidth就可以了(當(dāng)然取整要的);如果用margin來(lái)設(shè)置這個(gè)隔開(kāi)的間距,那么后面就不能直接用offsetWidth,或者jq的outerWidth(),因?yàn)樗麄兊挠?jì)算方法不包括margin的值,而包括padding的值,所以老師在box里面又加了pic,通過(guò)padding制造了一個(gè)margin的效果。紅線的邊框是我后來(lái)加的,方便看:其實(shí)box與box之間沒(méi)有margin,而是通過(guò)padding實(shí)現(xiàn)的看似margin的效果。如果要去掉pic,通過(guò)box的margin實(shí)現(xiàn),計(jì)算列數(shù)就要clientWidth/(offsetWidth+兩個(gè)margin),然而用js獲取這個(gè)margin值我不會(huì),,,你會(huì)么?我要先定義下,answer.style.marginLeft ="200px";然后通過(guò)parseInt(answer.style.marginLeft)才能取出來(lái)
White_Mink 提問(wèn)者
ANGELAMABY_
舉報(bào)
瀑布流布局是網(wǎng)站比較流行的一種布局方式,教你實(shí)現(xiàn)三大方式
1 回答瀑布流布局里面JQ,var $boxs=$("#main>div"); 可以等于 var $box=$(".box")不是直接有類(lèi)選擇器么
3 回答獲得class為box的所有元素
1 回答關(guān)于獲取class為box的盒子
1 回答第12行 為什么我在setTimeout里面創(chuàng)建class為loading的div,不會(huì)跟著在后面顯示?
3 回答$box與$(box)的區(qū)別
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-02-22
不建議這樣,你看到的效果圖,圖片邊框與邊框的距離,看起來(lái)像margin,可以用className為box直接實(shí)現(xiàn),但是老師沒(méi)有這樣做,而是加了className為pic的div,然后在box里面設(shè)置padding來(lái)實(shí)現(xiàn)的,因?yàn)楹竺嫘枰ㄟ^(guò)實(shí)際寬度來(lái)計(jì)算列數(shù),用box的padding實(shí)現(xiàn)的話,box的寬度就是offsetWidth,或者jq的outerWidth(),計(jì)算列數(shù)直接用clientWidth/offsetWidth就可以了(當(dāng)然取整要的);如果用margin來(lái)設(shè)置這個(gè)隔開(kāi)的間距,那么后面就不能直接用offsetWidth,或者jq的outerWidth(),因?yàn)樗麄兊挠?jì)算方法不包括margin的值,而包括padding的值,所以老師在box里面又加了pic,通過(guò)padding制造了一個(gè)margin的效果。紅線的邊框是我后來(lái)加的,方便看:其實(shí)box與box之間沒(méi)有margin,而是通過(guò)padding實(shí)現(xiàn)的看似margin的效果。如果要去掉pic,通過(guò)box的margin實(shí)現(xiàn),計(jì)算列數(shù)就要clientWidth/(offsetWidth+兩個(gè)margin),然而用js獲取這個(gè)margin值我不會(huì),,,你會(huì)么?我要先定義下,answer.style.marginLeft ="200px";然后通過(guò)parseInt(answer.style.marginLeft)才能取出來(lái)