亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

absolute,為什么要加絕對定位,是不加以后會亂,可是原是什么,這三種布局具體元,區別是什么,感覺好混亂

for(var i=0;i<oBoxs.length;i++){
?? ??? ??? ?if(i<cols){
?? ??? ??? ??? ??? ?hArr.push(oBoxs[i].offsetHeight);
?? ??? ??? ??? ?}else{
?? ??? ??? ??? ??? ??? ?var minH=Math.min.apply(null,hArr);
?? ??? ??? ??? ??? ??? ?var index=getMinhIndex(hArr,minH);//封裝 找最小值的索引
?? ??? ??? ??? ??? ??? ?oBoxs[i].style.position="absolute";
?? ??? ??? ??? ??? ??? ?oBoxs[i].style.top=minH+"px";
?? ??? ??? ??? ??? ??? ?//oBoxs[i].style.left=oBoxs[index].style.left;
?? ??? ??? ??? ??? ??? ?oBoxs[i].style.left=oBoxs[index].offsetLeft+"px";
?? ??? ??? ??? ??? ??? ?hArr[index]+=oBoxs[i].offsetHeight;
?? ??? ??? ??? ??? ?}
?? ??? ?}

正在回答

1 回答

存放圖片的div都從id為main的父元素div那里繼承了位置屬性relative。relative是相對于自身原位置的定位,雖然元素不在原位置了, 但是還占據著原位置的空間,別的元素不能擺放到那里,就是占著茅坑不拉屎的意思,一個元素占了兩個位置;absolute是相對于父元素的定位,元素改變位置后,不再占用原來位置的空間,原位置的空間可以擺放別的元素,有利于元素按自己想要的順序重新排列。具體relative和absolute的區別可以去W3C的CSS閱讀或者百度。

這三種方法布局,其實原理上講是兩個,js和jquery原理一樣,css是另一種原理。

js和jquery是通過計算來排序和加載圖片的,從第一行開始遍歷,找出最矮那一列,把新的圖片加到最矮那一列下面,并把新圖片的高度加到最矮那一列的高度上,又產生新的最矮的一列,繼續遍歷,把新的圖片加到最矮那一列下面,并把新圖片的高度加到最矮一列的高度上,以此類推。等到原始頁面上圖片都加載完時,從后臺讀取新的圖片按照上面的方法加載到各列。

css3用column-width屬性規定每列的寬度,系統會自動計算一屏能分幾列,然后把所有的圖片自動分列排序,整個過程系統自動完成,不受你的控制,也就是說圖片的加載順序你不能向js那樣控制先加載哪個后加載哪個。

0 回復 有任何疑惑可以回復我~
#1

weibo_幸福長大了_0 提問者

非常感謝!
2016-06-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

absolute,為什么要加絕對定位,是不加以后會亂,可是原是什么,這三種布局具體元,區別是什么,感覺好混亂

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號