久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

網頁上的攝影展:等高響應布局實現

網頁上的攝影展:等高響應布局實現 三聯

  「等高響應式布局」是什么?介紹它之前,我們先回憶一下它的近親「等寬響應式瀑布流」。

  回憶一下,Pinterest、Google+、花瓣網、美麗說等是否讓你沉浸于不斷往下拉體驗豐富的圖片閱覽?

  那種感覺就像逛街,讓所有商品呈現在網頁上,只需要往下拉鼠標就能逐個瀏覽,不斷加載,他們簡潔同時整齊,原因是他們的寬度相等,但是高度不一。

  這就是所謂的「等寬響應式瀑布流」,它的特點如下:

  1.響應式,適應PC端以及移動端各設備呈現不同的寬度和單列數量;

  2.等寬,這樣的布局十分適合瀑布流,有不斷向下的閱讀感;

  3.沒有腳的小鳥,因為內容是不斷向下加載,因此頁腳基本是看不到了;

  這樣的布局引起了一個風潮,然而把圖片適應到等寬,高度等比例變化,對不考慮容器高度的瀏覽來說實現并不難,因此業界也大多采用了這樣的布局,而且可以響應式,在不同屏幕寬度可以變化不同卡片寬度。

  然而,回歸正題,今天要說的和這個不同,但是相近,它就是「等高響應式布局」。

  先看看效果圖:

photoLayout_preview

  如圖,并不像等寬一樣簡單,要在不改變圖片分辨率(寬高比)同時保持等高且占滿行寬度,如何實現?不妨帶著問題跟我走。

  1 等高響應式布局是什么?

  ①行內高度相等;

  ②行間總寬度相等;

 ?、圩赃m應寬度布局;

  ④圖片分辨率(寬高比)不變;

  2 難在那里?

  ①行內高度一致,行間高度不一致,但是相差不能太多;

 ?、诓⒉恢酪恍行枰嗌賯€圖片才能占滿寬度,由于高度不確定,圖片的寬度也不能等比變化;

  ③如何做到自適應?

 ?、懿季钟糜谟脩舻膫€人相冊,數據量是有限且未知的,如何保證圖片數量滿行顯示?

  由上可知,這種布局涉及太多變量,而且最難的是做到圖片分辨率不改變,不影響圖片質量效果。

  該如下下手?我的思路是:確定一個變量,其他變量根據這個變量做適應性調整。

  3 解決方法(具體下面會有圖示)

 ?、俅_定一個變量。由于當前的瀏覽器寬度是固定的,因此可以根據瀏覽器寬度范圍制定一個標準高度,類似CSS的媒體查詢(media query);

 ?、诔醮巫儞Q。所有圖片寬度根據這個標準高度作寬度的等比例縮放;

 ?、蹌撛烊萜?。每行建立一個div,并裝入盡可能多的圖片,直到容器裝不下;

  ④第一步調整。每行根據自己與目標寬度(當前瀏覽器寬度)的差值,再等比例變化寬、高。

  公式如下:當前行總寬度/目標寬度=每個圖片當前高度/變化后高度;

 ?、莸诙秸{整。根據變化后高度再等比變化各圖片寬度;

  4 操作圖示

step123
step45

  大工告成!然而深入考慮和分析,還總結出一些別的問題,我用了以下不同的處理方法把這些問題解決。

  5 其他問題

 ?、俑叨日{整公式會產生百分比,瀏覽器是會直接取整,因此可能會產生-2到2px的誤差;

  解決方法:調整后記錄每行誤差值gap,然后循環把gap的值分給同行每一張圖片,這樣前2張圖片可能會有±1px的圖片寬度變化,但是用戶基本覺察不了圖片的輕微拉伸變化。

 ?、谟脩魣D片數可能過少,會有圖片只有1-3張占不滿一行的情況,該怎樣顯示布局;

  解決方法:判斷只有1行圖片的時候不作布局調整,少于1行則默認顯示等高變化后的圖片即可(即只調整一次,不需要為剩余值再自適應)。

 ?、?每行調整前的剩余寬度過大,導致調整后寬高很大;

  解決方法:若調整后寬高是原始寬高的150%左右則該行舍棄,這里考慮到整體圖片質量,確保不影響圖片墻效果。

  ④ 用戶上傳的照片太小,例如16×16的小圖標,如果一樣的方式調整會與400×800這些圖片并列放大,造成很大縮放比。

  解決方法:考慮到是圖片墻的效果,一般不會有用戶傳一些其他的圖片,例如表情素材等等,同時在圖片處理時可以加一個排序,獲取了圖片寬高后把小于一定值的圖片排在最后再一起顯示;

  6 其他

  目前有2個網站已經初步實現這種效果,如百度圖片和flickr,如下圖:

baidu_layout
flick_layout

  然而,我們的布局有如下優勢:

  (1) flickr并沒有兼容到ie6-7,可是由于我們的項目一般用戶量比較大同時要考慮到所有用戶,因此有必要做到兼容ie6以上所有瀏覽器包括各種現代瀏覽器;

  (2) 百度其實并沒有做到完美的滿寬,如圖右邊,每行右邊會出現不對齊,而我們的解決方案可以避免這樣的誤差(其他問題①);

  7 總結

  這個布局的優勢顯而易見:整齊又多變,規則又繁雜,用最純粹的方式展現圖片的魅力。

  就如一個「網站版的攝影展」。

  實現如此的方案,需要細心分析,仔細考慮,繁雜的效果只會降低圖片的展現力,所以需要先做加法,豐富功能,再做減法,去其糟粕。

  demo效果請點擊這里。

  這個布局將會用在QQ空間V8版本新攝影控版式,敬請期待。

  感謝你的閱讀,本文由 騰訊ISUX 版權所有,轉載時請注明出處,違者必究,謝謝你的合作。

  注明出處格式:騰訊ISUX (http://isux.tencent.com/high-equal-response-layout-html.html)

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章給大家詳細介紹了HTML頁面跳轉及參數傳遞問題,需要的朋友參考下吧
這篇文章主要介紹了純css實現照片墻3D效果的示例代碼,可以實現鼠標經過圖片實現改變,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章主要介紹了純 Css 繪制扇形的方法示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了一份純CSS loading效果代碼示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了css 實現文字過長自動隱藏功能,需要的朋友可以參考下
本篇文章主要介紹了詳解CSS3 rem(設置字體大小) 教程,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
主站蜘蛛池模板: 国产在线不卡 | 久久久蜜桃 | 激情五月婷婷 | 一区在线播放 | 国产精品久久久久久久免费大片 | 日日人人 | 久久一区二区三区免费 | 国产成人小视频 | 日韩精品在线观看免费 | 国产高清视频在线观看 | 国产中的精品av涩差av | 一区在线视频 | 羞羞视频网站免费观看 | 色呦呦网站 | 日韩中文一区 | 日本精品在线播放 | 日本手机在线 | 中文字幕av在线一二三区 | 亚洲午夜一区二区 | 亚洲视频二区 | 精品无码久久久久久国产 | www.天天操.com| 毛片高清 | 欧美一区二区在线免费观看 | 超碰在线97国产 | 国产美女精品 | 婷婷色综合 | 男女羞羞免费视频 | 男女羞羞的网站 | 亚洲精品视频一区 | 午夜资源 | 黄网站在线播放 | 久久精品国产久精国产 | 毛片一级网站 | 九九一级片 | 日本不卡免费新一二三区 | 新91视频网| 红桃视频一区二区三区免费 | www.亚洲| 国产乱码一二三区精品 | 午夜在线小视频 |